/* * Copyright 2013 Goldman Sachs. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package com.gs.collections.impl.block.factory.primitive; import com.gs.collections.impl.test.Verify; import org.junit.Test; public class IntPredicatesSerializationTest { @Test public void alwaysFalse() { Verify.assertSerializedForm( 1L, "rO0ABXNyAFVjb20uZ3MuY29sbGVjdGlvbnMuaW1wbC5ibG9jay5mYWN0b3J5LnByaW1pdGl2ZS5J\n" + "bnRQcmVkaWNhdGVzJEFsd2F5c0ZhbHNlSW50UHJlZGljYXRlAAAAAAAAAAECAAB4cA==", IntPredicates.alwaysFalse()); } @Test public void alwaysTrue() { Verify.assertSerializedForm( 1L, "rO0ABXNyAFRjb20uZ3MuY29sbGVjdGlvbnMuaW1wbC5ibG9jay5mYWN0b3J5LnByaW1pdGl2ZS5J\n" + "bnRQcmVkaWNhdGVzJEFsd2F5c1RydWVJbnRQcmVkaWNhdGUAAAAAAAAAAQIAAHhw", IntPredicates.alwaysTrue()); } @Test public void equal() { Verify.assertSerializedForm( 1L, "rO0ABXNyAFBjb20uZ3MuY29sbGVjdGlvbnMuaW1wbC5ibG9jay5mYWN0b3J5LnByaW1pdGl2ZS5J\n" + "bnRQcmVkaWNhdGVzJEVxdWFsc0ludFByZWRpY2F0ZQAAAAAAAAABAgABSQAIZXhwZWN0ZWR4cAAA\n" + "AAA=", IntPredicates.equal(0)); } @Test public void lessThan() { Verify.assertSerializedForm( 1L, "rO0ABXNyAFJjb20uZ3MuY29sbGVjdGlvbnMuaW1wbC5ibG9jay5mYWN0b3J5LnByaW1pdGl2ZS5J\n" + "bnRQcmVkaWNhdGVzJExlc3NUaGFuSW50UHJlZGljYXRlAAAAAAAAAAECAAFJAAhleHBlY3RlZHhw\n" + "AAAAAA==", IntPredicates.lessThan(0)); } @Test public void greaterThan() { Verify.assertSerializedForm( 1L, "rO0ABXNyAFVjb20uZ3MuY29sbGVjdGlvbnMuaW1wbC5ibG9jay5mYWN0b3J5LnByaW1pdGl2ZS5J\n" + "bnRQcmVkaWNhdGVzJEdyZWF0ZXJUaGFuSW50UHJlZGljYXRlAAAAAAAAAAECAAFJAAhleHBlY3Rl\n" + "ZHhwAAAAAA==", IntPredicates.greaterThan(0)); } @Test public void isEven() { Verify.assertSerializedForm( 1L, "rO0ABXNyAFBjb20uZ3MuY29sbGVjdGlvbnMuaW1wbC5ibG9jay5mYWN0b3J5LnByaW1pdGl2ZS5J\n" + "bnRQcmVkaWNhdGVzJEludElzRXZlblByZWRpY2F0ZQAAAAAAAAABAgAAeHA=", IntPredicates.isEven()); } @Test public void isOdd() { Verify.assertSerializedForm( 1L, "rO0ABXNyAE9jb20uZ3MuY29sbGVjdGlvbnMuaW1wbC5ibG9jay5mYWN0b3J5LnByaW1pdGl2ZS5J\n" + "bnRQcmVkaWNhdGVzJEludElzT2RkUHJlZGljYXRlAAAAAAAAAAECAAB4cA==", IntPredicates.isOdd()); } @Test public void and() { Verify.assertSerializedForm( 1L, "rO0ABXNyAE1jb20uZ3MuY29sbGVjdGlvbnMuaW1wbC5ibG9jay5mYWN0b3J5LnByaW1pdGl2ZS5J\n" + "bnRQcmVkaWNhdGVzJEFuZEludFByZWRpY2F0ZQAAAAAAAAABAgACTAADb25ldAA/TGNvbS9ncy9j\n" + "b2xsZWN0aW9ucy9hcGkvYmxvY2svcHJlZGljYXRlL3ByaW1pdGl2ZS9JbnRQcmVkaWNhdGU7TAAD\n" + "dHdvcQB+AAF4cHNyAFBjb20uZ3MuY29sbGVjdGlvbnMuaW1wbC5ibG9jay5mYWN0b3J5LnByaW1p\n" + "dGl2ZS5JbnRQcmVkaWNhdGVzJEludElzRXZlblByZWRpY2F0ZQAAAAAAAAABAgAAeHBzcgBPY29t\n" + "LmdzLmNvbGxlY3Rpb25zLmltcGwuYmxvY2suZmFjdG9yeS5wcmltaXRpdmUuSW50UHJlZGljYXRl\n" + "cyRJbnRJc09kZFByZWRpY2F0ZQAAAAAAAAABAgAAeHA=", IntPredicates.and(IntPredicates.isEven(), IntPredicates.isOdd())); } @Test public void or() { Verify.assertSerializedForm( 1L, "rO0ABXNyAExjb20uZ3MuY29sbGVjdGlvbnMuaW1wbC5ibG9jay5mYWN0b3J5LnByaW1pdGl2ZS5J\n" + "bnRQcmVkaWNhdGVzJE9ySW50UHJlZGljYXRlAAAAAAAAAAECAAJMAANvbmV0AD9MY29tL2dzL2Nv\n" + "bGxlY3Rpb25zL2FwaS9ibG9jay9wcmVkaWNhdGUvcHJpbWl0aXZlL0ludFByZWRpY2F0ZTtMAAN0\n" + "d29xAH4AAXhwc3IAUGNvbS5ncy5jb2xsZWN0aW9ucy5pbXBsLmJsb2NrLmZhY3RvcnkucHJpbWl0\n" + "aXZlLkludFByZWRpY2F0ZXMkSW50SXNFdmVuUHJlZGljYXRlAAAAAAAAAAECAAB4cHNyAE9jb20u\n" + "Z3MuY29sbGVjdGlvbnMuaW1wbC5ibG9jay5mYWN0b3J5LnByaW1pdGl2ZS5JbnRQcmVkaWNhdGVz\n" + "JEludElzT2RkUHJlZGljYXRlAAAAAAAAAAECAAB4cA==", IntPredicates.or(IntPredicates.isEven(), IntPredicates.isOdd())); } @Test public void not() { Verify.assertSerializedForm( 1L, "rO0ABXNyAE1jb20uZ3MuY29sbGVjdGlvbnMuaW1wbC5ibG9jay5mYWN0b3J5LnByaW1pdGl2ZS5J\n" + "bnRQcmVkaWNhdGVzJE5vdEludFByZWRpY2F0ZQAAAAAAAAABAgABTAAGbmVnYXRldAA/TGNvbS9n\n" + "cy9jb2xsZWN0aW9ucy9hcGkvYmxvY2svcHJlZGljYXRlL3ByaW1pdGl2ZS9JbnRQcmVkaWNhdGU7\n" + "eHBzcgBQY29tLmdzLmNvbGxlY3Rpb25zLmltcGwuYmxvY2suZmFjdG9yeS5wcmltaXRpdmUuSW50\n" + "UHJlZGljYXRlcyRJbnRJc0V2ZW5QcmVkaWNhdGUAAAAAAAAAAQIAAHhw", IntPredicates.not(IntPredicates.isEven())); } }