See More

import org.junit.Assert; import org.junit.Before; import org.junit.Test; public class AgeEncodingTest { protected AgeEncoding solution; @Before public void setUp() { solution = new AgeEncoding(); } public static void assertEquals(double expected, double actual) { if (Double.isNaN(expected)) { Assert.assertTrue("expected: but was: <" + actual + ">", Double.isNaN(actual)); return; } double delta = Math.max(1e-9, 1e-9 * Math.abs(expected)); Assert.assertEquals(expected, actual, delta); } @Test(timeout = 2000) public void testCase0() { int age = 10; String candlesLine = "00010"; double expected = 10.0; double actual = solution.getRadix(age, candlesLine); assertEquals(expected, actual); } @Test(timeout = 2000) public void testCase1() { int age = 21; String candlesLine = "10101"; double expected = 2.0; double actual = solution.getRadix(age, candlesLine); assertEquals(expected, actual); } @Test(timeout = 2000) public void testCase2() { int age = 6; String candlesLine = "10100"; double expected = 1.414213562373095; double actual = solution.getRadix(age, candlesLine); assertEquals(expected, actual); } @Test(timeout = 2000) public void testCase3() { int age = 21; String candlesLine = "10111111110111101111111100111111110111111111111100"; double expected = 0.9685012944510603; double actual = solution.getRadix(age, candlesLine); assertEquals(expected, actual); } @Test(timeout = 2000) public void testCase4() { int age = 16; String candlesLine = "1"; double expected = -1.0; double actual = solution.getRadix(age, candlesLine); assertEquals(expected, actual); } @Test(timeout = 2000) public void testCase5() { int age = 1; String candlesLine = "1"; double expected = -2.0; double actual = solution.getRadix(age, candlesLine); assertEquals(expected, actual); } @Test(timeout = 2000) public void testCase6() { int age = 1; String candlesLine = "001000"; double expected = 1.0; double actual = solution.getRadix(age, candlesLine); assertEquals(expected, actual); } @Test(timeout = 2000) public void testCase7() { int age = 1; String candlesLine = "00000101010111100101"; double expected = -1.0; double actual = solution.getRadix(age, candlesLine); assertEquals(expected, actual); } @Test(timeout = 2000) public void testCase8() { int age = 1; String candlesLine = "0100101000100001100110000110000010011011000001100"; double expected = 0.7156223647008804; double actual = solution.getRadix(age, candlesLine); assertEquals(expected, actual); } }