File tree Expand file tree Collapse file tree 3 files changed +36
-0
lines changed
Expand file tree Collapse file tree 3 files changed +36
-0
lines changed Original file line number Diff line number Diff line change @@ -172,5 +172,24 @@ public void WhenBuildingEntitiesImplicitly_ThenTheAnonymousValueFixtureIsSharedA
172172 customers [ 3 ] . CustomerClass . ShouldBe ( CustomerClass . Gold ) ;
173173 customers [ 4 ] . CustomerClass . ShouldBe ( CustomerClass . Platinum ) ;
174174 }
175+
176+ [ Fact ]
177+ public void GivenBuilderWithSetCallsInConstructor_WhenBuildingAListOfTheBuilders_ThenDefaultValuesShouldBeRespectedUnlessOverridden ( )
178+ {
179+ const string overriddenFirstName = "FirstOverride" ;
180+ const string overriddenLastName = "LastOverride" ;
181+
182+ var customers = BuilderWithDefaults . CreateListOfSize ( 3 )
183+ . TheFirst ( 1 ) . With ( x => x . Set ( y => y . FirstName , overriddenFirstName ) )
184+ . TheNext ( 1 ) . With ( x => x . Set ( y => y . LastName , overriddenLastName ) )
185+ . BuildList ( ) ;
186+
187+ customers [ 0 ] . FirstName . ShouldBe ( overriddenFirstName ) ;
188+ customers [ 0 ] . LastName . ShouldBe ( BuilderWithDefaults . DefaultLastName ) ;
189+ customers [ 1 ] . FirstName . ShouldBe ( BuilderWithDefaults . DefaultFirstName ) ;
190+ customers [ 1 ] . LastName . ShouldBe ( overriddenLastName ) ;
191+ customers [ 2 ] . FirstName . ShouldBe ( BuilderWithDefaults . DefaultFirstName ) ;
192+ customers [ 2 ] . LastName . ShouldBe ( BuilderWithDefaults . DefaultLastName ) ;
193+ }
175194 }
176195}
Original file line number Diff line number Diff line change 1+ using TestStack . Dossier . Tests . TestHelpers . Objects . Entities ;
2+
3+ namespace TestStack . Dossier . Tests . TestHelpers . Builders
4+ {
5+ public class BuilderWithDefaults : TestDataBuilder < Customer , BuilderWithDefaults >
6+ {
7+ public const string DefaultFirstName = "Joe" ;
8+ public const string DefaultLastName = "Bloggs" ;
9+
10+ public BuilderWithDefaults ( )
11+ {
12+ Set ( x => x . FirstName , DefaultFirstName ) ;
13+ Set ( x => x . LastName , DefaultLastName ) ;
14+ }
15+ }
16+ }
Original file line number Diff line number Diff line change 6565 <Compile Include =" Factories\AutoFixtureFactoryTests.cs" />
6666 <Compile Include =" Factories\CallConstructorFactoryTests.cs" />
6767 <Compile Include =" Factories\PublicPropertySettersFactoryTests.cs" />
68+ <Compile Include =" TestHelpers\Builders\BuilderWithDefaults.cs" />
6869 <Compile Include =" TestHelpers\Objects\Entities\Company.cs" />
6970 <Compile Include =" TestHelpers\Objects\Entities\Customer.cs" />
7071 <Compile Include =" TestHelpers\Objects\Entities\CustomerClass.cs" />
You can’t perform that action at this time.
0 commit comments