/* * 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 DoublePredicatesSerializationTest { @Test public void alwaysFalse() { Verify.assertSerializedForm( 1L, "rO0ABXNyAFtjb20uZ3MuY29sbGVjdGlvbnMuaW1wbC5ibG9jay5mYWN0b3J5LnByaW1pdGl2ZS5E\n" + "b3VibGVQcmVkaWNhdGVzJEFsd2F5c0ZhbHNlRG91YmxlUHJlZGljYXRlAAAAAAAAAAECAAB4cA==\n", DoublePredicates.alwaysFalse()); } @Test public void alwaysTrue() { Verify.assertSerializedForm( 1L, "rO0ABXNyAFpjb20uZ3MuY29sbGVjdGlvbnMuaW1wbC5ibG9jay5mYWN0b3J5LnByaW1pdGl2ZS5E\n" + "b3VibGVQcmVkaWNhdGVzJEFsd2F5c1RydWVEb3VibGVQcmVkaWNhdGUAAAAAAAAAAQIAAHhw", DoublePredicates.alwaysTrue()); } @Test public void equal() { Verify.assertSerializedForm( 1L, "rO0ABXNyAFZjb20uZ3MuY29sbGVjdGlvbnMuaW1wbC5ibG9jay5mYWN0b3J5LnByaW1pdGl2ZS5E\n" + "b3VibGVQcmVkaWNhdGVzJEVxdWFsc0RvdWJsZVByZWRpY2F0ZQAAAAAAAAABAgABRAAIZXhwZWN0\n" + "ZWR4cAAAAAAAAAAA", DoublePredicates.equal(0.0)); } @Test public void lessThan() { Verify.assertSerializedForm( 1L, "rO0ABXNyAFhjb20uZ3MuY29sbGVjdGlvbnMuaW1wbC5ibG9jay5mYWN0b3J5LnByaW1pdGl2ZS5E\n" + "b3VibGVQcmVkaWNhdGVzJExlc3NUaGFuRG91YmxlUHJlZGljYXRlAAAAAAAAAAECAAFEAAhleHBl\n" + "Y3RlZHhwAAAAAAAAAAA=", DoublePredicates.lessThan(0.0)); } @Test public void greaterThan() { Verify.assertSerializedForm( 1L, "rO0ABXNyAFtjb20uZ3MuY29sbGVjdGlvbnMuaW1wbC5ibG9jay5mYWN0b3J5LnByaW1pdGl2ZS5E\n" + "b3VibGVQcmVkaWNhdGVzJEdyZWF0ZXJUaGFuRG91YmxlUHJlZGljYXRlAAAAAAAAAAECAAFEAAhl\n" + "eHBlY3RlZHhwAAAAAAAAAAA=", DoublePredicates.greaterThan(0.0)); } @Test public void and() { Verify.assertSerializedForm( 1L, "rO0ABXNyAFNjb20uZ3MuY29sbGVjdGlvbnMuaW1wbC5ibG9jay5mYWN0b3J5LnByaW1pdGl2ZS5E\n" + "b3VibGVQcmVkaWNhdGVzJEFuZERvdWJsZVByZWRpY2F0ZQAAAAAAAAABAgACTAADb25ldABCTGNv\n" + "bS9ncy9jb2xsZWN0aW9ucy9hcGkvYmxvY2svcHJlZGljYXRlL3ByaW1pdGl2ZS9Eb3VibGVQcmVk\n" + "aWNhdGU7TAADdHdvcQB+AAF4cHNyAFhjb20uZ3MuY29sbGVjdGlvbnMuaW1wbC5ibG9jay5mYWN0\n" + "b3J5LnByaW1pdGl2ZS5Eb3VibGVQcmVkaWNhdGVzJExlc3NUaGFuRG91YmxlUHJlZGljYXRlAAAA\n" + "AAAAAAECAAFEAAhleHBlY3RlZHhwAAAAAAAAAABzcQB+AAMAAAAAAAAAAA==", DoublePredicates.and(DoublePredicates.lessThan(0.0), DoublePredicates.lessThan(0.0))); } @Test public void or() { Verify.assertSerializedForm( 1L, "rO0ABXNyAFJjb20uZ3MuY29sbGVjdGlvbnMuaW1wbC5ibG9jay5mYWN0b3J5LnByaW1pdGl2ZS5E\n" + "b3VibGVQcmVkaWNhdGVzJE9yRG91YmxlUHJlZGljYXRlAAAAAAAAAAECAAJMAANvbmV0AEJMY29t\n" + "L2dzL2NvbGxlY3Rpb25zL2FwaS9ibG9jay9wcmVkaWNhdGUvcHJpbWl0aXZlL0RvdWJsZVByZWRp\n" + "Y2F0ZTtMAAN0d29xAH4AAXhwc3IAWGNvbS5ncy5jb2xsZWN0aW9ucy5pbXBsLmJsb2NrLmZhY3Rv\n" + "cnkucHJpbWl0aXZlLkRvdWJsZVByZWRpY2F0ZXMkTGVzc1RoYW5Eb3VibGVQcmVkaWNhdGUAAAAA\n" + "AAAAAQIAAUQACGV4cGVjdGVkeHAAAAAAAAAAAHNxAH4AAwAAAAAAAAAA", DoublePredicates.or(DoublePredicates.lessThan(0.0), DoublePredicates.lessThan(0.0))); } @Test public void not() { Verify.assertSerializedForm( 1L, "rO0ABXNyAFNjb20uZ3MuY29sbGVjdGlvbnMuaW1wbC5ibG9jay5mYWN0b3J5LnByaW1pdGl2ZS5E\n" + "b3VibGVQcmVkaWNhdGVzJE5vdERvdWJsZVByZWRpY2F0ZQAAAAAAAAABAgABTAAGbmVnYXRldABC\n" + "TGNvbS9ncy9jb2xsZWN0aW9ucy9hcGkvYmxvY2svcHJlZGljYXRlL3ByaW1pdGl2ZS9Eb3VibGVQ\n" + "cmVkaWNhdGU7eHBzcgBYY29tLmdzLmNvbGxlY3Rpb25zLmltcGwuYmxvY2suZmFjdG9yeS5wcmlt\n" + "aXRpdmUuRG91YmxlUHJlZGljYXRlcyRMZXNzVGhhbkRvdWJsZVByZWRpY2F0ZQAAAAAAAAABAgAB\n" + "RAAIZXhwZWN0ZWR4cAAAAAAAAAAA", DoublePredicates.not(DoublePredicates.lessThan(0.0))); } }