77
88using BleakwindBuffet . Data ;
99using BleakwindBuffet . Data . Enums ;
10+ using BleakwindBuffet . Data . Drinks ;
1011
1112namespace BleakwindBuffet . DataTests . UnitTests . DrinkTests
1213{
@@ -15,41 +16,63 @@ public class CandlehearthCoffeeTests
1516 [ Fact ]
1617 public void ShouldNotIncludeIceByDefault ( )
1718 {
19+ CandlehearthCoffee coffee = new CandlehearthCoffee ( ) ;
20+ Assert . False ( coffee . Ice ) ;
1821 }
1922
2023 [ Fact ]
2124 public void ShouldNotBeDecafByDefault ( )
2225 {
26+ CandlehearthCoffee coffee = new CandlehearthCoffee ( ) ;
27+ Assert . False ( coffee . Decaf ) ;
2328 }
2429
2530 [ Fact ]
2631 public void ShouldNotHaveRoomForCreamByDefault ( )
2732 {
33+ CandlehearthCoffee coffee = new CandlehearthCoffee ( ) ;
34+ Assert . False ( coffee . RoomForCream ) ;
2835 }
2936
3037 [ Fact ]
3138 public void ShouldBeSmallByDefault ( )
3239 {
40+ CandlehearthCoffee coffee = new CandlehearthCoffee ( ) ;
41+ Assert . Equal ( Size . Small , coffee . Size ) ;
3342 }
3443
3544 [ Fact ]
3645 public void ShouldBeAbleToSetIce ( )
3746 {
47+ CandlehearthCoffee coffee = new CandlehearthCoffee ( ) ;
48+ coffee . Ice = true ;
49+ Assert . True ( coffee . Ice ) ;
3850 }
3951
4052 [ Fact ]
4153 public void ShouldBeAbleToSetDecaf ( )
4254 {
55+ CandlehearthCoffee coffee = new CandlehearthCoffee ( ) ;
56+ coffee . Decaf = true ;
57+ Assert . True ( coffee . Decaf ) ;
4358 }
4459
4560 [ Fact ]
4661 public void ShouldBeAbleToSetRoomForCream ( )
4762 {
63+ CandlehearthCoffee coffee = new CandlehearthCoffee ( ) ;
64+ coffee . RoomForCream = true ;
65+ Assert . True ( coffee . RoomForCream ) ;
4866 }
4967
5068 [ Fact ]
5169 public void ShouldBeAbleToSetSize ( )
5270 {
71+ CandlehearthCoffee coffee = new CandlehearthCoffee ( ) ;
72+ coffee . Size = Size . Medium ;
73+ Assert . Equal ( Size . Medium , coffee . Size ) ;
74+ coffee . Size = Size . Large ;
75+ Assert . Equal ( Size . Large , coffee . Size ) ;
5376 }
5477
5578 [ Theory ]
@@ -58,6 +81,9 @@ public void ShouldBeAbleToSetSize()
5881 [ InlineData ( Size . Large , 1.75 ) ]
5982 public void ShouldHaveCorrectPriceForSize ( Size size , double price )
6083 {
84+ CandlehearthCoffee coffee = new CandlehearthCoffee ( ) ;
85+ coffee . Size = size ;
86+ Assert . True ( price == coffee . Price ) ;
6187 }
6288
6389 [ Theory ]
@@ -66,6 +92,9 @@ public void ShouldHaveCorrectPriceForSize(Size size, double price)
6692 [ InlineData ( Size . Large , 20 ) ]
6793 public void ShouldHaveCorrectCaloriesForSize ( Size size , uint cal )
6894 {
95+ CandlehearthCoffee coffee = new CandlehearthCoffee ( ) ;
96+ coffee . Size = size ;
97+ Assert . True ( cal == coffee . Calories ) ;
6998 }
7099
71100 [ Theory ]
@@ -75,6 +104,27 @@ public void ShouldHaveCorrectCaloriesForSize(Size size, uint cal)
75104 [ InlineData ( false , false ) ]
76105 public void ShouldHaveCorrectSpecialInstructions ( bool includeIce , bool includeCream )
77106 {
107+ CandlehearthCoffee coffee = new CandlehearthCoffee ( ) ;
108+ coffee . Ice = includeIce ;
109+ coffee . RoomForCream = includeCream ;
110+
111+ if ( includeIce && includeCream )
112+ {
113+ Assert . Equal ( "Add ice" , coffee . SpecialInstructions [ 0 ] ) ;
114+ Assert . Equal ( "Add cream" , coffee . SpecialInstructions [ 1 ] ) ;
115+ }
116+ else if ( includeIce && ! includeCream )
117+ {
118+ Assert . Equal ( "Add ice" , coffee . SpecialInstructions [ 0 ] ) ;
119+ }
120+ else if ( ! includeIce && includeCream )
121+ {
122+ Assert . Equal ( "Add cream" , coffee . SpecialInstructions [ 0 ] ) ;
123+ }
124+ else
125+ {
126+ Assert . Empty ( coffee . SpecialInstructions ) ;
127+ }
78128 }
79129
80130 [ Theory ]
@@ -86,6 +136,10 @@ public void ShouldHaveCorrectSpecialInstructions(bool includeIce, bool includeCr
86136 [ InlineData ( false , Size . Large , "Large Candlehearth Coffee" ) ]
87137 public void ShouldReturnCorrectToStringBasedOnSize ( bool decaf , Size size , string name )
88138 {
139+ CandlehearthCoffee coffee = new CandlehearthCoffee ( ) ;
140+ coffee . Decaf = decaf ;
141+ coffee . Size = size ;
142+ Assert . Equal ( name , coffee . ToString ( ) ) ;
89143 }
90144 }
91145}
0 commit comments