Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .config/dotnet-tools.json
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@
]
},
"demaconsulting.pandoctool": {
"version": "3.10.0",
"version": "3.10.1",
"commands": [
"pandoc"
]
Expand Down Expand Up @@ -75,7 +75,7 @@
]
},
"demaconsulting.sysml2tools.tool": {
"version": "0.1.0-beta.14",
"version": "0.1.0",
"commands": [
"sysml2tools"
]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -126,7 +126,7 @@ private void AppendRoutedSections(System.Text.StringBuilder markdown, string sub
{
// Render each configured section as a markdown heading with its item list
// sectionId (first tuple element) is unused here; only title and items are rendered
foreach (var (_, sectionTitle, items) in RoutedSections!)
foreach (var (_, sectionTitle, items) in RoutedSections ?? [])
{
// Add section heading
markdown.AppendLine(CultureInfo.InvariantCulture, $"{subHeading} {sectionTitle}");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,7 @@
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
</PackageReference>
<PackageReference Include="SonarAnalyzer.CSharp" Version="10.29.0.143774">
<PackageReference Include="SonarAnalyzer.CSharp" Version="10.30.0.144632">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
</PackageReference>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -168,7 +168,7 @@ private static bool IsOpeningFence(string line, out string fence)
break;

case "affected-versions" when !string.IsNullOrEmpty(value):
var parsed = VersionIntervalSet.Parse(value!);
var parsed = VersionIntervalSet.Parse(value);
if (parsed.Intervals.Count > 0)
{
affectedVersions = parsed;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
</PackageReference>
<PackageReference Include="SonarAnalyzer.CSharp" Version="10.29.0.143774">
<PackageReference Include="SonarAnalyzer.CSharp" Version="10.30.0.144632">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
</PackageReference>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -222,7 +222,7 @@ public void RepoConnectorBase_FindBaselineForPreRelease_SameCommitSkipped_Return
// Assert - returns the first tag with a different commit hash (v1.0.0), skipping same-hash entries
Assert.True(baseline != null, "Baseline should not be null when a different-commit predecessor exists");
Assert.True(
baseline!.VersionTag.Tag == "v1.0.0",
baseline.VersionTag.Tag == "v1.0.0",
$"Expected baseline 'v1.0.0' but got '{baseline.VersionTag.Tag}'");
}

Expand Down Expand Up @@ -269,7 +269,7 @@ public void RepoConnectorBase_FindBaselineForRelease_SkipsPreReleaseTags_Returns
// Assert - returns v1.0.0, the most recent non-pre-release tag
Assert.True(baseline != null, "Baseline should not be null when a preceding release tag exists");
Assert.True(
baseline!.VersionTag.Tag == "v1.0.0",
baseline.VersionTag.Tag == "v1.0.0",
$"Expected baseline 'v1.0.0' but got '{baseline.VersionTag.Tag}'");
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -329,9 +329,9 @@ public void VersionComparable_CompareTo_SemanticVersions_ReturnsCorrectOrder()
{
var current = versions[i];
var next = versions[i + 1];
var result = current!.CompareTo(next);
var result = current.CompareTo(next);

Assert.True(result < 0, $"{current.CompareVersion} should be less than {next!.CompareVersion}");
Assert.True(result < 0, $"{current.CompareVersion} should be less than {next.CompareVersion}");
}
}

Expand Down Expand Up @@ -398,7 +398,7 @@ public void VersionComparable_CompareTo_PreReleaseNumeric_ComparesNumerically()
var version10 = VersionComparable.Create("1.0.0-alpha.10");

// Act
var result = version5!.CompareTo(version10);
var result = version5.CompareTo(version10);

// Assert
Assert.True(result < 0, "1.0.0-alpha.5 should be less than 1.0.0-alpha.10 (numeric comparison)");
Expand All @@ -418,9 +418,9 @@ public void VersionComparable_CompareTo_PreReleaseSemVerRules_CorrectOrdering()
{
var current = versions[i];
var next = versions[i + 1];
var result = current!.CompareTo(next);
var result = current.CompareTo(next);

Assert.True(result < 0, $"{current.CompareVersion} should be less than {next!.CompareVersion}");
Assert.True(result < 0, $"{current.CompareVersion} should be less than {next.CompareVersion}");
}
}

Expand All @@ -435,7 +435,7 @@ public void VersionComparable_CompareTo_NumericVsNonNumeric_NumericIsLess()
var nonNumericVersion = VersionComparable.Create("1.0.0-alpha");

// Act
var result = numericVersion!.CompareTo(nonNumericVersion);
var result = numericVersion.CompareTo(nonNumericVersion);

// Assert
Assert.True(result < 0, "1.0.0-1 should be less than 1.0.0-alpha (numeric < non-numeric)");
Expand All @@ -452,7 +452,7 @@ public void VersionComparable_CompareTo_ShorterPreRelease_IsLess()
var longerVersion = VersionComparable.Create("1.0.0-alpha.1");

// Act
var result = shorterVersion!.CompareTo(longerVersion);
var result = shorterVersion.CompareTo(longerVersion);

// Assert
Assert.True(result < 0, "1.0.0-alpha should be less than 1.0.0-alpha.1 (shorter is less)");
Expand All @@ -471,9 +471,9 @@ public void VersionComparable_CompareTo_ComplexPreRelease_CorrectOrdering()
var test4 = VersionComparable.Create("1.0.0-alpha.beta.1");

// Act & Assert
Assert.True(test1!.CompareTo(test2) < 0, "alpha.1.2 < alpha.1.10 (numeric segment comparison)");
Assert.True(test2!.CompareTo(test3) < 0, "alpha.1.10 < alpha.2.1 (first numeric difference wins)");
Assert.True(test3!.CompareTo(test4) < 0, "alpha.2.1 < alpha.beta.1 (numeric < non-numeric)");
Assert.True(test1.CompareTo(test2) < 0, "alpha.1.2 < alpha.1.10 (numeric segment comparison)");
Assert.True(test2.CompareTo(test3) < 0, "alpha.1.10 < alpha.2.1 (first numeric difference wins)");
Assert.True(test3.CompareTo(test4) < 0, "alpha.2.1 < alpha.beta.1 (numeric < non-numeric)");
}
}

