Skip to content

Commit a6e4aeb

Browse files
committed
Add additional test cases to VersionOracleTests
For the test "CanSetPrecisionForNuGetPackageVersion", add test cases to verify the NuGet package version is computed correctly when a static prerelease tag is configured in version.json
1 parent 0782df5 commit a6e4aeb

File tree

1 file changed

+50
-20
lines changed

1 file changed

+50
-20
lines changed

src/NerdBank.GitVersioning.Tests/VersionOracleTests.cs

Lines changed: 50 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -381,26 +381,41 @@ public void CanSetSemVer2ForNuGetPackageVersionPublicRelease()
381381
[InlineData(1, "1.2", VersionOptions.VersionPrecision.Minor, "1.2.0")]
382382
[InlineData(1, "1.2", VersionOptions.VersionPrecision.Build, "1.2.1")]
383383
[InlineData(1, "1.2", VersionOptions.VersionPrecision.Revision, "1.2.1.<commit>")]
384-
// 2 version fields configured in version.json
385-
[InlineData(1, "1.2.3", VersionOptions.VersionPrecision.Major, "1.0.0")]
386-
[InlineData(1, "1.2.3", VersionOptions.VersionPrecision.Minor, "1.2.0")]
387-
[InlineData(1, "1.2.3", VersionOptions.VersionPrecision.Build, "1.2.3")]
388-
[InlineData(1, "1.2.3", VersionOptions.VersionPrecision.Revision, "1.2.3.1")]
389-
// 4 version fields configured in version.json
390-
[InlineData(1, "1.2.3.4", VersionOptions.VersionPrecision.Major, "1.0.0")]
391-
[InlineData(1, "1.2.3.4", VersionOptions.VersionPrecision.Minor, "1.2.0")]
392-
[InlineData(1, "1.2.3.4", VersionOptions.VersionPrecision.Build, "1.2.3")]
393-
[InlineData(1, "1.2.3.4", VersionOptions.VersionPrecision.Revision, "1.2.3.4")]
384+
// 2 version fields and a static prerelease tag configured in version.json
385+
[InlineData(1, "1.2-alpha", VersionOptions.VersionPrecision.Major, "1.0.0-alpha")]
386+
[InlineData(1, "1.2-alpha", VersionOptions.VersionPrecision.Minor, "1.2.0-alpha")]
387+
[InlineData(1, "1.2-alpha", VersionOptions.VersionPrecision.Build, "1.2.1-alpha")]
388+
[InlineData(1, "1.2-alpha", VersionOptions.VersionPrecision.Revision, "1.2.1.<commit>-alpha")]
394389
// 2 version fields with git height in prerelease tag configured in version.json
395390
[InlineData(1, "1.2-alpha.{height}", VersionOptions.VersionPrecision.Major, "1.0.0-alpha-0001")]
396391
[InlineData(1, "1.2-alpha.{height}", VersionOptions.VersionPrecision.Minor, "1.2.0-alpha-0001")]
397392
[InlineData(1, "1.2-alpha.{height}", VersionOptions.VersionPrecision.Build, "1.2.0-alpha-0001")]
398393
[InlineData(1, "1.2-alpha.{height}", VersionOptions.VersionPrecision.Revision, "1.2.0.0-alpha-0001")]
394+
// 3 version fields configured in version.json
395+
[InlineData(1, "1.2.3", VersionOptions.VersionPrecision.Major, "1.0.0")]
396+
[InlineData(1, "1.2.3", VersionOptions.VersionPrecision.Minor, "1.2.0")]
397+
[InlineData(1, "1.2.3", VersionOptions.VersionPrecision.Build, "1.2.3")]
398+
[InlineData(1, "1.2.3", VersionOptions.VersionPrecision.Revision, "1.2.3.1")]
399+
// 3 version fields and a static prerelease tag configured in version.json
400+
[InlineData(1, "1.2.3-alpha", VersionOptions.VersionPrecision.Major, "1.0.0-alpha")]
401+
[InlineData(1, "1.2.3-alpha", VersionOptions.VersionPrecision.Minor, "1.2.0-alpha")]
402+
[InlineData(1, "1.2.3-alpha", VersionOptions.VersionPrecision.Build, "1.2.3-alpha")]
403+
[InlineData(1, "1.2.3-alpha", VersionOptions.VersionPrecision.Revision, "1.2.3.1-alpha")]
399404
// 3 version fields with git height in prerelease tag configured in version.json
400405
[InlineData(1, "1.2.3-alpha.{height}", VersionOptions.VersionPrecision.Major, "1.0.0-alpha-0001")]
401406
[InlineData(1, "1.2.3-alpha.{height}", VersionOptions.VersionPrecision.Minor, "1.2.0-alpha-0001")]
402407
[InlineData(1, "1.2.3-alpha.{height}", VersionOptions.VersionPrecision.Build, "1.2.3-alpha-0001")]
403408
[InlineData(1, "1.2.3-alpha.{height}", VersionOptions.VersionPrecision.Revision, "1.2.3.0-alpha-0001")]
409+
// 4 version fields configured in version.json
410+
[InlineData(1, "1.2.3.4", VersionOptions.VersionPrecision.Major, "1.0.0")]
411+
[InlineData(1, "1.2.3.4", VersionOptions.VersionPrecision.Minor, "1.2.0")]
412+
[InlineData(1, "1.2.3.4", VersionOptions.VersionPrecision.Build, "1.2.3")]
413+
[InlineData(1, "1.2.3.4", VersionOptions.VersionPrecision.Revision, "1.2.3.4")]
414+
// 4 version fields and a static prerelease tag configured in version.json
415+
[InlineData(1, "1.2.3.4-alpha", VersionOptions.VersionPrecision.Major, "1.0.0-alpha")]
416+
[InlineData(1, "1.2.3.4-alpha", VersionOptions.VersionPrecision.Minor, "1.2.0-alpha")]
417+
[InlineData(1, "1.2.3.4-alpha", VersionOptions.VersionPrecision.Build, "1.2.3-alpha")]
418+
[InlineData(1, "1.2.3.4-alpha", VersionOptions.VersionPrecision.Revision, "1.2.3.4-alpha")]
404419
// 4 version fields with git height in prerelease tag configured in version.json
405420
[InlineData(1, "1.2.3.4-alpha.{height}", VersionOptions.VersionPrecision.Major, "1.0.0-alpha-0001")]
406421
[InlineData(1, "1.2.3.4-alpha.{height}", VersionOptions.VersionPrecision.Minor, "1.2.0-alpha-0001")]
@@ -414,26 +429,41 @@ public void CanSetSemVer2ForNuGetPackageVersionPublicRelease()
414429
[InlineData(2, "1.2", VersionOptions.VersionPrecision.Minor, "1.2.0")]
415430
[InlineData(2, "1.2", VersionOptions.VersionPrecision.Build, "1.2.1")]
416431
[InlineData(2, "1.2", VersionOptions.VersionPrecision.Revision, "1.2.1.<commit>")]
417-
// 3 version fields configured in version.json
418-
[InlineData(2, "1.2.3", VersionOptions.VersionPrecision.Major, "1.0.0")]
419-
[InlineData(2, "1.2.3", VersionOptions.VersionPrecision.Minor, "1.2.0")]
420-
[InlineData(2, "1.2.3", VersionOptions.VersionPrecision.Build, "1.2.3")]
421-
[InlineData(2, "1.2.3", VersionOptions.VersionPrecision.Revision, "1.2.3.1")]
422-
// 4 version fields configured in version.json
423-
[InlineData(2, "1.2.3.4", VersionOptions.VersionPrecision.Major, "1.0.0")]
424-
[InlineData(2, "1.2.3.4", VersionOptions.VersionPrecision.Minor, "1.2.0")]
425-
[InlineData(2, "1.2.3.4", VersionOptions.VersionPrecision.Build, "1.2.3")]
426-
[InlineData(2, "1.2.3.4", VersionOptions.VersionPrecision.Revision, "1.2.3.4")]
432+
// 2 version fields and a static prerelease tag configured in version.json
433+
[InlineData(2, "1.2-alpha", VersionOptions.VersionPrecision.Major, "1.0.0-alpha")]
434+
[InlineData(2, "1.2-alpha", VersionOptions.VersionPrecision.Minor, "1.2.0-alpha")]
435+
[InlineData(2, "1.2-alpha", VersionOptions.VersionPrecision.Build, "1.2.1-alpha")]
436+
[InlineData(2, "1.2-alpha", VersionOptions.VersionPrecision.Revision, "1.2.1.<commit>-alpha")]
427437
// 2 version fields with git height in prerelease tag configured in version.json
428438
[InlineData(2, "1.2-alpha.{height}", VersionOptions.VersionPrecision.Major, "1.0.0-alpha.1")]
429439
[InlineData(2, "1.2-alpha.{height}", VersionOptions.VersionPrecision.Minor, "1.2.0-alpha.1")]
430440
[InlineData(2, "1.2-alpha.{height}", VersionOptions.VersionPrecision.Build, "1.2.0-alpha.1")]
431441
[InlineData(2, "1.2-alpha.{height}", VersionOptions.VersionPrecision.Revision, "1.2.0.0-alpha.1")]
442+
// 3 version fields configured in version.json
443+
[InlineData(2, "1.2.3", VersionOptions.VersionPrecision.Major, "1.0.0")]
444+
[InlineData(2, "1.2.3", VersionOptions.VersionPrecision.Minor, "1.2.0")]
445+
[InlineData(2, "1.2.3", VersionOptions.VersionPrecision.Build, "1.2.3")]
446+
[InlineData(2, "1.2.3", VersionOptions.VersionPrecision.Revision, "1.2.3.1")]
447+
// 3 version fields and a static prerelease tag configured in version.json
448+
[InlineData(2, "1.2.3-alpha", VersionOptions.VersionPrecision.Major, "1.0.0-alpha")]
449+
[InlineData(2, "1.2.3-alpha", VersionOptions.VersionPrecision.Minor, "1.2.0-alpha")]
450+
[InlineData(2, "1.2.3-alpha", VersionOptions.VersionPrecision.Build, "1.2.3-alpha")]
451+
[InlineData(2, "1.2.3-alpha", VersionOptions.VersionPrecision.Revision, "1.2.3.1-alpha")]
432452
// 3 version fields with git height in prerelease tag configured in version.json
433453
[InlineData(2, "1.2.3-alpha.{height}", VersionOptions.VersionPrecision.Major, "1.0.0-alpha.1")]
434454
[InlineData(2, "1.2.3-alpha.{height}", VersionOptions.VersionPrecision.Minor, "1.2.0-alpha.1")]
435455
[InlineData(2, "1.2.3-alpha.{height}", VersionOptions.VersionPrecision.Build, "1.2.3-alpha.1")]
436456
[InlineData(2, "1.2.3-alpha.{height}", VersionOptions.VersionPrecision.Revision, "1.2.3.0-alpha.1")]
457+
// 4 version fields configured in version.json
458+
[InlineData(2, "1.2.3.4", VersionOptions.VersionPrecision.Major, "1.0.0")]
459+
[InlineData(2, "1.2.3.4", VersionOptions.VersionPrecision.Minor, "1.2.0")]
460+
[InlineData(2, "1.2.3.4", VersionOptions.VersionPrecision.Build, "1.2.3")]
461+
[InlineData(2, "1.2.3.4", VersionOptions.VersionPrecision.Revision, "1.2.3.4")]
462+
// 4 version fields and a static prerelease tag configured in version.json
463+
[InlineData(2, "1.2.3.4-alpha", VersionOptions.VersionPrecision.Major, "1.0.0-alpha")]
464+
[InlineData(2, "1.2.3.4-alpha", VersionOptions.VersionPrecision.Minor, "1.2.0-alpha")]
465+
[InlineData(2, "1.2.3.4-alpha", VersionOptions.VersionPrecision.Build, "1.2.3-alpha")]
466+
[InlineData(2, "1.2.3.4-alpha", VersionOptions.VersionPrecision.Revision, "1.2.3.4-alpha")]
437467
// 4 version fields with git height in prerelease tag configured in version.json
438468
[InlineData(2, "1.2.3.4-alpha.{height}", VersionOptions.VersionPrecision.Major, "1.0.0-alpha.1")]
439469
[InlineData(2, "1.2.3.4-alpha.{height}", VersionOptions.VersionPrecision.Minor, "1.2.0-alpha.1")]

0 commit comments

Comments
 (0)