Skip to content

Commit 23004eb

Browse files
committed
Updated Tester function names and order.
1 parent 2dbd1c1 commit 23004eb

File tree

4 files changed

+99
-52
lines changed

4 files changed

+99
-52
lines changed

GrokkingBreadthFirstSearch.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ public static void main(String[] args) {
1414
// LEVEL_VALUES
1515
testTitle = "LEVEL_VALUES";
1616
TreeNode root = createTestTree();
17-
tester.testIntListofListsEquals(testTreeLevelValues(), levelValues(root), testTitle);
17+
tester.intListofListsEquals(testTreeLevelValues(), levelValues(root), testTitle);
1818
}
1919

2020
/*

GrokkingSlidingWindow.java

Lines changed: 49 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
package com.cunningdj.grokJava;
22

3+
import java.util.HashMap;
4+
35
class GrokkingSlidingWindow {
46
public static void main(String[] args) {
57
Tester tester = new Tester();
@@ -8,9 +10,53 @@ public static void main(String[] args) {
810
// TEST CLASS METHODS HERE USING TESTER CLASS
911
// WINDOW_AVERAGE
1012
testTitle = "WINDOW_AVERAGE";
11-
tester.testDoubleArrayEquals(new double[]{2,3,4,5}, slidingAverage(new int[]{1,2,3,4,5,6}, 3), testTitle);
12-
tester.testDoubleArrayEquals(new double[]{3.5}, slidingAverage(new int[]{1,2,3,4,5,6}, 6), testTitle);
13-
tester.testDoubleArrayEquals(new double[]{1.5,2.5,3.5,4.5,5.5}, slidingAverage(new int[]{1,2,3,4,5,6}, 2), testTitle);
13+
tester.doubleArrayEquals(new double[]{2,3,4,5}, slidingAverage(new int[]{1,2,3,4,5,6}, 3), testTitle);
14+
tester.doubleArrayEquals(new double[]{3.5}, slidingAverage(new int[]{1,2,3,4,5,6}, 6), testTitle);
15+
tester.doubleArrayEquals(new double[]{1.5,2.5,3.5,4.5,5.5}, slidingAverage(new int[]{1,2,3,4,5,6}, 2), testTitle);
16+
17+
// FRUIT_BASKETS
18+
testTitle = "FRUIT_BASKETS";
19+
char A = 'A';
20+
char B = 'B';
21+
char C = 'C';
22+
// TESTING: left max
23+
tester.intEquals(5, maxFruitsTwoBaskets(new char[]{A,A,A,B,B,C,A}), testTitle);
24+
// TESTING: right max
25+
tester.intEquals(5, maxFruitsTwoBaskets(new char[]{A,C,A,A,A,B,B}), testTitle);
26+
// TESTING: middle max
27+
tester.intEquals(5, maxFruitsTwoBaskets(new char[]{A,C,A,A,A,B,B,C,A}), testTitle);
28+
}
29+
30+
public static int maxFruitsTwoBaskets(char[] fruits) {
31+
final int MAX_BASKETS = 2;
32+
if (fruits.length < 1) {
33+
return 0;
34+
}
35+
HashMap<Character, Integer> fruitCounts = new HashMap<>();
36+
int maxFruits = 0;
37+
int start = 0;
38+
int end = 0;
39+
int currCount = 0;
40+
while (end < fruits.length) {
41+
if (!fruitCounts.containsKey(fruits[end])) {
42+
fruitCounts.put(fruits[end], 0);
43+
}
44+
fruitCounts.put(fruits[end], fruitCounts.get(fruits[end]) + 1);
45+
++currCount;
46+
while (start < end && fruitCounts.keySet().size() > MAX_BASKETS) {
47+
if (fruitCounts.get(fruits[start]) == 1) {
48+
fruitCounts.remove(fruits[start]);
49+
} else {
50+
fruitCounts.put(fruits[start], fruitCounts.get(fruits[start]) - 1);
51+
}
52+
--currCount;
53+
++ start;
54+
}
55+
maxFruits = Math.max(maxFruits, currCount);
56+
++end;
57+
}
58+
59+
return maxFruits;
1460
}
1561

1662
public static double[] slidingAverage(int[] values, int windowSize) {

GrokkingTopSort.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,9 +18,9 @@ public static void main(String[] args) {
1818
ClassDependencyPair pair4 = new ClassDependencyPair(1,4);
1919
ClassDependencyPair circularPair = new ClassDependencyPair(4,2);
2020
ClassDependencyPair[] pairs = {pair1, pair2, pair3, pair4};
21-
tester.testIntArrayEquals(new int[]{1,2,3,4}, classesOrder(4, pairs), testTitle);
21+
tester.intArrayEquals(new int[]{1,2,3,4}, classesOrder(4, pairs), testTitle);
2222
ClassDependencyPair[] pairs2 = {pair1, pair2, pair3, pair4, circularPair};
23-
tester.testIntArrayEquals(null, classesOrder(5, pairs2), testTitle);
23+
tester.intArrayEquals(null, classesOrder(5, pairs2), testTitle);
2424

2525
}
2626

Tester.java

Lines changed: 47 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -41,38 +41,81 @@ public void testEquals(Object expected, Object actual, String testTitle) {
4141
}
4242
}
4343

44-
public void testDoubleArrayEquals(double[] expected, double[] actual, String testTitle) {
44+
public void doubleArrayEquals(double[] expected, double[] actual, String testTitle) {
4545
if (Arrays.equals(expected, actual)) {
4646
printTestSuccess(testTitle);
4747
} else {
4848
printTestFailure(testTitle, toString(expected), toString(actual));
4949
}
5050
}
5151

52-
public void testFloatArrayEquals(float[] expected, float[] actual, String testTitle) {
52+
public void floatArrayEquals(float[] expected, float[] actual, String testTitle) {
5353
if (Arrays.equals(expected, actual)) {
5454
printTestSuccess(testTitle);
5555
} else {
5656
printTestFailure(testTitle, toString(expected), toString(actual));
5757
}
5858
}
5959

60-
public void testIntArrayEquals(int[] expected, int[] actual, String testTitle) {
60+
public void intArrayEquals(int[] expected, int[] actual, String testTitle) {
6161
if (Arrays.equals(expected, actual)) {
6262
printTestSuccess(testTitle);
6363
} else {
6464
printTestFailure(testTitle, toString(expected), toString(actual));
6565
}
6666
}
6767

68-
public void testIntListofListsEquals(List<List<Integer>> expected, List<List<Integer>> actual, String testTitle) {
68+
public void intListofListsEquals(List<List<Integer>> expected, List<List<Integer>> actual, String testTitle) {
6969
if (expected.containsAll(actual)) {
7070
printTestSuccess(testTitle);
7171
} else {
7272
printTestFailure(testTitle, toString(expected), toString(actual));
7373
}
7474
}
7575

76+
public void booleanEquals(boolean expected, boolean actual, String testTitle) {
77+
if (expected == actual) {
78+
printTestSuccess(testTitle);
79+
} else {
80+
printTestFailure(testTitle, String.valueOf(expected), String.valueOf(actual));
81+
}
82+
}
83+
84+
public void listNodeEquals(ListNode expected, ListNode actual, String testTitle) {
85+
if (expected == actual) {
86+
printTestSuccess(testTitle);
87+
} else {
88+
printTestFailure(testTitle, String.valueOf(expected), String.valueOf(actual));
89+
}
90+
}
91+
92+
public void intEquals(int expected, int actual, String testTitle) {
93+
if (expected == actual) {
94+
printTestSuccess(testTitle);
95+
} else {
96+
printTestFailure(testTitle, String.valueOf(expected), String.valueOf(actual));
97+
}
98+
}
99+
100+
public void doubleEquals(double expected, double actual, String testTitle) {
101+
if (expected == actual) {
102+
printTestSuccess(testTitle);
103+
} else {
104+
printTestFailure(testTitle, String.valueOf(expected), String.valueOf(actual));
105+
}
106+
}
107+
108+
public void isNull(Object actual, String testTitle) {
109+
if (actual == null) {
110+
printTestSuccess(testTitle);
111+
} else {
112+
printTestFailure(testTitle, String.valueOf(null), String.valueOf(actual));
113+
}
114+
}
115+
116+
117+
// PRIVATE
118+
76119
private static String toString(int[] values) {
77120
if (values == null) {
78121
return "null";
@@ -151,48 +194,6 @@ private static String toString(Object[] values) {
151194
return str;
152195
}
153196

154-
public void booleanEquals(boolean expected, boolean actual, String testTitle) {
155-
if (expected == actual) {
156-
printTestSuccess(testTitle);
157-
} else {
158-
printTestFailure(testTitle, String.valueOf(expected), String.valueOf(actual));
159-
}
160-
}
161-
162-
public void listNodeEquals(ListNode expected, ListNode actual, String testTitle) {
163-
if (expected == actual) {
164-
printTestSuccess(testTitle);
165-
} else {
166-
printTestFailure(testTitle, String.valueOf(expected), String.valueOf(actual));
167-
}
168-
}
169-
170-
public void intEquals(int expected, int actual, String testTitle) {
171-
if (expected == actual) {
172-
printTestSuccess(testTitle);
173-
} else {
174-
printTestFailure(testTitle, String.valueOf(expected), String.valueOf(actual));
175-
}
176-
}
177-
178-
public void doubleEquals(double expected, double actual, String testTitle) {
179-
if (expected == actual) {
180-
printTestSuccess(testTitle);
181-
} else {
182-
printTestFailure(testTitle, String.valueOf(expected), String.valueOf(actual));
183-
}
184-
}
185-
186-
public void isNull(Object actual, String testTitle) {
187-
if (actual == null) {
188-
printTestSuccess(testTitle);
189-
} else {
190-
printTestFailure(testTitle, String.valueOf(null), String.valueOf(actual));
191-
}
192-
}
193-
194-
195-
// PRIVATE
196197
private void updateTestCounter(String testTitle) {
197198
if (!testCounter.containsKey(testTitle)) {
198199
testCounter.put(testTitle, 0);

0 commit comments

Comments
 (0)