Expand Down
26 changes: 13 additions & 13 deletions test/DemaConsulting.BuildMark.Tests/Version/VersionIntervalTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -328,11 +328,11 @@ public void VersionInterval_Contains_PreReleaseBounds_HandlesCorrectly()

// Act & Assert
Assert.True(interval!.Contains("1.2.0-rc.1")); // Equal to inclusive lower bound
Assert.True(interval!.Contains("1.2.0-rc.2")); // Between bounds (rc.2 > rc.1)
Assert.True(interval!.Contains("1.2.0")); // Equal to inclusive upper bound
Assert.False(interval!.Contains("1.2.0-alpha.1")); // Before lower bound (alpha < rc)
Assert.False(interval!.Contains("1.2.1")); // After upper bound
Assert.False(interval!.Contains("1.1.9")); // Before lower bound
Assert.True(interval.Contains("1.2.0-rc.2")); // Between bounds (rc.2 > rc.1)
Assert.True(interval.Contains("1.2.0")); // Equal to inclusive upper bound
Assert.False(interval.Contains("1.2.0-alpha.1")); // Before lower bound (alpha < rc)
Assert.False(interval.Contains("1.2.1")); // After upper bound
Assert.False(interval.Contains("1.1.9")); // Before lower bound
}

/// <summary>
Expand All @@ -346,9 +346,9 @@ public void VersionInterval_Contains_PreReleaseToPreRelease_HandlesCorrectly()

// Act & Assert
Assert.True(interval!.Contains("1.2.0-alpha.1")); // Equal to inclusive lower bound
Assert.True(interval!.Contains("1.2.0-beta.1")); // Between bounds
Assert.False(interval!.Contains("1.2.0-rc.1")); // Equal to exclusive upper bound
Assert.False(interval!.Contains("1.2.0")); // After upper bound (release > pre-release)
Assert.True(interval.Contains("1.2.0-beta.1")); // Between bounds
Assert.False(interval.Contains("1.2.0-rc.1")); // Equal to exclusive upper bound
Assert.False(interval.Contains("1.2.0")); // After upper bound (release > pre-release)
}

/// <summary>
Expand All @@ -362,10 +362,10 @@ public void VersionInterval_Contains_PreReleaseOrdering_UsesNumericComparison()

