Преглед на файлове

finished removeValue, so finished all

Luis Romero преди 6 години
родител
ревизия
8eccf7bc51

+ 13
- 1
src/main/java/com/zipcodewilmington/arrayutility/ArrayUtility.java Целия файл

@@ -59,8 +59,20 @@ public class ArrayUtility<E> {
59 59
                 mostCommon = entry.getKey();
60 60
             }
61 61
         }
62
-
63 62
         return mostCommon;
64 63
     }
65 64
 
65
+    public E[] removeValue(E valueToRemove) {
66
+        int x = this.getNumberOfOccurrences(valueToRemove);
67
+        E[] reducedLengthArray = Arrays.copyOf(this.inputArray, this.inputArray.length - x);
68
+        for (int i = 0, j = 0; i < this.inputArray.length; i++) {
69
+            if (this.inputArray[i] != valueToRemove) {
70
+                reducedLengthArray[j] = this.inputArray[i];
71
+                j++;
72
+            }
73
+        }
74
+        return reducedLengthArray;
75
+    }
76
+
77
+
66 78
 }

+ 19
- 19
src/test/java/com/zipcodewilmington/arrayutility/ArrayUtilityTestSuite.java Целия файл

@@ -1,19 +1,19 @@
1
-//package com.zipcodewilmington.arrayutility;
2
-//
3
-//import org.junit.runner.RunWith;
4
-//import org.junit.runners.Suite;
5
-//
6
-///**
7
-// * Created by leon on 3/1/18.
8
-// * The purpose of this class is to test all classes within this package
9
-// */
10
-//@RunWith(Suite.class)
11
-//
12
-//@Suite.SuiteClasses({
13
-//        CountDuplicatesInMergeTest.class,
14
-//        GetMostCommonFromMergeTest.class,
15
-//        GetNumberOfOccurrencesTest.class,
16
-//        RemoveValueTest.class
17
-//})
18
-//public class ArrayUtilityTestSuite {
19
-//}
1
+package com.zipcodewilmington.arrayutility;
2
+
3
+import org.junit.runner.RunWith;
4
+import org.junit.runners.Suite;
5
+
6
+/**
7
+ * Created by leon on 3/1/18.
8
+ * The purpose of this class is to test all classes within this package
9
+ */
10
+@RunWith(Suite.class)
11
+
12
+@Suite.SuiteClasses({
13
+        CountDuplicatesInMergeTest.class,
14
+        GetMostCommonFromMergeTest.class,
15
+        GetNumberOfOccurrencesTest.class,
16
+        RemoveValueTest.class
17
+})
18
+public class ArrayUtilityTestSuite {
19
+}

+ 77
- 77
src/test/java/com/zipcodewilmington/arrayutility/RemoveValueTest.java Целия файл

@@ -1,78 +1,78 @@
1
-//package com.zipcodewilmington.arrayutility;
2
-//
1
+package com.zipcodewilmington.arrayutility;
2
+
3 3
 //import com.zipcodewilmington.UnitTestingUtils;
