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,9 @@ 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" )
7079 public void testBucketOneSizeTwoBucketTwoSizeThreeStartWithOne () {
7180
7281 Result bucketResult = new TwoBucket (2 , 3 , 3 , "one" ).getResult ();
@@ -79,15 +88,43 @@ public void testBucketOneSizeTwoBucketTwoSizeThreeStartWithOne() {
7988
8089 @ Disabled ("Remove to run test" )
8190 @ Test
91+ @ DisplayName ("Measure using bucket one much bigger than bucket two" )
92+ public void testBucketOneMuchBiggerThanBucketTwo () {
93+
94+ Result bucketResult = new TwoBucket (5 , 1 , 2 , "one" ).getResult ();
95+
96+ assertThat (bucketResult .getTotalMoves ()).isEqualTo (6 );
97+ assertThat (bucketResult .getFinalBucket ()).isEqualTo ("one" );
98+ assertThat (bucketResult .getOtherBucket ()).isEqualTo (1 );
99+
100+ }
101+
102+ @ Disabled ("Remove to run test" )
103+ @ Test
104+ @ DisplayName ("Measure using bucket one much smaller than bucket two" )
105+ public void testBucketOneMuchSmallerThanBucketTwo () {
106+
107+ Result bucketResult = new TwoBucket (3 , 15 , 9 , "one" ).getResult ();
108+
109+ assertThat (bucketResult .getTotalMoves ()).isEqualTo (6 );
110+ assertThat (bucketResult .getFinalBucket ()).isEqualTo ("two" );
111+ assertThat (bucketResult .getOtherBucket ()).isEqualTo (0 );
112+
113+ }
114+
115+ @ Disabled ("Remove to run test" )
116+ @ Test
117+ @ DisplayName ("Not possible to reach the goal" )
82118 public void testReachingGoalIsImpossible () {
83-
119+
84120 assertThatExceptionOfType (UnreachableGoalException .class )
85121 .isThrownBy (() -> new TwoBucket (6 , 15 , 5 , "one" ).getResult ());
86122
87123 }
88124
89125 @ Disabled ("Remove to run test" )
90126 @ Test
127+ @ DisplayName ("With the same buckets but a different goal, then it is possible" )
91128 public void testBucketOneSizeSixBucketTwoSizeFifteenStartWithOne () {
92129
93130 Result bucketResult = new TwoBucket (6 , 15 , 9 , "one" ).getResult ();
@@ -96,10 +133,11 @@ public void testBucketOneSizeSixBucketTwoSizeFifteenStartWithOne() {
96133 assertThat (bucketResult .getFinalBucket ()).isEqualTo ("two" );
97134 assertThat (bucketResult .getOtherBucket ()).isEqualTo (0 );
98135
99- }
136+ }
100137
101138 @ Disabled ("Remove to run test" )
102139 @ Test
140+ @ DisplayName ("Goal larger than both buckets is impossible" )
103141 public void testGoalLargerThanBothBucketsIsImpossible () {
104142
105143 assertThatExceptionOfType (UnreachableGoalException .class )
0 commit comments