// Act & Assert
Assert.True(interval!.Contains("1.0.0-alpha.5")); // Equal to lower bound
Assert.True(interval!.Contains("1.0.0-alpha.6")); // Between bounds
Assert.True(interval!.Contains("1.0.0-alpha.10")); // Equal to upper bound
Assert.False(interval!.Contains("1.0.0-alpha.4")); // Before lower bound
Assert.False(interval!.Contains("1.0.0-alpha.11")); // After upper bound
Assert.True(interval.Contains("1.0.0-alpha.6")); // Between bounds
Assert.True(interval.Contains("1.0.0-alpha.10")); // Equal to upper bound
Assert.False(interval.Contains("1.0.0-alpha.4")); // Before lower bound
Assert.False(interval.Contains("1.0.0-alpha.11")); // After upper bound
}

/// <summary>
Expand All @@ -381,7 +381,7 @@ public void VersionInterval_Contains_VersionComparable_HandlesPreRelease()

// Act & Assert
Assert.True(interval!.Contains(preReleaseVersion));
Assert.True(interval!.Contains(releaseVersion));
Assert.True(interval.Contains(releaseVersion));
}
}

Expand Down
20 changes: 10 additions & 10 deletions test/DemaConsulting.BuildMark.Tests/Version/VersionTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -119,7 +119,7 @@ public void VersionCommitTag_Constructor_ValidParameters_CreatesInstance()
var commitHash = "abc123def456789";

// Act
var versionCommitTag = new VersionCommitTag(versionTag!, commitHash);
var versionCommitTag = new VersionCommitTag(versionTag, commitHash);

// Assert
Assert.NotNull(versionCommitTag);
Expand All @@ -140,7 +140,7 @@ public void Version_Subsystem_CreateAllVersionTypes_WorksCorrectly()
var versionSemantic = VersionSemantic.Create("2.0.0-beta.2+build.1");
var versionTag = VersionTag.Create("v3.1.0");
var versionInterval = new VersionInterval("1.0.0", true, "2.0.0", false);
var versionCommitTag = new VersionCommitTag(versionTag!, "abc123def456");
var versionCommitTag = new VersionCommitTag(versionTag, "abc123def456");

// Assert - All types are created successfully
Assert.NotNull(versionComparable);
Expand Down Expand Up @@ -173,11 +173,11 @@ public void Version_Subsystem_SemanticVersioningCompliance_WorksCorrectly()
var version6 = VersionComparable.Create("1.0.0");

// Assert - SemVer precedence is maintained
Assert.True(version1!.CompareTo(version2) < 0, "1.0.0-alpha < 1.0.0-alpha.1");
Assert.True(version2!.CompareTo(version3) < 0, "1.0.0-alpha.1 < 1.0.0-alpha.beta");
Assert.True(version3!.CompareTo(version4) < 0, "1.0.0-alpha.beta < 1.0.0-beta");
Assert.True(version4!.CompareTo(version5) < 0, "1.0.0-beta < 1.0.0-beta.2");
Assert.True(version5!.CompareTo(version6) < 0, "1.0.0-beta.2 < 1.0.0");
Assert.True(version1.CompareTo(version2) < 0, "1.0.0-alpha < 1.0.0-alpha.1");
Assert.True(version2.CompareTo(version3) < 0, "1.0.0-alpha.1 < 1.0.0-alpha.beta");
Assert.True(version3.CompareTo(version4) < 0, "1.0.0-alpha.beta < 1.0.0-beta");
Assert.True(version4.CompareTo(version5) < 0, "1.0.0-beta < 1.0.0-beta.2");
Assert.True(version5.CompareTo(version6) < 0, "1.0.0-beta.2 < 1.0.0");
}

/// <summary>
Expand All @@ -193,9 +193,9 @@ public void Version_Subsystem_TagToComparableIntegration_WorksCorrectly()
var tag3 = VersionTag.Create("release-1.5.0");

// Act - Get comparable versions
var comparable1 = tag1!.Semantic.Comparable;
var comparable2 = tag2!.Semantic.Comparable;
var comparable3 = tag3!.Semantic.Comparable;
var comparable1 = tag1.Semantic.Comparable;
var comparable2 = tag2.Semantic.Comparable;
var comparable3 = tag3.Semantic.Comparable;

// Assert - Comparable versions are extracted correctly
Assert.NotNull(comparable1);
Expand Down
Loading