@@ -0,0 +1,1466 @@
+package com.team687.test;%0A%0Aimport static org.junit.Assert.*;%0A%0Aimport java.util.Arrays;%0Aimport java.util.Collection;%0A%0Aimport org.junit.Test;%0Aimport org.junit.runner.RunWith;%0Aimport org.junit.runners.Parameterized;%0Aimport org.junit.runners.Parameterized.Parameters;%0A%0Aimport com.team687.frc2017.utilities.*;%0A%0A/**%0A * Test for normalizer%0A * %0A * @author tedfoodlin%0A *%0A */%0A%0A@RunWith(Parameterized.class)%0Apublic class NormalizerTest %7B%0A    %0A    @SuppressWarnings(%22rawtypes%22)%0A%09@Parameters%0A    public static Collection testCases() %7B%0A    %09%09return Arrays.asList(new double%5B%5D%5B%5D %7B%0A    %09%09%09%09%7B0.971, 0.987%7D, %7B0.971, 1.678%7D, %7B1.678, 0.971%7D, %7B-0.971, 1.678%7D, %0A    %09%09%09%09%7B0.971, -1.678%7D, %7B1.678, 2.54%7D, %7B2.54, 1.678%7D, %7B687, 254%7D%0A    %09%09%7D);%0A    %7D%0A    %0A    private double%5B%5D m_rawVal;%0A    %0A    public NormalizerTest(double%5B%5D rawVal) %7B%0A    %09%09m_rawVal = rawVal;%0A    %7D%0A    %0A    private static final double kEpsilon = 1E-9;%0A    %0A    @Test%0A    public void normalizeTest() %7B%0A%09%09double%5B%5D normalizedVal = NerdyMath.normalize(m_rawVal, false);%0A%09%09for (int i = 0; i %3C normalizedVal.length - 1; i++) %7B%0A%09%09%09assertTrue(Math.abs(normalizedVal%5Bi%5D) %3C= 1.0);%0A%09%09%7D%0A%09%09assertEquals((m_rawVal%5B0%5D/m_rawVal%5B1%5D), (normalizedVal%5B0%5D/normalizedVal%5B1%5D), kEpsilon);%0A%09%09assertTrue(isNegative(m_rawVal%5B0%5D) == isNegative(normalizedVal%5B0%5D));%0A%09%09assertTrue(isNegative(m_rawVal%5B1%5D) == isNegative(normalizedVal%5B1%5D));%0A    %7D%0A    %0A    public static boolean isNegative(double d) %7B%0A        return Double.doubleToRawLongBits(d) %3C 0;%0A   %7D%0A%0A%7D%0A

add normalizer test (woo first parameterized test)