4
-//import org.junit.Test;
5
-//
6
-///**
7
-// * Created by leon on 3/1/18.
8
-// * The purpose of this class is to thoroughly test the method removeValue()
9
-// */
10
-//public class RemoveValueTest {
11
-//    @Test
12
-//    public void integerTest() {
13
-//        // Given
14
-//        Integer valueToRemove = 7;
15
-//        Integer[] expected = {11, 2, 8, 4, 5, 0, 9, 8};
16
-//        Integer[] inputArray = {11, 2, valueToRemove, 8, 4, 5, valueToRemove, 0, 9, 8, valueToRemove};
17
-//        ArrayUtility<Integer> arrayUtility = new ArrayUtility<Integer>(inputArray);
18
-//
19
-//
20
-//        // When
21
-//        Integer[] actual = arrayUtility.removeValue(valueToRemove);
22
-//
23
-//        // Then
24
-//        UnitTestingUtils.assertArrayEquality(expected, actual);
25
-//    }
26
-//
27
-//    @Test
28
-//    public void longTest() {
29
-//        // Given
30
-//        Long valueToRemove = 7L;
31
-//        Long[] expected = {12L, 2L, 8L, 4L, 5L, 0L, 9L, 8L};
32
-//        Long[] inputArray = {12L, 2L, valueToRemove, 8L, 4L, 5L, valueToRemove, 0L, 9L, 8L, valueToRemove};
33
-//        ArrayUtility<Long> arrayUtility = new ArrayUtility<Long>(inputArray);
34
-//
35
-//
36
-//        // When
37
-//        Long[] actual = arrayUtility.removeValue(valueToRemove);
38
-//
39
-//        // Then
40
-//        UnitTestingUtils.assertArrayEquality(expected, actual);
41
-//    }
42
-//
43
-//
44
-//    @Test
45
-//    public void stringTest() {
46
-//        // Given
47
-//        String valueToRemove = "7";
48
-//        String[] expected = {"13", "2", "8", "4", "5", "0", "9", "8"};
49
-//        String[] inputArray = {"13", "2", valueToRemove, "8", "4", "5", valueToRemove, "0", "9", "8", valueToRemove};
50
-//        ArrayUtility<String> arrayUtility = new ArrayUtility<String>(inputArray);
51
-//
52
-//
53
-//        // When
54
-//        String[] actual = arrayUtility.removeValue(valueToRemove);
55
-//
56
-//        // Then
57
-//        UnitTestingUtils.assertArrayEquality(expected, actual);
58
-//    }
59
-//
60
-//
61
-//
62
-//    @Test
63
-//    public void objectTest() {
64
-//        // Given
65
-//        Object valueToRemove = "7";
66
-//        Object[] expected = {"41", "2", "8", "4", "5", "0", "9", "8"};
67
-//        Object[] inputArray = {"41", "2", valueToRemove, "8", "4", "5", valueToRemove, "0", "9", "8", valueToRemove};
68
-//        ArrayUtility<Object> arrayUtility = new ArrayUtility<Object>(inputArray);
69
-//
70
-//
71
-//        // When
72
-//        Object[] actual = arrayUtility.removeValue(valueToRemove);
73
-//
74
-//        // Then
75
-//        UnitTestingUtils.assertArrayEquality(expected, actual);
76
-//    }
77
-//
78
-//}
4
+import org.junit.Test;
5
+
6
+/**
7
+ * Created by leon on 3/1/18.
8
+ * The purpose of this class is to thoroughly test the method removeValue()
9
+ */
10
+public class RemoveValueTest {
11
+    @Test
12
+    public void integerTest() {
13
+        // Given
14
+        Integer valueToRemove = 7;
15
+        Integer[] expected = {11, 2, 8, 4, 5, 0, 9, 8};
16
+        Integer[] inputArray = {11, 2, valueToRemove, 8, 4, 5, valueToRemove, 0, 9, 8, valueToRemove};
17
+        ArrayUtility<Integer> arrayUtility = new ArrayUtility<Integer>(inputArray);
18
+
19
+
20
+        // When
21
+        Integer[] actual = arrayUtility.removeValue(valueToRemove);
22
+
23
+        // Then
24
+        UnitTestingUtils.assertArrayEquality(expected, actual);
25
+    }
26
+
27
+    @Test
28
+    public void longTest() {
29
+        // Given
30
+        Long valueToRemove = 7L;
31
+        Long[] expected = {12L, 2L, 8L, 4L, 5L, 0L, 9L, 8L};
32
+        Long[] inputArray = {12L, 2L, valueToRemove, 8L, 4L, 5L, valueToRemove, 0L, 9L, 8L, valueToRemove};
33
+        ArrayUtility<Long> arrayUtility = new ArrayUtility<Long>(inputArray);
34
+
35
+
36
+        // When
37
+        Long[] actual = arrayUtility.removeValue(valueToRemove);
38
+
39
+        // Then
40
+        UnitTestingUtils.assertArrayEquality(expected, actual);
41
+    }
42
+
43
+
44
+    @Test
45
+    public void stringTest() {
46
+        // Given
47
+        String valueToRemove = "7";
48
+        String[] expected = {"13", "2", "8", "4", "5", "0", "9", "8"};
49
+        String[] inputArray = {"13", "2", valueToRemove, "8", "4", "5", valueToRemove, "0", "9", "8", valueToRemove};
50
+        ArrayUtility<String> arrayUtility = new ArrayUtility<String>(inputArray);
51
+
52
+
53
+        // When
54
+        String[] actual = arrayUtility.removeValue(valueToRemove);
55
+
56
+        // Then
57
+        UnitTestingUtils.assertArrayEquality(expected, actual);
58
+    }
59
+
60
+
61
+
62
+    @Test
63
+    public void objectTest() {
64
+        // Given
65
+        Object valueToRemove = "7";
66
+        Object[] expected = {"41", "2", "8", "4", "5", "0", "9", "8"};
67
+        Object[] inputArray = {"41", "2", valueToRemove, "8", "4", "5", valueToRemove, "0", "9", "8", valueToRemove};
68
+        ArrayUtility<Object> arrayUtility = new ArrayUtility<Object>(inputArray);
69
+
70
+
71
+        // When
72
+        Object[] actual = arrayUtility.removeValue(valueToRemove);
73
+
74
+        // Then
75
+        UnitTestingUtils.assertArrayEquality(expected, actual);
76
+    }
77
+
78
+}