/* * Copyright 2011 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; import com.gs.collections.impl.test.Verify; import org.junit.Test; public class StringPredicatesSerializationTest { @Test public void empty() { Verify.assertSerializedForm( 1L, "rO0ABXNyADxjb20uZ3MuY29sbGVjdGlvbnMuaW1wbC5ibG9jay5mYWN0b3J5LlN0cmluZ1ByZWRp\n" + "Y2F0ZXMkRW1wdHkAAAAAAAAAAQIAAHhyADBjb20uZ3MuY29sbGVjdGlvbnMuaW1wbC5ibG9jay5m\n" + "YWN0b3J5LlByZWRpY2F0ZXMAAAAAAAAAAQIAAHhw", StringPredicates.empty()); } @Test public void notEmpty() { Verify.assertSerializedForm( 1L, "rO0ABXNyAD9jb20uZ3MuY29sbGVjdGlvbnMuaW1wbC5ibG9jay5mYWN0b3J5LlN0cmluZ1ByZWRp\n" + "Y2F0ZXMkTm90RW1wdHkAAAAAAAAAAQIAAHhyADBjb20uZ3MuY29sbGVjdGlvbnMuaW1wbC5ibG9j\n" + "ay5mYWN0b3J5LlByZWRpY2F0ZXMAAAAAAAAAAQIAAHhw", StringPredicates.notEmpty()); } @Test public void containsCharacter() { Verify.assertSerializedForm( 1L, "rO0ABXNyAEhjb20uZ3MuY29sbGVjdGlvbnMuaW1wbC5ibG9jay5mYWN0b3J5LlN0cmluZ1ByZWRp\n" + "Y2F0ZXMkQ29udGFpbnNDaGFyYWN0ZXIAAAAAAAAAAQIAAUMACWNoYXJhY3RlcnhyADBjb20uZ3Mu\n" + "Y29sbGVjdGlvbnMuaW1wbC5ibG9jay5mYWN0b3J5LlByZWRpY2F0ZXMAAAAAAAAAAQIAAHhwACA=\n", StringPredicates.contains(' ')); } @Test public void containsString() { Verify.assertSerializedForm( 1L, "rO0ABXNyAEVjb20uZ3MuY29sbGVjdGlvbnMuaW1wbC5ibG9jay5mYWN0b3J5LlN0cmluZ1ByZWRp\n" + "Y2F0ZXMkQ29udGFpbnNTdHJpbmcAAAAAAAAAAQIAAUwAC290aGVyU3RyaW5ndAASTGphdmEvbGFu\n" + "Zy9TdHJpbmc7eHIAMGNvbS5ncy5jb2xsZWN0aW9ucy5pbXBsLmJsb2NrLmZhY3RvcnkuUHJlZGlj\n" + "YXRlcwAAAAAAAAABAgAAeHBw", StringPredicates.contains(null)); } @Test public void startsWith() { Verify.assertSerializedForm( 1L, "rO0ABXNyAEFjb20uZ3MuY29sbGVjdGlvbnMuaW1wbC5ibG9jay5mYWN0b3J5LlN0cmluZ1ByZWRp\n" + "Y2F0ZXMkU3RhcnRzV2l0aAAAAAAAAAABAgABTAAJc3Vic3RyaW5ndAASTGphdmEvbGFuZy9TdHJp\n" + "bmc7eHIAMGNvbS5ncy5jb2xsZWN0aW9ucy5pbXBsLmJsb2NrLmZhY3RvcnkuUHJlZGljYXRlcwAA\n" + "AAAAAAABAgAAeHBw", StringPredicates.startsWith(null)); } @Test public void endsWith() { Verify.assertSerializedForm( 1L, "rO0ABXNyAD9jb20uZ3MuY29sbGVjdGlvbnMuaW1wbC5ibG9jay5mYWN0b3J5LlN0cmluZ1ByZWRp\n" + "Y2F0ZXMkRW5kc1dpdGgAAAAAAAAAAQIAAUwACXN1YnN0cmluZ3QAEkxqYXZhL2xhbmcvU3RyaW5n\n" + "O3hyADBjb20uZ3MuY29sbGVjdGlvbnMuaW1wbC5ibG9jay5mYWN0b3J5LlByZWRpY2F0ZXMAAAAA\n" + "AAAAAQIAAHhwcA==", StringPredicates.endsWith(null)); } @Test public void equalsIgnoreCase() { Verify.assertSerializedForm( 1L, "rO0ABXNyAEdjb20uZ3MuY29sbGVjdGlvbnMuaW1wbC5ibG9jay5mYWN0b3J5LlN0cmluZ1ByZWRp\n" + "Y2F0ZXMkRXF1YWxzSWdub3JlQ2FzZQAAAAAAAAABAgABTAALb3RoZXJTdHJpbmd0ABJMamF2YS9s\n" + "YW5nL1N0cmluZzt4cgAwY29tLmdzLmNvbGxlY3Rpb25zLmltcGwuYmxvY2suZmFjdG9yeS5QcmVk\n" + "aWNhdGVzAAAAAAAAAAECAAB4cHA=", StringPredicates.equalsIgnoreCase(null)); } @Test public void matches() { Verify.assertSerializedForm( 1L, "rO0ABXNyAENjb20uZ3MuY29sbGVjdGlvbnMuaW1wbC5ibG9jay5mYWN0b3J5LlN0cmluZ1ByZWRp\n" + "Y2F0ZXMkTWF0Y2hlc1JlZ2V4AAAAAAAAAAECAAFMAAVyZWdleHQAEkxqYXZhL2xhbmcvU3RyaW5n\n" + "O3hyADBjb20uZ3MuY29sbGVjdGlvbnMuaW1wbC5ibG9jay5mYWN0b3J5LlByZWRpY2F0ZXMAAAAA\n" + "AAAAAQIAAHhwcA==", StringPredicates.matches(null)); } @Test public void lessThan() { Verify.assertSerializedForm( 1L, "rO0ABXNyAD9jb20uZ3MuY29sbGVjdGlvbnMuaW1wbC5ibG9jay5mYWN0b3J5LlN0cmluZ1ByZWRp\n" + "Y2F0ZXMkTGVzc1RoYW4AAAAAAAAAAQIAAUwABnN0cmluZ3QAEkxqYXZhL2xhbmcvU3RyaW5nO3hy\n" + "ADBjb20uZ3MuY29sbGVjdGlvbnMuaW1wbC5ibG9jay5mYWN0b3J5LlByZWRpY2F0ZXMAAAAAAAAA\n" + "AQIAAHhwcA==", StringPredicates.lessThan(null)); } @Test public void lessThanOrEqualTo() { Verify.assertSerializedForm( 1L, "rO0ABXNyAEhjb20uZ3MuY29sbGVjdGlvbnMuaW1wbC5ibG9jay5mYWN0b3J5LlN0cmluZ1ByZWRp\n" + "Y2F0ZXMkTGVzc1RoYW5PckVxdWFsVG8AAAAAAAAAAQIAAUwABnN0cmluZ3QAEkxqYXZhL2xhbmcv\n" + "U3RyaW5nO3hyADBjb20uZ3MuY29sbGVjdGlvbnMuaW1wbC5ibG9jay5mYWN0b3J5LlByZWRpY2F0\n" + "ZXMAAAAAAAAAAQIAAHhwcA==", StringPredicates.lessThanOrEqualTo(null)); } @Test public void greaterThan() { Verify.assertSerializedForm( 1L, "rO0ABXNyAEJjb20uZ3MuY29sbGVjdGlvbnMuaW1wbC5ibG9jay5mYWN0b3J5LlN0cmluZ1ByZWRp\n" + "Y2F0ZXMkR3JlYXRlclRoYW4AAAAAAAAAAQIAAUwABnN0cmluZ3QAEkxqYXZhL2xhbmcvU3RyaW5n\n" + "O3hyADBjb20uZ3MuY29sbGVjdGlvbnMuaW1wbC5ibG9jay5mYWN0b3J5LlByZWRpY2F0ZXMAAAAA\n" + "AAAAAQIAAHhwcA==", StringPredicates.greaterThan(null)); } @Test public void greaterThanOrEqualTo() { Verify.assertSerializedForm( 1L, "rO0ABXNyAEtjb20uZ3MuY29sbGVjdGlvbnMuaW1wbC5ibG9jay5mYWN0b3J5LlN0cmluZ1ByZWRp\n" + "Y2F0ZXMkR3JlYXRlclRoYW5PckVxdWFsVG8AAAAAAAAAAQIAAUwABnN0cmluZ3QAEkxqYXZhL2xh\n" + "bmcvU3RyaW5nO3hyADBjb20uZ3MuY29sbGVjdGlvbnMuaW1wbC5ibG9jay5mYWN0b3J5LlByZWRp\n" + "Y2F0ZXMAAAAAAAAAAQIAAHhwcA==", StringPredicates.greaterThanOrEqualTo(null)); } @Test public void hasLetters() { Verify.assertSerializedForm( 1L, "rO0ABXNyAEFjb20uZ3MuY29sbGVjdGlvbnMuaW1wbC5ibG9jay5mYWN0b3J5LlN0cmluZ1ByZWRp\n" + "Y2F0ZXMkSGFzTGV0dGVycwAAAAAAAAABAgAAeHIAMGNvbS5ncy5jb2xsZWN0aW9ucy5pbXBsLmJs\n" + "b2NrLmZhY3RvcnkuUHJlZGljYXRlcwAAAAAAAAABAgAAeHA=", StringPredicates.hasLetters()); } @Test public void hasDigits() { Verify.assertSerializedForm( 1L, "rO0ABXNyAEBjb20uZ3MuY29sbGVjdGlvbnMuaW1wbC5ibG9jay5mYWN0b3J5LlN0cmluZ1ByZWRp\n" + "Y2F0ZXMkSGFzRGlnaXRzAAAAAAAAAAECAAB4cgAwY29tLmdzLmNvbGxlY3Rpb25zLmltcGwuYmxv\n" + "Y2suZmFjdG9yeS5QcmVkaWNhdGVzAAAAAAAAAAECAAB4cA==", StringPredicates.hasDigits()); } @Test public void hasLettersOrDigits() { Verify.assertSerializedForm( 1L, "rO0ABXNyAEljb20uZ3MuY29sbGVjdGlvbnMuaW1wbC5ibG9jay5mYWN0b3J5LlN0cmluZ1ByZWRp\n" + "Y2F0ZXMkSGFzTGV0dGVyc09yRGlnaXRzAAAAAAAAAAECAAB4cgAwY29tLmdzLmNvbGxlY3Rpb25z\n" + "LmltcGwuYmxvY2suZmFjdG9yeS5QcmVkaWNhdGVzAAAAAAAAAAECAAB4cA==", StringPredicates.hasLettersOrDigits()); } @Test public void hasLettersAndDigits() { Verify.assertSerializedForm( 1L, "rO0ABXNyAEpjb20uZ3MuY29sbGVjdGlvbnMuaW1wbC5ibG9jay5mYWN0b3J5LlN0cmluZ1ByZWRp\n" + "Y2F0ZXMkSGFzTGV0dGVyc0FuZERpZ2l0cwAAAAAAAAABAgAAeHIAMGNvbS5ncy5jb2xsZWN0aW9u\n" + "cy5pbXBsLmJsb2NrLmZhY3RvcnkuUHJlZGljYXRlcwAAAAAAAAABAgAAeHA=", StringPredicates.hasLettersAndDigits()); } @Test public void hasSpaces() { Verify.assertSerializedForm( 1L, "rO0ABXNyAEBjb20uZ3MuY29sbGVjdGlvbnMuaW1wbC5ibG9jay5mYWN0b3J5LlN0cmluZ1ByZWRp\n" + "Y2F0ZXMkSGFzU3BhY2VzAAAAAAAAAAECAAB4cgAwY29tLmdzLmNvbGxlY3Rpb25zLmltcGwuYmxv\n" + "Y2suZmFjdG9yeS5QcmVkaWNhdGVzAAAAAAAAAAECAAB4cA==", StringPredicates.hasSpaces()); } @Test public void hasUpperCase() { Verify.assertSerializedForm( 1L, "rO0ABXNyAENjb20uZ3MuY29sbGVjdGlvbnMuaW1wbC5ibG9jay5mYWN0b3J5LlN0cmluZ1ByZWRp\n" + "Y2F0ZXMkSGFzVXBwZXJjYXNlAAAAAAAAAAECAAB4cgAwY29tLmdzLmNvbGxlY3Rpb25zLmltcGwu\n" + "YmxvY2suZmFjdG9yeS5QcmVkaWNhdGVzAAAAAAAAAAECAAB4cA==", StringPredicates.hasUpperCase()); } @Test public void hasLowerCase() { Verify.assertSerializedForm( 1L, "rO0ABXNyAENjb20uZ3MuY29sbGVjdGlvbnMuaW1wbC5ibG9jay5mYWN0b3J5LlN0cmluZ1ByZWRp\n" + "Y2F0ZXMkSGFzTG93ZXJjYXNlAAAAAAAAAAECAAB4cgAwY29tLmdzLmNvbGxlY3Rpb25zLmltcGwu\n" + "YmxvY2suZmFjdG9yeS5QcmVkaWNhdGVzAAAAAAAAAAECAAB4cA==", StringPredicates.hasLowerCase()); } @Test public void hasUndefined() { Verify.assertSerializedForm( 1L, "rO0ABXNyAENjb20uZ3MuY29sbGVjdGlvbnMuaW1wbC5ibG9jay5mYWN0b3J5LlN0cmluZ1ByZWRp\n" + "Y2F0ZXMkSGFzVW5kZWZpbmVkAAAAAAAAAAECAAB4cgAwY29tLmdzLmNvbGxlY3Rpb25zLmltcGwu\n" + "YmxvY2suZmFjdG9yeS5QcmVkaWNhdGVzAAAAAAAAAAECAAB4cA==", StringPredicates.hasUndefined()); } @Test public void isNumeric() { Verify.assertSerializedForm( 1L, "rO0ABXNyAEBjb20uZ3MuY29sbGVjdGlvbnMuaW1wbC5ibG9jay5mYWN0b3J5LlN0cmluZ1ByZWRp\n" + "Y2F0ZXMkSXNOdW1lcmljAAAAAAAAAAECAAB4cgAwY29tLmdzLmNvbGxlY3Rpb25zLmltcGwuYmxv\n" + "Y2suZmFjdG9yeS5QcmVkaWNhdGVzAAAAAAAAAAECAAB4cA==", StringPredicates.isNumeric()); } @Test public void isAlphanumeric() { Verify.assertSerializedForm( 1L, "rO0ABXNyAEVjb20uZ3MuY29sbGVjdGlvbnMuaW1wbC5ibG9jay5mYWN0b3J5LlN0cmluZ1ByZWRp\n" + "Y2F0ZXMkSXNBbHBoYW51bWVyaWMAAAAAAAAAAQIAAHhyADBjb20uZ3MuY29sbGVjdGlvbnMuaW1w\n" + "bC5ibG9jay5mYWN0b3J5LlByZWRpY2F0ZXMAAAAAAAAAAQIAAHhw", StringPredicates.isAlphanumeric()); } @Test public void isBlank() { Verify.assertSerializedForm( 1L, "rO0ABXNyAD5jb20uZ3MuY29sbGVjdGlvbnMuaW1wbC5ibG9jay5mYWN0b3J5LlN0cmluZ1ByZWRp\n" + "Y2F0ZXMkSXNCbGFuawAAAAAAAAABAgAAeHIAMGNvbS5ncy5jb2xsZWN0aW9ucy5pbXBsLmJsb2Nr\n" + "LmZhY3RvcnkuUHJlZGljYXRlcwAAAAAAAAABAgAAeHA=", StringPredicates.isBlank()); } @Test public void notBlank() { Verify.assertSerializedForm( 1L, "rO0ABXNyAD9jb20uZ3MuY29sbGVjdGlvbnMuaW1wbC5ibG9jay5mYWN0b3J5LlN0cmluZ1ByZWRp\n" + "Y2F0ZXMkTm90QmxhbmsAAAAAAAAAAQIAAHhyADBjb20uZ3MuY29sbGVjdGlvbnMuaW1wbC5ibG9j\n" + "ay5mYWN0b3J5LlByZWRpY2F0ZXMAAAAAAAAAAQIAAHhw", StringPredicates.notBlank()); } @Test public void isAlpha() { Verify.assertSerializedForm( 1L, "rO0ABXNyAD5jb20uZ3MuY29sbGVjdGlvbnMuaW1wbC5ibG9jay5mYWN0b3J5LlN0cmluZ1ByZWRp\n" + "Y2F0ZXMkSXNBbHBoYQAAAAAAAAABAgAAeHIAMGNvbS5ncy5jb2xsZWN0aW9ucy5pbXBsLmJsb2Nr\n" + "LmZhY3RvcnkuUHJlZGljYXRlcwAAAAAAAAABAgAAeHA=", StringPredicates.isAlpha()); } }