@Test public void testRunLengthEncoding() throws Exception { Assert.assertEquals("3a1b3c", MediumTasks.runLengthEncoding("aaabccc")); Assert.assertEquals("1a3b1c", MediumTasks.runLengthEncoding("abbbc")); String string = "dadasdadaaggsrhshrhs"; Assert.assertEquals( string, MediumTasks.runLengthDecoding(MediumTasks.runLengthEncoding(string))); }
@Test public void testRunLengthDecoding() throws Exception { Assert.assertEquals("aaabccc", MediumTasks.runLengthDecoding("3a1b3c")); Assert.assertEquals("abbbc", MediumTasks.runLengthDecoding("1a3b1c")); String string = "3a232s2324e2113a557j6g1t"; Assert.assertEquals( string, MediumTasks.runLengthEncoding(MediumTasks.runLengthDecoding(string))); }
@Test public void testChange() throws Exception { int[] monets = {3, 5, 7}; Assert.assertEquals(1, MediumTasks.change(11, monets)); int[] monets1 = {1, 5}; Assert.assertEquals(3, MediumTasks.change(12, monets1)); int[] monets2 = {1, 3, 5, 7}; Assert.assertEquals(1996, MediumTasks.change(100, monets2)); }
@Test public void testGetKStatistics() throws Exception { int[] array = {1, 2, 3, 4, 5, 6, 7, 8, 9}; Assert.assertEquals(4, MediumTasks.getKStatistics(3, array)); int[] array2 = {9, 8, 7, 6, 5, 4, 3, 2, 1}; Assert.assertEquals(5, MediumTasks.getKStatistics(4, array2)); int[] array3 = {1, 1, 1, 1, 2, 1, 1}; Assert.assertEquals(2, MediumTasks.getKStatistics(6, array3)); int[] array4 = {3, 3, 4, 5, 53, 345, 5, 5}; Assert.assertEquals(5, MediumTasks.getKStatistics(3, array4)); Assert.assertEquals(5, MediumTasks.getKStatistics(4, array4)); Assert.assertEquals(5, MediumTasks.getKStatistics(5, array4)); Random random = new Random(); int[] array5 = new int[random.nextInt(100)]; for (int i = 0; i < array5.length; i++) { array5[i] = random.nextInt(20000); } int[] array6 = Arrays.copyOfRange(array5, 0, array5.length); Arrays.sort(array6); int k = random.nextInt(array5.length); Assert.assertEquals(array6[k], MediumTasks.getKStatistics(k, array5)); }