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); } }