/* * 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 ShortPredicatesSerializationTest { @Test public void alwaysFalse() { Verify.assertSerializedForm( 1L, "rO0ABXNyAFljb20uZ3MuY29sbGVjdGlvbnMuaW1wbC5ibG9jay5mYWN0b3J5LnByaW1pdGl2ZS5T\n" + "aG9ydFByZWRpY2F0ZXMkQWx3YXlzRmFsc2VTaG9ydFByZWRpY2F0ZQAAAAAAAAABAgAAeHA=", ShortPredicates.alwaysFalse()); } @Test public void alwaysTrue() { Verify.assertSerializedForm( 1L, "rO0ABXNyAFhjb20uZ3MuY29sbGVjdGlvbnMuaW1wbC5ibG9jay5mYWN0b3J5LnByaW1pdGl2ZS5T\n" + "aG9ydFByZWRpY2F0ZXMkQWx3YXlzVHJ1ZVNob3J0UHJlZGljYXRlAAAAAAAAAAECAAB4cA==", ShortPredicates.alwaysTrue()); } @Test public void equal() { Verify.assertSerializedForm( 1L, "rO0ABXNyAFRjb20uZ3MuY29sbGVjdGlvbnMuaW1wbC5ibG9jay5mYWN0b3J5LnByaW1pdGl2ZS5T\n" + "aG9ydFByZWRpY2F0ZXMkRXF1YWxzU2hvcnRQcmVkaWNhdGUAAAAAAAAAAQIAAVMACGV4cGVjdGVk\n" + "eHAAAA==", ShortPredicates.equal((short) 0)); } @Test public void lessThan() { Verify.assertSerializedForm( 1L, "rO0ABXNyAFZjb20uZ3MuY29sbGVjdGlvbnMuaW1wbC5ibG9jay5mYWN0b3J5LnByaW1pdGl2ZS5T\n" + "aG9ydFByZWRpY2F0ZXMkTGVzc1RoYW5TaG9ydFByZWRpY2F0ZQAAAAAAAAABAgABUwAIZXhwZWN0\n" + "ZWR4cAAA", ShortPredicates.lessThan((short) 0)); } @Test public void greaterThan() { Verify.assertSerializedForm( 1L, "rO0ABXNyAFljb20uZ3MuY29sbGVjdGlvbnMuaW1wbC5ibG9jay5mYWN0b3J5LnByaW1pdGl2ZS5T\n" + "aG9ydFByZWRpY2F0ZXMkR3JlYXRlclRoYW5TaG9ydFByZWRpY2F0ZQAAAAAAAAABAgABUwAIZXhw\n" + "ZWN0ZWR4cAAA", ShortPredicates.greaterThan((short) 0)); } @Test public void isEven() { Verify.assertSerializedForm( 1L, "rO0ABXNyAFRjb20uZ3MuY29sbGVjdGlvbnMuaW1wbC5ibG9jay5mYWN0b3J5LnByaW1pdGl2ZS5T\n" + "aG9ydFByZWRpY2F0ZXMkU2hvcnRJc0V2ZW5QcmVkaWNhdGUAAAAAAAAAAQIAAHhw", ShortPredicates.isEven()); } @Test public void isOdd() { Verify.assertSerializedForm( 1L, "rO0ABXNyAFNjb20uZ3MuY29sbGVjdGlvbnMuaW1wbC5ibG9jay5mYWN0b3J5LnByaW1pdGl2ZS5T\n" + "aG9ydFByZWRpY2F0ZXMkU2hvcnRJc09kZFByZWRpY2F0ZQAAAAAAAAABAgAAeHA=", ShortPredicates.isOdd()); } @Test public void and() { Verify.assertSerializedForm( 1L, "rO0ABXNyAFFjb20uZ3MuY29sbGVjdGlvbnMuaW1wbC5ibG9jay5mYWN0b3J5LnByaW1pdGl2ZS5T\n" + "aG9ydFByZWRpY2F0ZXMkQW5kU2hvcnRQcmVkaWNhdGUAAAAAAAAAAQIAAkwAA29uZXQAQUxjb20v\n" + "Z3MvY29sbGVjdGlvbnMvYXBpL2Jsb2NrL3ByZWRpY2F0ZS9wcmltaXRpdmUvU2hvcnRQcmVkaWNh\n" + "dGU7TAADdHdvcQB+AAF4cHNyAFRjb20uZ3MuY29sbGVjdGlvbnMuaW1wbC5ibG9jay5mYWN0b3J5\n" + "LnByaW1pdGl2ZS5TaG9ydFByZWRpY2F0ZXMkU2hvcnRJc0V2ZW5QcmVkaWNhdGUAAAAAAAAAAQIA\n" + "AHhwc3IAU2NvbS5ncy5jb2xsZWN0aW9ucy5pbXBsLmJsb2NrLmZhY3RvcnkucHJpbWl0aXZlLlNo\n" + "b3J0UHJlZGljYXRlcyRTaG9ydElzT2RkUHJlZGljYXRlAAAAAAAAAAECAAB4cA==", ShortPredicates.and(ShortPredicates.isEven(), ShortPredicates.isOdd())); } @Test public void or() { Verify.assertSerializedForm( 1L, "rO0ABXNyAFBjb20uZ3MuY29sbGVjdGlvbnMuaW1wbC5ibG9jay5mYWN0b3J5LnByaW1pdGl2ZS5T\n" + "aG9ydFByZWRpY2F0ZXMkT3JTaG9ydFByZWRpY2F0ZQAAAAAAAAABAgACTAADb25ldABBTGNvbS9n\n" + "cy9jb2xsZWN0aW9ucy9hcGkvYmxvY2svcHJlZGljYXRlL3ByaW1pdGl2ZS9TaG9ydFByZWRpY2F0\n" + "ZTtMAAN0d29xAH4AAXhwc3IAVGNvbS5ncy5jb2xsZWN0aW9ucy5pbXBsLmJsb2NrLmZhY3Rvcnku\n" + "cHJpbWl0aXZlLlNob3J0UHJlZGljYXRlcyRTaG9ydElzRXZlblByZWRpY2F0ZQAAAAAAAAABAgAA\n" + "eHBzcgBTY29tLmdzLmNvbGxlY3Rpb25zLmltcGwuYmxvY2suZmFjdG9yeS5wcmltaXRpdmUuU2hv\n" + "cnRQcmVkaWNhdGVzJFNob3J0SXNPZGRQcmVkaWNhdGUAAAAAAAAAAQIAAHhw", ShortPredicates.or(ShortPredicates.isEven(), ShortPredicates.isOdd())); } @Test public void not() { Verify.assertSerializedForm( 1L, "rO0ABXNyAFFjb20uZ3MuY29sbGVjdGlvbnMuaW1wbC5ibG9jay5mYWN0b3J5LnByaW1pdGl2ZS5T\n" + "aG9ydFByZWRpY2F0ZXMkTm90U2hvcnRQcmVkaWNhdGUAAAAAAAAAAQIAAUwABm5lZ2F0ZXQAQUxj\n" + "b20vZ3MvY29sbGVjdGlvbnMvYXBpL2Jsb2NrL3ByZWRpY2F0ZS9wcmltaXRpdmUvU2hvcnRQcmVk\n" + "aWNhdGU7eHBzcgBUY29tLmdzLmNvbGxlY3Rpb25zLmltcGwuYmxvY2suZmFjdG9yeS5wcmltaXRp\n" + "dmUuU2hvcnRQcmVkaWNhdGVzJFNob3J0SXNFdmVuUHJlZGljYXRlAAAAAAAAAAECAAB4cA==", ShortPredicates.not(ShortPredicates.isEven())); } }