33using GitVersionCore . Tests ;
44using NUnit . Framework ;
55using Shouldly ;
6- using System . Collections . Generic ;
76
87[ TestFixture ]
98public class VsoAgentBuildNumberTests
109{
1110 string key = "BUILD_BUILDNUMBER" ;
1211 string logPrefix = "##vso[build.updatebuildnumber]" ;
13- List < Tuple < string , string , string > > examples ;
1412 VsoAgent versionBuilder = new VsoAgent ( ) ;
1513
16- [ SetUp ]
17- public void SetUpVsoAgentBuildNumberTest ( )
18- {
19- examples = new List < Tuple < string , string , string > > ( ) ;
20- }
21-
2214 [ TearDown ]
2315 public void TearDownVsoAgentBuildNumberTest ( )
2416 {
25- examples = null ;
2617 Environment . SetEnvironmentVariable ( key , null , EnvironmentVariableTarget . Process ) ;
2718 }
2819
2920
30- [ Test ]
31- public void VsoAgentBuildNumberWithFullSemVer ( )
21+ [ TestCase ( "$(GitVersion.FullSemVer)" , "1.0.0" , "1.0.0" ) ]
22+ [ TestCase ( "$(GITVERSION_FULLSEMVER)" , "1.0.0" , "1.0.0" ) ]
23+ [ TestCase ( "$(GitVersion.FullSemVer)-Build.1234" , "1.0.0" , "1.0.0-Build.1234" ) ]
24+ [ TestCase ( "$(GITVERSION_FULLSEMVER)-Build.1234" , "1.0.0" , "1.0.0-Build.1234" ) ]
25+ public void VsoAgentBuildNumberWithFullSemVer ( string buildNumberFormat , string myFullSemVer , string expectedBuildNumber )
3226 {
33- examples . Add ( new Tuple < string , string , string > ( "$(GitVersion.FullSemVer)" , "1.0.0" , "1.0.0" ) ) ;
34- examples . Add ( new Tuple < string , string , string > ( "$(GITVERSION_FULLSEMVER)" , "1.0.0" , "1.0.0" ) ) ;
35- examples . Add ( new Tuple < string , string , string > ( "$(GitVersion.FullSemVer)-Build.1234" , "1.0.0" , "1.0.0-Build.1234" ) ) ;
36- examples . Add ( new Tuple < string , string , string > ( "$(GITVERSION_FULLSEMVER)-Build.1234" , "1.0.0" , "1.0.0-Build.1234" ) ) ;
37-
38- foreach ( var example in examples )
39- {
40- Environment . SetEnvironmentVariable ( key , example . Item1 , EnvironmentVariableTarget . Process ) ;
41- var vars = new TestableVersionVariables ( fullSemVer : example . Item2 ) ;
42-
43- var logMessage = versionBuilder . GenerateSetVersionMessage ( vars ) ;
44- logMessage . ShouldBe ( logPrefix + example . Item3 ) ;
45- }
27+ Environment . SetEnvironmentVariable ( key , buildNumberFormat , EnvironmentVariableTarget . Process ) ;
28+ var vars = new TestableVersionVariables ( fullSemVer : myFullSemVer ) ;
29+ var logMessage = versionBuilder . GenerateSetVersionMessage ( vars ) ;
30+ logMessage . ShouldBe ( logPrefix + expectedBuildNumber ) ;
4631 }
4732
4833
49- [ Test ]
50- public void VsoAgentBuildNumberWithSemVer ( )
34+ [ TestCase ( "$(GitVersion.SemVer)" , "1.0.0" , "1.0.0" ) ]
35+ [ TestCase ( "$(GITVERSION_SEMVER)" , "1.0.0" , "1.0.0" ) ]
36+ [ TestCase ( "$(GitVersion.SemVer)-Build.1234" , "1.0.0" , "1.0.0-Build.1234" ) ]
37+ [ TestCase ( "$(GITVERSION_SEMVER)-Build.1234" , "1.0.0" , "1.0.0-Build.1234" ) ]
38+ public void VsoAgentBuildNumberWithSemVer ( string buildNumberFormat , string mySemVer , string expectedBuildNumber )
5139 {
52- examples . Add ( new Tuple < string , string , string > ( "$(GitVersion.SemVer)" , "1.0.0" , "1.0.0" ) ) ;
53- examples . Add ( new Tuple < string , string , string > ( "$(GITVERSION_SEMVER)" , "1.0.0" , "1.0.0" ) ) ;
54- examples . Add ( new Tuple < string , string , string > ( "$(GitVersion.SemVer)-Build.1234" , "1.0.0" , "1.0.0-Build.1234" ) ) ;
55- examples . Add ( new Tuple < string , string , string > ( "$(GITVERSION_SEMVER)-Build.1234" , "1.0.0" , "1.0.0-Build.1234" ) ) ;
56-
57- foreach ( var example in examples )
58- {
59- Environment . SetEnvironmentVariable ( key , example . Item1 , EnvironmentVariableTarget . Process ) ;
60- var vars = new TestableVersionVariables ( semVer : example . Item2 ) ;
61-
62- var logMessage = versionBuilder . GenerateSetVersionMessage ( vars ) ;
63- logMessage . ShouldBe ( logPrefix + example . Item3 ) ;
64- }
40+ Environment . SetEnvironmentVariable ( key , buildNumberFormat , EnvironmentVariableTarget . Process ) ;
41+ var vars = new TestableVersionVariables ( semVer : mySemVer ) ;
42+ var logMessage = versionBuilder . GenerateSetVersionMessage ( vars ) ;
43+ logMessage . ShouldBe ( logPrefix + expectedBuildNumber ) ;
6544 }
6645
6746}
0 commit comments