11using System ;
2+ using System . Collections . Generic ;
23using Shouldly ;
34using TestStack . Dossier . Factories ;
45using TestStack . Dossier . Tests . TestHelpers . Objects . Examples ;
@@ -29,7 +30,7 @@ public void GivenBuilder_WhenCallingBuildImplicitly_ThenReturnAnObject()
2930 }
3031
3132 [ Fact ]
32- public void GivenBuilderWithModifications_WhenCallingBuildExplicitly_ShouldOverrideValues ( )
33+ public void GivenBuilderWithModifications_WhenCallingBuildExplicitly_ThenOverrideValues ( )
3334 {
3435 var builder = Builder < StudentViewModel > . CreateNew ( )
3536 . Set ( x => x . FirstName , "Pi" )
@@ -44,7 +45,7 @@ public void GivenBuilderWithModifications_WhenCallingBuildExplicitly_ShouldOverr
4445 }
4546
4647 [ Fact ]
47- public void GivenBuilderWithModifications_WhenCallingBuildImplicitly_ShouldOverrideValues ( )
48+ public void GivenBuilderWithModifications_WhenCallingBuildImplicitly_ThenOverrideValues ( )
4849 {
4950 StudentViewModel vm = Builder < StudentViewModel > . CreateNew ( )
5051 . Set ( x => x . FirstName , "Pi" )
@@ -57,7 +58,7 @@ public void GivenBuilderWithModifications_WhenCallingBuildImplicitly_ShouldOverr
5758 }
5859
5960 [ Fact ]
60- public void GivenBuilder_WhenBuildingObjectWithCtorAndPrivateSetters_ShouldSetPrivateSettersByDefault ( )
61+ public void GivenBuilder_WhenBuildingObjectWithCtorAndPrivateSetters_ThenSetPrivateSettersByDefault ( )
6162 {
6263 MixedAccessibilityDto dto = Builder < MixedAccessibilityDto > . CreateNew ( )
6364 . Set ( x => x . SetByCtorWithPublicSetter , "1" )
@@ -72,7 +73,7 @@ public void GivenBuilder_WhenBuildingObjectWithCtorAndPrivateSetters_ShouldSetPr
7273 }
7374
7475 [ Fact ]
75- public void GivenBuilderWithFactoryOverride_WhenBuildingObject_ShouldRespectOverriddenFactory ( )
76+ public void GivenBuilderWithFactoryOverride_WhenBuildingObject_ThenRespectOverriddenFactory ( )
7677 {
7778 MixedAccessibilityDto dto = Builder < MixedAccessibilityDto > . CreateNew ( new CallConstructorFactory ( ) )
7879 . Set ( x => x . SetByCtorWithPublicSetter , "1" )
@@ -85,5 +86,21 @@ public void GivenBuilderWithFactoryOverride_WhenBuildingObject_ShouldRespectOver
8586 dto . NotSetByCtorWithPrivateSetter . ShouldNotBe ( "3" ) ;
8687 dto . NotSetByCtorWithPublicSetter . ShouldNotBe ( "4" ) ;
8788 }
89+
90+ [ Fact ]
91+ public void GivenBuilder_WhenCallingSetWithLambda_ThenInvokeEachTime ( )
92+ {
93+ var grade = Grade . A ;
94+ var builder = Builder < StudentViewModel > . CreateNew ( )
95+ . Set ( x => x . FirstName , "Pi" )
96+ . Set ( x => x . LastName , "Lanningham" )
97+ . Set ( x => x . Grade , ( ) => grade ++ ) ;
98+
99+ var customerA = builder . Build ( ) ;
100+ var customerB = builder . Build ( ) ;
101+
102+ customerA . Grade . ShouldBe ( Grade . A ) ;
103+ customerB . Grade . ShouldBe ( Grade . B ) ;
104+ }
88105 }
89106}
0 commit comments