| package com.fasterxml.jackson.databind.util; |
| |
| import java.util.Arrays; |
| import java.util.HashSet; |
| |
| import org.junit.Assert; |
| |
| import com.fasterxml.jackson.databind.BaseMapTest; |
| import com.fasterxml.jackson.databind.util.ArrayBuilders.BooleanBuilder; |
| import com.fasterxml.jackson.databind.util.ArrayBuilders.ByteBuilder; |
| import com.fasterxml.jackson.databind.util.ArrayBuilders.DoubleBuilder; |
| import com.fasterxml.jackson.databind.util.ArrayBuilders.FloatBuilder; |
| import com.fasterxml.jackson.databind.util.ArrayBuilders.IntBuilder; |
| import com.fasterxml.jackson.databind.util.ArrayBuilders.LongBuilder; |
| import com.fasterxml.jackson.databind.util.ArrayBuilders.ShortBuilder; |
| |
| public class ArrayBuildersTest extends BaseMapTest |
| { |
| // [databind#157] |
| public void testInsertInListNoDup() |
| { |
| String [] arr = new String[]{"me", "you", "him"}; |
| String [] newarr; |
| |
| newarr = ArrayBuilders.insertInListNoDup(arr, "you"); |
| Assert.assertArrayEquals(new String[]{"you", "me", "him"}, newarr); |
| |
| newarr = ArrayBuilders.insertInListNoDup(arr, "me"); |
| Assert.assertArrayEquals(new String[]{"me", "you","him"}, newarr); |
| |
| newarr = ArrayBuilders.insertInListNoDup(arr, "him"); |
| Assert.assertArrayEquals(new String[]{"him", "me", "you"}, newarr); |
| |
| newarr = ArrayBuilders.insertInListNoDup(arr, "foobar"); |
| Assert.assertArrayEquals(new String[]{"foobar", "me", "you", "him"}, newarr); |
| } |
| |
| public void testBuilderAccess() |
| { |
| ArrayBuilders builders = new ArrayBuilders(); |
| |
| BooleanBuilder bb = builders.getBooleanBuilder(); |
| assertNotNull(bb); |
| assertSame(bb, builders.getBooleanBuilder()); |
| |
| ByteBuilder b2 = builders.getByteBuilder(); |
| assertNotNull(b2); |
| assertSame(b2, builders.getByteBuilder()); |
| |
| ShortBuilder sb = builders.getShortBuilder(); |
| assertNotNull(sb); |
| assertSame(sb, builders.getShortBuilder()); |
| |
| IntBuilder ib = builders.getIntBuilder(); |
| assertNotNull(ib); |
| assertSame(ib, builders.getIntBuilder()); |
| |
| LongBuilder lb = builders.getLongBuilder(); |
| assertNotNull(lb); |
| assertSame(lb, builders.getLongBuilder()); |
| |
| FloatBuilder fb = builders.getFloatBuilder(); |
| assertNotNull(fb); |
| assertSame(fb, builders.getFloatBuilder()); |
| |
| DoubleBuilder db = builders.getDoubleBuilder(); |
| assertNotNull(db); |
| assertSame(db, builders.getDoubleBuilder()); |
| } |
| |
| public void testArrayComparator() |
| { |
| final int[] INT3 = new int[] { 3, 4, 5 }; |
| Object comp = ArrayBuilders.getArrayComparator(INT3); |
| assertFalse(comp.equals(null)); |
| assertTrue(comp.equals(INT3)); |
| assertTrue(comp.equals(new int[] { 3, 4, 5 })); |
| assertFalse(comp.equals(new int[] { 5 })); |
| assertFalse(comp.equals(new int[] { 3, 4 })); |
| assertFalse(comp.equals(new int[] { 3, 5, 4 })); |
| assertFalse(comp.equals(new int[] { 3, 4, 5, 6 })); |
| } |
| |
| public void testArraySet() |
| { |
| HashSet<String> set = ArrayBuilders.arrayToSet(new String[] { "foo", "bar" }); |
| assertEquals(2, set.size()); |
| assertEquals(new HashSet<String>(Arrays.asList("bar", "foo")), set); |
| } |
| } |