1+ using NUnit . Framework ;
2+ using TestStack . BDDfy . Samples . BuyingTrainFares ;
3+
4+ namespace TestStack . BDDfy . Samples
5+ {
6+ [ TestFixture ]
7+ public class BuyingTrainFareWithExamples
8+ {
9+ private Fare fare ;
10+ private BuyerCategory _buyerCategory ;
11+ Money Price { get ; set ; }
12+
13+ [ Test ]
14+ public void SuccessfulRailCardPurchases ( )
15+ {
16+ this . Given ( _ => TheBuyerIsA ( _buyerCategory ) )
17+ . And ( _ => TheBuyerSelectsA ( fare ) )
18+ . When ( _ => TheBuyerPays ( ) )
19+ . Then ( _ => ASaleOccursWithAnAmountOf ( Price ) )
20+ . WithExamples ( new ExampleTable (
21+ "Buyer Category" , "Fare" , "Price" )
22+ {
23+ { BuyerCategory . Student , new MonthlyPass ( ) , new Money ( 76 ) } ,
24+ { BuyerCategory . Senior , new MonthlyPass ( ) , new Money ( 98 ) } ,
25+ { BuyerCategory . Standard , new MonthlyPass ( ) , new Money ( 146 ) } ,
26+ { BuyerCategory . Student , new WeeklyPass ( ) , new Money ( 23 ) } ,
27+ { BuyerCategory . Senior , new WeeklyPass ( ) , new Money ( 30 ) } ,
28+ { BuyerCategory . Standard , new WeeklyPass ( ) , new Money ( 44 ) } ,
29+ { BuyerCategory . Student , new DayPass ( ) , new Money ( 4 ) } ,
30+ { BuyerCategory . Senior , new DayPass ( ) , new Money ( 5 ) } ,
31+ { BuyerCategory . Standard , new DayPass ( ) , new Money ( 7 ) } ,
32+ { BuyerCategory . Student , new SingleTicket ( ) , new Money ( 1.5m ) } ,
33+ { BuyerCategory . Senior , new SingleTicket ( ) , new Money ( 2m ) } ,
34+ { BuyerCategory . Standard , new SingleTicket ( ) , new Money ( 3m ) }
35+ } )
36+ . BDDfy ( "Successful rail card purchases" ) ;
37+ }
38+
39+ void TheBuyerIsA ( BuyerCategory buyerCategory )
40+ {
41+
42+ }
43+
44+ void TheBuyerSelectsA ( Fare fare )
45+ {
46+
47+ }
48+
49+ void TheBuyerPays ( )
50+ {
51+
52+ }
53+
54+ void ASaleOccursWithAnAmountOf ( Money price )
55+ {
56+
57+ }
58+ }
59+ }
0 commit comments