11using System . Collections . Generic ;
22using System . Linq ;
3- using FizzWare . NBuilder ;
3+ using NTestDataBuilder . DataSources . Generators ;
4+ using NTestDataBuilder . Lists ;
45using NTestDataBuilder . Tests . Builders ;
56using NTestDataBuilder . Tests . Entities ;
67using Shouldly ;
@@ -15,7 +16,7 @@ public void GivenListOfBuilders_WhenCallingBuildList_ThenAListOfEntitiesOfTheRig
1516 {
1617 var builders = BasicCustomerBuilder . CreateListOfSize ( 5 ) ;
1718
18- var entities = builders . BuildList < Customer , BasicCustomerBuilder > ( ) ;
19+ var entities = builders . BuildList ( ) ;
1920
2021 entities . Count . ShouldBe ( 5 ) ;
2122 }
@@ -25,7 +26,7 @@ public void GivenListOfBuilders_WhenCallingBuildList_ThenAListOfEntitiesOfTheRig
2526 {
2627 var builders = BasicCustomerBuilder . CreateListOfSize ( 5 ) ;
2728
28- var entities = builders . BuildList < Customer , BasicCustomerBuilder > ( ) ;
29+ var entities = builders . BuildList ( ) ;
2930
3031 entities . ShouldBeAssignableTo < IList < Customer > > ( ) ;
3132 }
@@ -35,45 +36,6 @@ public void GivenListOfBuilders_WhenCallingBuildList_ThenAListOfUniqueEntitiesSh
3536 {
3637 var builders = BasicCustomerBuilder . CreateListOfSize ( 5 ) ;
3738
38- var entities = builders . BuildList < Customer , BasicCustomerBuilder > ( ) ;
39-
40- entities [ 0 ] . ShouldNotBe ( entities [ 1 ] ) ;
41- entities [ 0 ] . ShouldNotBe ( entities [ 2 ] ) ;
42- entities [ 0 ] . ShouldNotBe ( entities [ 3 ] ) ;
43- entities [ 0 ] . ShouldNotBe ( entities [ 4 ] ) ;
44- entities [ 1 ] . ShouldNotBe ( entities [ 2 ] ) ;
45- entities [ 1 ] . ShouldNotBe ( entities [ 3 ] ) ;
46- entities [ 1 ] . ShouldNotBe ( entities [ 4 ] ) ;
47- entities [ 2 ] . ShouldNotBe ( entities [ 3 ] ) ;
48- entities [ 2 ] . ShouldNotBe ( entities [ 4 ] ) ;
49- entities [ 3 ] . ShouldNotBe ( entities [ 4 ] ) ;
50- }
51-
52- [ Fact ]
53- public void GivenListOfBuildersWithNoCustomisation_WhenCallingExtensionMethodToBuildList_ThenListOfTheRightSizeShouldBeReturned ( )
54- {
55- var builders = CustomerBuilder . CreateListOfSize ( 5 ) ;
56-
57- var entities = builders . BuildList ( ) ;
58-
59- entities . Count . ShouldBe ( 5 ) ;
60- }
61-
62- [ Fact ]
63- public void GivenListOfBuildersWithNoCustomisation_WhenCallingExtensionMethodToBuildList_ThenListOfTheRightTypeShouldBeReturned ( )
64- {
65- var builders = CustomerBuilder . CreateListOfSize ( 5 ) ;
66-
67- var entities = builders . BuildList ( ) ;
68-
69- entities . ShouldBeAssignableTo < IList < Customer > > ( ) ;
70- }
71-
72- [ Fact ]
73- public void GivenListOfBuildersWithNoCustomisation_WhenCallingExtensionMethodToBuildList_ThenAListOfUniqueEntitiesShouldBeReturned ( )
74- {
75- var builders = CustomerBuilder . CreateListOfSize ( 5 ) ;
76-
7739 var entities = builders . BuildList ( ) ;
7840
7941 entities [ 0 ] . ShouldNotBe ( entities [ 1 ] ) ;
@@ -89,9 +51,9 @@ public void GivenListOfBuildersWithNoCustomisation_WhenCallingExtensionMethodToB
8951 }
9052
9153 [ Fact ]
92- public void GivenListOfBuildersWithCustomisation_WhenCallingExtensionMethodToBuildList_ThenTheCustomisationShouldTakeEffect ( )
54+ public void GivenListOfBuildersWithCustomisation_WhenBuildingEntities_ThenTheCustomisationShouldTakeEffect ( )
9355 {
94- var generator = new SequentialGenerator < int > ( ) ;
56+ var generator = new SequentialGenerator ( 0 , 100 ) ;
9557 var list = CustomerBuilder . CreateListOfSize ( 3 )
9658 . All ( ) . With ( b => b . WithFirstName ( generator . Generate ( ) . ToString ( ) ) ) ;
9759
@@ -100,5 +62,27 @@ public void GivenListOfBuildersWithCustomisation_WhenCallingExtensionMethodToBui
10062 data . Select ( c => c . FirstName ) . ToArray ( )
10163 . ShouldBe ( new [ ] { "0" , "1" , "2" } ) ;
10264 }
65+
66+ [ Fact ]
67+ public void GivenListOfBuildersWithARangeOfCustomisationMethods_WhenBuildingEntities_ThenThenTheListIsBuiltAndModifiedCorrectly ( )
68+ {
69+ var i = 0 ;
70+ var customers = CustomerBuilder . CreateListOfSize ( 5 )
71+ . TheFirst ( 1 ) . WithFirstName ( "First" )
72+ . TheNext ( 1 ) . WithLastName ( "Next Last" )
73+ . TheLast ( 1 ) . WithLastName ( "Last Last" )
74+ . ThePrevious ( 2 ) . With ( b => b . WithLastName ( "last" + ( ++ i ) . ToString ( ) ) )
75+ . All ( ) . WhoJoinedIn ( 1999 )
76+ . BuildList ( ) ;
77+
78+ customers . ShouldBeAssignableTo < IList < Customer > > ( ) ;
79+ customers . Count . ShouldBe ( 5 ) ;
80+ customers [ 0 ] . FirstName . ShouldBe ( "First" ) ;
81+ customers [ 1 ] . LastName . ShouldBe ( "Next Last" ) ;
82+ customers [ 2 ] . LastName . ShouldBe ( "last1" ) ;
83+ customers [ 3 ] . LastName . ShouldBe ( "last2" ) ;
84+ customers [ 4 ] . LastName . ShouldBe ( "Last Last" ) ;
85+ customers . ShouldAllBe ( c => c . YearJoined == 1999 ) ;
86+ }
10387 }
10488}
0 commit comments