Skip to content

Commit edb51ef

Browse files
committed
Add one more case for ATM task & TODO for it. Add test for ChangeWithMinNumberOfCoins task
1 parent 0735cbc commit edb51ef

2 files changed

Lines changed: 21 additions & 0 deletions

File tree

src/test/java/by/andd3dfx/common/atm/AbstractAtmTest.java

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package by.andd3dfx.common.atm;
22

33
import org.junit.Before;
4+
import org.junit.Ignore;
45
import org.junit.Test;
56

67
import java.util.Map;
@@ -11,6 +12,7 @@
1112
public abstract class AbstractAtmTest {
1213

1314
private IAtm atm;
15+
private IAtm atm2;
1416

1517
@Before
1618
public void setUp() throws Exception {
@@ -19,6 +21,10 @@ public void setUp() throws Exception {
1921
200, 3,
2022
50, 5
2123
));
24+
atm2 = buildAtm(Map.of(
25+
500, 3,
26+
200, 5
27+
));
2228
}
2329

2430
protected abstract IAtm buildAtm(Map<Integer, Integer> state);
@@ -77,4 +83,15 @@ public void withdrawForConsequentCalls() {
7783
50, 1
7884
));
7985
}
86+
87+
// TODO: fix implementation to make this test passed
88+
@Ignore
89+
@Test
90+
public void withdraw_vsGreedyAlgorithm() {
91+
var result = atm2.withdraw(1100);
92+
assertThat(result).isEqualTo(Map.of(
93+
500, 1,
94+
200, 3
95+
));
96+
}
8097
}

src/test/java/by/andd3dfx/dynamic/ChangeWithMinNumberOfCoinsTest.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,8 @@ public void determineUsingRecursion() {
1919
assertThat(determine_usingRecursion(new int[]{25, 10, 5}, 55)).isEqualTo(3);
2020
assertThat(determine_usingRecursion(new int[]{25, 10, 5}, 4)).isEqualTo(-1);
2121
assertThat(determine_usingRecursion(new int[]{25, 10, 5}, 34)).isEqualTo(-1);
22+
23+
assertThat(determine_usingRecursion(new int[]{500, 500, 500, 200, 200, 200, 200, 200}, 1100)).isEqualTo(4);
2224
}
2325

2426
@Test
@@ -32,5 +34,7 @@ public void determineUsingMemoization() {
3234
assertThat(determine_usingMemoization(new int[]{25, 10, 5}, 55)).isEqualTo(3);
3335
assertThat(determine_usingMemoization(new int[]{25, 10, 5}, 4)).isEqualTo(-1);
3436
assertThat(determine_usingMemoization(new int[]{25, 10, 5}, 34)).isEqualTo(-1);
37+
38+
assertThat(determine_usingMemoization(new int[]{500, 500, 500, 200, 200, 200, 200, 200}, 1100)).isEqualTo(4);
3539
}
3640
}

0 commit comments

Comments
 (0)