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,8 @@ public void testBucketOneSizeOneBucketTwoSizeThreeStartWithTwo() {
6773
6874 @ Disabled ("Remove to run test" )
6975 @ Test
76+ @ DisplayName ("Measure using bucket one of size 2 and bucket two of size 3 - " +
77+ "start with bucket one and end with bucket two" )
7078 public void testBucketOneSizeTwoBucketTwoSizeThreeStartWithOne () {
7179
7280 Result bucketResult = new TwoBucket (2 , 3 , 3 , "one" ).getResult ();
@@ -79,15 +87,43 @@ public void testBucketOneSizeTwoBucketTwoSizeThreeStartWithOne() {
7987
8088 @ Disabled ("Remove to run test" )
8189 @ Test
90+ @ DisplayName ("Measure using bucket one much bigger than bucket two" )
91+ public void testBucketOneMuchBiggerThanBucketTwo () {
92+
93+ Result bucketResult = new TwoBucket (5 , 1 , 2 , "one" ).getResult ();
94+
95+ assertThat (bucketResult .getTotalMoves ()).isEqualTo (6 );
96+ assertThat (bucketResult .getFinalBucket ()).isEqualTo ("one" );
97+ assertThat (bucketResult .getOtherBucket ()).isEqualTo (1 );
98+
99+ }
100+
101+ @ Disabled ("Remove to run test" )
102+ @ Test
103+ @ DisplayName ("Measure using bucket one much smaller than bucket two" )
104+ public void testBucketOneMuchSmallerThanBucketTwo () {
105+
106+ Result bucketResult = new TwoBucket (3 , 15 , 9 , "one" ).getResult ();
107+
108+ assertThat (bucketResult .getTotalMoves ()).isEqualTo (6 );
109+ assertThat (bucketResult .getFinalBucket ()).isEqualTo ("two" );
110+ assertThat (bucketResult .getOtherBucket ()).isEqualTo (0 );
111+
112+ }
113+
114+ @ Disabled ("Remove to run test" )
115+ @ Test
116+ @ DisplayName ("Not possible to reach the goal" )
82117 public void testReachingGoalIsImpossible () {
83-
118+
84119 assertThatExceptionOfType (UnreachableGoalException .class )
85120 .isThrownBy (() -> new TwoBucket (6 , 15 , 5 , "one" ).getResult ());
86121
87122 }
88123
89124 @ Disabled ("Remove to run test" )
90125 @ Test
126+ @ DisplayName ("With the same buckets but a different goal, then it is possible" )
91127 public void testBucketOneSizeSixBucketTwoSizeFifteenStartWithOne () {
92128
93129 Result bucketResult = new TwoBucket (6 , 15 , 9 , "one" ).getResult ();
@@ -96,10 +132,11 @@ public void testBucketOneSizeSixBucketTwoSizeFifteenStartWithOne() {
96132 assertThat (bucketResult .getFinalBucket ()).isEqualTo ("two" );
97133 assertThat (bucketResult .getOtherBucket ()).isEqualTo (0 );
98134
99- }
135+ }
100136
101137 @ Disabled ("Remove to run test" )
102138 @ Test
139+ @ DisplayName ("Goal larger than both buckets is impossible" )
103140 public void testGoalLargerThanBothBucketsIsImpossible () {
104141
105142 assertThatExceptionOfType (UnreachableGoalException .class )
0 commit comments