public void testHashCode() { for (float value : VALUES) { assertEquals(((Float) value).hashCode(), Floats.hashCode(value)); } }
public void testContains() { assertFalse(Floats.contains(EMPTY, (float) 1)); assertFalse(Floats.contains(ARRAY1, (float) 2)); assertFalse(Floats.contains(ARRAY234, (float) 1)); assertTrue(Floats.contains(new float[] {(float) -1}, (float) -1)); assertTrue(Floats.contains(ARRAY234, (float) 2)); assertTrue(Floats.contains(ARRAY234, (float) 3)); assertTrue(Floats.contains(ARRAY234, (float) 4)); for (float value : NUMBERS) { assertTrue("" + value, Floats.contains(new float[] {5f, value}, value)); } assertFalse(Floats.contains(new float[] {5f, NaN}, NaN)); }
public void testConcat() { assertTrue(Arrays.equals(EMPTY, Floats.concat())); assertTrue(Arrays.equals(EMPTY, Floats.concat(EMPTY))); assertTrue(Arrays.equals(EMPTY, Floats.concat(EMPTY, EMPTY, EMPTY))); assertTrue(Arrays.equals(ARRAY1, Floats.concat(ARRAY1))); assertNotSame(ARRAY1, Floats.concat(ARRAY1)); assertTrue(Arrays.equals(ARRAY1, Floats.concat(EMPTY, ARRAY1, EMPTY))); assertTrue( Arrays.equals( new float[] {(float) 1, (float) 1, (float) 1}, Floats.concat(ARRAY1, ARRAY1, ARRAY1))); assertTrue( Arrays.equals( new float[] {(float) 1, (float) 2, (float) 3, (float) 4}, Floats.concat(ARRAY1, ARRAY234))); }
public void testEnsureCapacity() { assertSame(EMPTY, Floats.ensureCapacity(EMPTY, 0, 1)); assertSame(ARRAY1, Floats.ensureCapacity(ARRAY1, 0, 1)); assertSame(ARRAY1, Floats.ensureCapacity(ARRAY1, 1, 1)); assertTrue( Arrays.equals( new float[] {(float) 1, (float) 0, (float) 0}, Floats.ensureCapacity(ARRAY1, 2, 1))); }
public void testAsList_toArray_roundTrip() { float[] array = {(float) 0, (float) 1, (float) 2}; List<Float> list = Floats.asList(array); float[] newArray = Floats.toArray(list); // Make sure it returned a copy list.set(0, (float) 4); assertTrue(Arrays.equals(new float[] {(float) 0, (float) 1, (float) 2}, newArray)); newArray[1] = (float) 5; assertEquals((float) 1, (float) list.get(1)); }
@GwtIncompatible // Floats.tryParse public void testTryParseFailures() { for (String badInput : BAD_TRY_PARSE_INPUTS) { assertEquals(referenceTryParse(badInput), Floats.tryParse(badInput)); assertNull(Floats.tryParse(badInput)); } }
@GwtIncompatible // Floats.tryParse public void testTryParseNaN() { checkTryParse("NaN"); checkTryParse("+NaN"); checkTryParse("-NaN"); }
private static void testReverse(float[] input, float[] expectedOutput) { input = Arrays.copyOf(input, input.length); Floats.reverse(input); assertTrue(Arrays.equals(expectedOutput, input)); }
public void testToArray_withNull() { List<Float> list = Arrays.asList((float) 0, (float) 1, null); try { Floats.toArray(list); fail(); } catch (NullPointerException expected) { } }
@GwtIncompatible public void testTryParse_withNullNoGwt() { assertNull(Floats.tryParse("null")); try { Floats.tryParse(null); fail("Expected NPE"); } catch (NullPointerException expected) { } } }
public void testConstrainToRange() { float tolerance = 1e-10f; assertEquals((float) 1, Floats.constrainToRange((float) 1, (float) 0, (float) 5), tolerance); assertEquals((float) 1, Floats.constrainToRange((float) 1, (float) 1, (float) 5), tolerance); assertEquals((float) 3, Floats.constrainToRange((float) 1, (float) 3, (float) 5), tolerance); assertEquals((float) -1, Floats.constrainToRange((float) 0, (float) -5, (float) -1), tolerance); assertEquals((float) 2, Floats.constrainToRange((float) 5, (float) 2, (float) 2), tolerance); try { Floats.constrainToRange((float) 1, (float) 3, (float) 2); fail(); } catch (IllegalArgumentException expected) { } }
@GwtIncompatible // Floats.tryParse private static void checkTryParse(String input) { assertEquals(referenceTryParse(input), Floats.tryParse(input)); }
public void testSortDescending() { testSortDescending(new float[] {}, new float[] {}); testSortDescending(new float[] {1}, new float[] {1}); testSortDescending(new float[] {1, 2}, new float[] {2, 1}); testSortDescending(new float[] {1, 3, 1}, new float[] {3, 1, 1}); testSortDescending(new float[] {-1, 1, -2, 2}, new float[] {2, 1, -1, -2}); if (sortWorksWithNaN()) { testSortDescending( new float[] {-1, 1, Float.NaN, -2, -0, 0, 2}, new float[] {Float.NaN, 2, 1, 0, -0, -1, -2}); } }
@GwtIncompatible // works with real browsers but fails with HtmlUnit public void testSortWorksWithNaNNonGwt() { assertTrue(sortWorksWithNaN()); }
public void testAsListEmpty() { assertSame(Collections.emptyList(), Floats.asList(EMPTY)); }
public void testStringConverter_nullConversions() { assertNull(Floats.stringConverter().convert(null)); assertNull(Floats.stringConverter().reverse().convert(null)); }
public void testMax() { assertEquals(GREATEST, Floats.max(GREATEST)); assertEquals(LEAST, Floats.max(LEAST)); assertEquals( (float) 9, Floats.max((float) 8, (float) 6, (float) 7, (float) 5, (float) 3, (float) 0, (float) 9)); assertEquals(0f, Floats.max(-0f, 0f)); assertEquals(0f, Floats.max(0f, -0f)); assertEquals(GREATEST, Floats.max(NUMBERS)); assertTrue(Float.isNaN(Floats.max(VALUES))); }
@GwtIncompatible // Floats.tryParse public void testTryParseFailures() { for (String badInput : BAD_TRY_PARSE_INPUTS) { assertEquals(referenceTryParse(badInput), Floats.tryParse(badInput)); assertNull(Floats.tryParse(badInput)); } }
@GwtIncompatible // Floats.tryParse public void testTryParseInfinity() { checkTryParse(Float.POSITIVE_INFINITY, "Infinity"); checkTryParse(Float.POSITIVE_INFINITY, "+Infinity"); checkTryParse(Float.NEGATIVE_INFINITY, "-Infinity"); }
private static void testReverse( float[] input, int fromIndex, int toIndex, float[] expectedOutput) { input = Arrays.copyOf(input, input.length); Floats.reverse(input, fromIndex, toIndex); assertTrue(Arrays.equals(expectedOutput, input)); }