11import org .junit .jupiter .api .Disabled ;
2+ import org .junit .jupiter .api .DisplayName ;
23import org .junit .jupiter .api .Test ;
34
45import static org .assertj .core .api .Assertions .assertThat ;
78public class TwoBucketTest {
89
910 @ Test
11+ @ DisplayName ("Measure using bucket one of size 3 and bucket two of size 5 - start with bucket one" )
1012 public void testBucketOneSizeThreeBucketTwoSizeFiveStartWithOne () {
1113
1214 Result bucketResult = new TwoBucket (3 , 5 , 1 , "one" ).getResult ();
@@ -19,6 +21,7 @@ public void testBucketOneSizeThreeBucketTwoSizeFiveStartWithOne() {
1921
2022 @ Disabled ("Remove to run test" )
2123 @ Test
24+ @ DisplayName ("Measure using bucket one of size 3 and bucket two of size 5 - start with bucket two" )
2225 public void testBucketOneSizeThreeBucketTwoSizeFiveStartWithTwo () {
2326
2427 Result bucketResult = new TwoBucket (3 , 5 , 1 , "two" ).getResult ();
@@ -31,6 +34,7 @@ public void testBucketOneSizeThreeBucketTwoSizeFiveStartWithTwo() {
3134
3235 @ Disabled ("Remove to run test" )
3336 @ Test
37+ @ DisplayName ("Measure using bucket one of size 7 and bucket two of size 11 - start with bucket one" )
3438 public void testBucketOneSizeSevenBucketTwoSizeElevenStartWithOne () {
3539
3640 Result bucketResult = new TwoBucket (7 , 11 , 2 , "one" ).getResult ();
@@ -43,6 +47,7 @@ public void testBucketOneSizeSevenBucketTwoSizeElevenStartWithOne() {
4347
4448 @ Disabled ("Remove to run test" )
4549 @ Test
50+ @ DisplayName ("Measure using bucket one of size 7 and bucket two of size 11 - start with bucket two" )
4651 public void testBucketOneSizeSevenBucketTwoSizeElevenStartWithTwo () {
4752
4853 Result bucketResult = new TwoBucket (7 , 11 , 2 , "two" ).getResult ();
@@ -55,6 +60,7 @@ public void testBucketOneSizeSevenBucketTwoSizeElevenStartWithTwo() {
5560
5661 @ Disabled ("Remove to run test" )
5762 @ Test
63+ @ DisplayName ("Measure one step using bucket one of size 1 and bucket two of size 3 - start with bucket two" )
5864 public void testBucketOneSizeOneBucketTwoSizeThreeStartWithTwo () {
5965
6066 Result bucketResult = new TwoBucket (1 , 3 , 3 , "two" ).getResult ();
@@ -67,6 +73,10 @@ public void testBucketOneSizeOneBucketTwoSizeThreeStartWithTwo() {
6773
6874 @ Disabled ("Remove to run test" )
6975 @ Test
76+ @ DisplayName (
77+ "Measure using bucket one of size 2 and bucket two of size 3 - " +
78+ "start with bucket one and end with bucket two"
79+ )
7080 public void testBucketOneSizeTwoBucketTwoSizeThreeStartWithOne () {
7181
7282 Result bucketResult = new TwoBucket (2 , 3 , 3 , "one" ).getResult ();
@@ -79,15 +89,43 @@ public void testBucketOneSizeTwoBucketTwoSizeThreeStartWithOne() {
7989
8090 @ Disabled ("Remove to run test" )
8191 @ Test
92+ @ DisplayName ("Measure using bucket one much bigger than bucket two" )
93+ public void testBucketOneMuchBiggerThanBucketTwo () {
94+
95+ Result bucketResult = new TwoBucket (5 , 1 , 2 , "one" ).getResult ();
96+
97+ assertThat (bucketResult .getTotalMoves ()).isEqualTo (6 );
98+ assertThat (bucketResult .getFinalBucket ()).isEqualTo ("one" );
99+ assertThat (bucketResult .getOtherBucket ()).isEqualTo (1 );
100+
101+ }
102+
103+ @ Disabled ("Remove to run test" )
104+ @ Test
105+ @ DisplayName ("Measure using bucket one much smaller than bucket two" )
106+ public void testBucketOneMuchSmallerThanBucketTwo () {
107+
108+ Result bucketResult = new TwoBucket (3 , 15 , 9 , "one" ).getResult ();
109+
110+ assertThat (bucketResult .getTotalMoves ()).isEqualTo (6 );
111+ assertThat (bucketResult .getFinalBucket ()).isEqualTo ("two" );
112+ assertThat (bucketResult .getOtherBucket ()).isEqualTo (0 );
113+
114+ }
115+
116+ @ Disabled ("Remove to run test" )
117+ @ Test
118+ @ DisplayName ("Not possible to reach the goal" )
82119 public void testReachingGoalIsImpossible () {
83-
120+
84121 assertThatExceptionOfType (UnreachableGoalException .class )
85122 .isThrownBy (() -> new TwoBucket (6 , 15 , 5 , "one" ).getResult ());
86123
87124 }
88125
89126 @ Disabled ("Remove to run test" )
90127 @ Test
128+ @ DisplayName ("With the same buckets but a different goal, then it is possible" )
91129 public void testBucketOneSizeSixBucketTwoSizeFifteenStartWithOne () {
92130
93131 Result bucketResult = new TwoBucket (6 , 15 , 9 , "one" ).getResult ();
@@ -96,10 +134,11 @@ public void testBucketOneSizeSixBucketTwoSizeFifteenStartWithOne() {
96134 assertThat (bucketResult .getFinalBucket ()).isEqualTo ("two" );
97135 assertThat (bucketResult .getOtherBucket ()).isEqualTo (0 );
98136
99- }
137+ }
100138
101139 @ Disabled ("Remove to run test" )
102140 @ Test
141+ @ DisplayName ("Goal larger than both buckets is impossible" )
103142 public void testGoalLargerThanBothBucketsIsImpossible () {
104143
105144 assertThatExceptionOfType (UnreachableGoalException .class )
0 commit comments