/*
* Copyright 2015 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.block.factory.PrimitiveFunctions;
import com.gs.collections.impl.test.Verify;
import org.junit.Test;
public class PrimitiveFunctionsSerializationTest
{
@Test
public void integerIsPositive()
{
Verify.assertSerializedForm(
1L,
"rO0ABXNyAEpjb20uZ3MuY29sbGVjdGlvbnMuaW1wbC5ibG9jay5mYWN0b3J5LlByaW1pdGl2ZUZ1\n"
+ "bmN0aW9ucyRJbnRlZ2VySXNQb3NpdGl2ZQAAAAAAAAABAgAAeHA=",
PrimitiveFunctions.integerIsPositive());
}
@Test
public void unboxNumberToInt()
{
Verify.assertSerializedForm(
1L,
"rO0ABXNyAEljb20uZ3MuY29sbGVjdGlvbnMuaW1wbC5ibG9jay5mYWN0b3J5LlByaW1pdGl2ZUZ1\n"
+ "bmN0aW9ucyRVbmJveE51bWJlclRvSW50AAAAAAAAAAECAAB4cA==",
PrimitiveFunctions.unboxNumberToInt());
}
@Test
public void unboxIntegerToByte()
{
Verify.assertSerializedForm(
1L,
"rO0ABXNyAEtjb20uZ3MuY29sbGVjdGlvbnMuaW1wbC5ibG9jay5mYWN0b3J5LlByaW1pdGl2ZUZ1\n"
+ "bmN0aW9ucyRVbmJveEludGVnZXJUb0J5dGUAAAAAAAAAAQIAAHhw",
PrimitiveFunctions.unboxIntegerToByte());
}
@Test
public void unboxIntegerToChar()
{
Verify.assertSerializedForm(
1L,
"rO0ABXNyAEtjb20uZ3MuY29sbGVjdGlvbnMuaW1wbC5ibG9jay5mYWN0b3J5LlByaW1pdGl2ZUZ1\n"
+ "bmN0aW9ucyRVbmJveEludGVnZXJUb0NoYXIAAAAAAAAAAQIAAHhw",
PrimitiveFunctions.unboxIntegerToChar());
}
@Test
public void unboxIntegerToInt()
{
Verify.assertSerializedForm(
1L,
"rO0ABXNyAEpjb20uZ3MuY29sbGVjdGlvbnMuaW1wbC5ibG9jay5mYWN0b3J5LlByaW1pdGl2ZUZ1\n"
+ "bmN0aW9ucyRVbmJveEludGVnZXJUb0ludAAAAAAAAAABAgAAeHA=",
PrimitiveFunctions.unboxIntegerToInt());
}
@Test
public void unboxNumberToFloat()
{
Verify.assertSerializedForm(
1L,
"rO0ABXNyAEtjb20uZ3MuY29sbGVjdGlvbnMuaW1wbC5ibG9jay5mYWN0b3J5LlByaW1pdGl2ZUZ1\n"
+ "bmN0aW9ucyRVbmJveE51bWJlclRvRmxvYXQAAAAAAAAAAQIAAHhw",
PrimitiveFunctions.unboxNumberToFloat());
}
@Test
public void unboxNumberToLong()
{
Verify.assertSerializedForm(
1L,
"rO0ABXNyAEpjb20uZ3MuY29sbGVjdGlvbnMuaW1wbC5ibG9jay5mYWN0b3J5LlByaW1pdGl2ZUZ1\n"
+ "bmN0aW9ucyRVbmJveE51bWJlclRvTG9uZwAAAAAAAAABAgAAeHA=",
PrimitiveFunctions.unboxNumberToLong());
}
@Test
public void unboxNumberToDouble()
{
Verify.assertSerializedForm(
1L,
"rO0ABXNyAExjb20uZ3MuY29sbGVjdGlvbnMuaW1wbC5ibG9jay5mYWN0b3J5LlByaW1pdGl2ZUZ1\n"
+ "bmN0aW9ucyRVbmJveE51bWJlclRvRG91YmxlAAAAAAAAAAECAAB4cA==",
PrimitiveFunctions.unboxNumberToDouble());
}
@Test
public void unboxIntegerToFloat()
{
Verify.assertSerializedForm(
1L,
"rO0ABXNyAExjb20uZ3MuY29sbGVjdGlvbnMuaW1wbC5ibG9jay5mYWN0b3J5LlByaW1pdGl2ZUZ1\n"
+ "bmN0aW9ucyRVbmJveEludGVnZXJUb0Zsb2F0AAAAAAAAAAECAAB4cA==",
PrimitiveFunctions.unboxIntegerToFloat());
}
@Test
public void unboxIntegerToLong()
{
Verify.assertSerializedForm(
1L,
"rO0ABXNyAEtjb20uZ3MuY29sbGVjdGlvbnMuaW1wbC5ibG9jay5mYWN0b3J5LlByaW1pdGl2ZUZ1\n"
+ "bmN0aW9ucyRVbmJveEludGVnZXJUb0xvbmcAAAAAAAAAAQIAAHhw",
PrimitiveFunctions.unboxIntegerToLong());
}
@Test
public void unboxIntegerToShort()
{
Verify.assertSerializedForm(
1L,
"rO0ABXNyAExjb20uZ3MuY29sbGVjdGlvbnMuaW1wbC5ibG9jay5mYWN0b3J5LlByaW1pdGl2ZUZ1\n"
+ "bmN0aW9ucyRVbmJveEludGVnZXJUb1Nob3J0AAAAAAAAAAECAAB4cA==",
PrimitiveFunctions.unboxIntegerToShort());
}
@Test
public void unboxIntegerToDouble()
{
Verify.assertSerializedForm(
1L,
"rO0ABXNyAE1jb20uZ3MuY29sbGVjdGlvbnMuaW1wbC5ibG9jay5mYWN0b3J5LlByaW1pdGl2ZUZ1\n"
+ "bmN0aW9ucyRVbmJveEludGVnZXJUb0RvdWJsZQAAAAAAAAABAgAAeHA=",
PrimitiveFunctions.unboxIntegerToDouble());
}
@Test
public void unboxDoubleToDouble()
{
Verify.assertSerializedForm(
1L,
"rO0ABXNyAExjb20uZ3MuY29sbGVjdGlvbnMuaW1wbC5ibG9jay5mYWN0b3J5LlByaW1pdGl2ZUZ1\n"
+ "bmN0aW9ucyRVbmJveERvdWJsZVRvRG91YmxlAAAAAAAAAAECAAB4cA==",
PrimitiveFunctions.unboxDoubleToDouble());
}
@Test
public void unboxFloatToFloat()
{
Verify.assertSerializedForm(
1L,
"rO0ABXNyAEpjb20uZ3MuY29sbGVjdGlvbnMuaW1wbC5ibG9jay5mYWN0b3J5LlByaW1pdGl2ZUZ1\n"
+ "bmN0aW9ucyRVbmJveEZsb2F0VG9GbG9hdAAAAAAAAAABAgAAeHA=",
PrimitiveFunctions.unboxFloatToFloat());
}
@Test
public void sumByInt()
{
Verify.assertSerializedForm(
1L,
"rO0ABXNyADpjb20uZ3MuY29sbGVjdGlvbnMuaW1wbC5ibG9jay5mYWN0b3J5LlByaW1pdGl2ZUZ1\n"
+ "bmN0aW9ucyQxAAAAAAAAAAECAAJMAAx2YWwkZnVuY3Rpb250AD1MY29tL2dzL2NvbGxlY3Rpb25z\n"
+ "L2FwaS9ibG9jay9mdW5jdGlvbi9wcmltaXRpdmUvSW50RnVuY3Rpb247TAALdmFsJGdyb3VwQnl0\n"
+ "ADBMY29tL2dzL2NvbGxlY3Rpb25zL2FwaS9ibG9jay9mdW5jdGlvbi9GdW5jdGlvbjt4cHBw",
PrimitiveFunctions.sumByIntFunction(null, null));
}
@Test
public void sumByLong()
{
Verify.assertSerializedForm(
1L,
"rO0ABXNyADpjb20uZ3MuY29sbGVjdGlvbnMuaW1wbC5ibG9jay5mYWN0b3J5LlByaW1pdGl2ZUZ1\n"
+ "bmN0aW9ucyQzAAAAAAAAAAECAAJMAAx2YWwkZnVuY3Rpb250AD5MY29tL2dzL2NvbGxlY3Rpb25z\n"
+ "L2FwaS9ibG9jay9mdW5jdGlvbi9wcmltaXRpdmUvTG9uZ0Z1bmN0aW9uO0wAC3ZhbCRncm91cEJ5\n"
+ "dAAwTGNvbS9ncy9jb2xsZWN0aW9ucy9hcGkvYmxvY2svZnVuY3Rpb24vRnVuY3Rpb247eHBwcA==\n",
PrimitiveFunctions.sumByLongFunction(null, null));
}
@Test
public void sumByFloat()
{
Verify.assertSerializedForm(
1L,
"rO0ABXNyADpjb20uZ3MuY29sbGVjdGlvbnMuaW1wbC5ibG9jay5mYWN0b3J5LlByaW1pdGl2ZUZ1\n"
+ "bmN0aW9ucyQyAAAAAAAAAAECAANMAAxjb21wZW5zYXRpb250AD1MY29tL2dzL2NvbGxlY3Rpb25z\n"
+ "L2FwaS9tYXAvcHJpbWl0aXZlL011dGFibGVPYmplY3REb3VibGVNYXA7TAAMdmFsJGZ1bmN0aW9u\n"
+ "dAA/TGNvbS9ncy9jb2xsZWN0aW9ucy9hcGkvYmxvY2svZnVuY3Rpb24vcHJpbWl0aXZlL0Zsb2F0\n"
+ "RnVuY3Rpb247TAALdmFsJGdyb3VwQnl0ADBMY29tL2dzL2NvbGxlY3Rpb25zL2FwaS9ibG9jay9m\n"
+ "dW5jdGlvbi9GdW5jdGlvbjt4cHNyAEFjb20uZ3MuY29sbGVjdGlvbnMuaW1wbC5tYXAubXV0YWJs\n"
+ "ZS5wcmltaXRpdmUuT2JqZWN0RG91YmxlSGFzaE1hcAAAAAAAAAABDAAAeHB3BAAAAAB4cHA=",
PrimitiveFunctions.sumByFloatFunction(null, null));
}
@Test
public void sumByDouble()
{
Verify.assertSerializedForm(
1L,
"rO0ABXNyADpjb20uZ3MuY29sbGVjdGlvbnMuaW1wbC5ibG9jay5mYWN0b3J5LlByaW1pdGl2ZUZ1\n"
+ "bmN0aW9ucyQ0AAAAAAAAAAECAANMAAxjb21wZW5zYXRpb250AD1MY29tL2dzL2NvbGxlY3Rpb25z\n"
+ "L2FwaS9tYXAvcHJpbWl0aXZlL011dGFibGVPYmplY3REb3VibGVNYXA7TAAMdmFsJGZ1bmN0aW9u\n"
+ "dABATGNvbS9ncy9jb2xsZWN0aW9ucy9hcGkvYmxvY2svZnVuY3Rpb24vcHJpbWl0aXZlL0RvdWJs\n"
+ "ZUZ1bmN0aW9uO0wAC3ZhbCRncm91cEJ5dAAwTGNvbS9ncy9jb2xsZWN0aW9ucy9hcGkvYmxvY2sv\n"
+ "ZnVuY3Rpb24vRnVuY3Rpb247eHBzcgBBY29tLmdzLmNvbGxlY3Rpb25zLmltcGwubWFwLm11dGFi\n"
+ "bGUucHJpbWl0aXZlLk9iamVjdERvdWJsZUhhc2hNYXAAAAAAAAAAAQwAAHhwdwQAAAAAeHBw",
PrimitiveFunctions.sumByDoubleFunction(null, null));
}
}