Joshua Chung 6 лет назад
Родитель
Сommit
9690c0b51f

+ 16
- 3
src/main/java/com/zipcodewilmington/arrayutility/ArrayUtility.java Просмотреть файл

@@ -1,6 +1,5 @@
1 1
 package com.zipcodewilmington.arrayutility;
2 2
 
3
-import java.lang.reflect.Array;
4 3
 import java.util.*;
5 4
 import java.util.function.Function;
6 5
 import java.util.stream.Collectors;
@@ -27,7 +26,6 @@ public class ArrayUtility<E> {
27 26
     }
28 27
 
29 28
     public E getMostCommonFromMerge(E[] arrayToMerge) {
30
-        int count = 0;
31 29
         Object[] combined = Stream.concat(Arrays.stream(arr), Arrays.stream(arrayToMerge)).toArray();
32 30
         List<E> mergedArray = new ArrayList<>((Collection<? extends E>) Arrays.asList(combined));
33 31
         E mostCommon = mergedArray.stream()
@@ -37,5 +35,20 @@ public class ArrayUtility<E> {
37 35
         return mostCommon;
38 36
     }
39 37
 
38
+    public Integer getNumberOfOccurrences(E valueToEvaluate) {
39
+        int count = 0;
40
+        for(E e : arr) {
41
+            if(valueToEvaluate.equals(e)){
42
+                count++;
43
+            }
44
+        }
45
+        return count;
46
+    }
47
+
48
+    public E[] removeValue(E valueToRemove) {
49
+        List<E> newArrList = new ArrayList<>(Arrays.asList(arr));
50
+        newArrList.removeAll(Collections.singleton(valueToRemove));
51
+        return (E[]) newArrList.toArray();
52
+        }
53
+    }
40 54
 
41
-}

+ 1
- 1
src/test/java/com/zipcodewilmington/arrayutility/ArrayUtilityTestSuite.java Просмотреть файл

@@ -13,7 +13,7 @@ import org.junit.runners.Suite;
13 13
         CountDuplicatesInMergeTest.class,
14 14
         GetMostCommonFromMergeTest.class,
15 15
         GetNumberOfOccurrencesTest.class,
16
-//        RemoveValueTest.class
16
+        RemoveValueTest.class
17 17
 })
18 18
 public class ArrayUtilityTestSuite {
19 19
 }

+ 77
- 78
src/test/java/com/zipcodewilmington/arrayutility/RemoveValueTest.java Просмотреть файл

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