Skip to content

Commit a062723

Browse files
authored
Merge pull request #8 from TensionDev/feature/nuget-update
Changed to reference TensionDev.UUID v2.1.0.
2 parents 08ad502 + 1770263 commit a062723

3 files changed

Lines changed: 44 additions & 31 deletions

File tree

CHANGELOG.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,13 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
88

99
## [Unreleased]
1010

11+
## [v2.1.0] - 2026-03-05
12+
[v2.1.0](https://github.com/TensionDev/UUID.Serialization.JsonNet/releases/tag/v2.1.0)
13+
14+
### Changed
15+
- Changed to reference TensionDev.UUID v2.1.0.
16+
17+
1118
## [v2.0.0] - 2026-03-04
1219
[v2.0.0](https://github.com/TensionDev/UUID.Serialization.JsonNet/releases/tag/v2.0.0)
1320

TensionDev.UUID.Serialization.JsonNet.Tests/UuidJsonNetConverterTests.cs

Lines changed: 35 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -16,31 +16,58 @@ public UuidJsonNetConverterTests()
1616
_converter = new UuidJsonNetConverter();
1717
}
1818

19-
[Fact]
20-
public void TestReadJson()
19+
[Theory]
20+
[InlineData("00000000-0000-0000-0000-000000000000")]
21+
[InlineData("ffffffff-ffff-ffff-ffff-ffffffffffff")]
22+
[InlineData("164a714c-0c79-11ec-82a8-0242ac130003")]
23+
[InlineData("550e8400-e29b-41d4-a716-446655440000")]
24+
[InlineData("1bf6935b-49e6-54cf-a9c8-51fb21c41b46")]
25+
public void TestReadJson(string validUuidString)
2126
{
2227
// Arrange
23-
const string validUuidString = "00000000-0000-0000-0000-000000000000";
2428
var readerMock = new Mock<JsonReader>(MockBehavior.Strict);
2529
readerMock.SetupGet(r => r.TokenType).Returns(JsonToken.String);
2630
readerMock.SetupGet(r => r.Value).Returns((object)validUuidString);
2731

28-
var converter = new UuidJsonNetConverter();
29-
3032
// existingValue must be non-nullable; obtain an instance via Parse to satisfy parameter constraints.
3133
Uuid existingValue = Uuid.Parse(validUuidString);
3234
var serializer = new JsonSerializer();
3335

3436
// Act
35-
Uuid result = converter.ReadJson(readerMock.Object, typeof(Uuid), existingValue, hasExistingValue: false, serializer: serializer);
37+
Uuid result = _converter.ReadJson(readerMock.Object, typeof(Uuid), existingValue, hasExistingValue: false, serializer: serializer);
3638

3739
// Assert
3840
Assert.NotNull(result);
3941
Assert.Equal(validUuidString, result.ToString());
4042
}
4143

4244
[Fact]
43-
public void TestWriteJson()
45+
public void TestReadJsonInvalidType()
46+
{
47+
// Arrange
48+
const string validUuidString = "00000000-0000-0000-0000-000000000000";
49+
var readerMock = new Mock<JsonReader>(MockBehavior.Strict);
50+
readerMock.SetupGet(r => r.TokenType).Returns(JsonToken.Undefined);
51+
readerMock.SetupGet(r => r.Value).Returns((object)validUuidString);
52+
53+
// existingValue must be non-nullable; obtain an instance via Parse to satisfy parameter constraints.
54+
Uuid existingValue = Uuid.Parse(validUuidString);
55+
var serializer = new JsonSerializer();
56+
57+
Assert.Throws<JsonSerializationException>(() =>
58+
{
59+
// Act
60+
_converter.ReadJson(readerMock.Object, typeof(Uuid), existingValue, hasExistingValue: false, serializer: serializer);
61+
});
62+
}
63+
64+
[Theory]
65+
[InlineData("00000000-0000-0000-0000-000000000000")]
66+
[InlineData("ffffffff-ffff-ffff-ffff-ffffffffffff")]
67+
[InlineData("164a714c-0c79-11ec-82a8-0242ac130003")]
68+
[InlineData("550e8400-e29b-41d4-a716-446655440000")]
69+
[InlineData("1bf6935b-49e6-54cf-a9c8-51fb21c41b46")]
70+
public void TestWriteJson(string validUuidString)
4471
{
4572
var writerMock = new Mock<JsonWriter>(MockBehavior.Strict);
4673
object? capturedValue = null;
@@ -51,28 +78,7 @@ public void TestWriteJson()
5178

5279
var serializerMock = new Mock<JsonSerializer>(MockBehavior.Loose);
5380

54-
// Attempt to create an instance of the Uuid type.
55-
// This will succeed for structs and for classes with a public parameterless constructor.
56-
// If it fails, mark test inconclusive because we cannot safely fabricate the dependency.
57-
TensionDev.UUID.Uuid value;
58-
try
59-
{
60-
var instance = Activator.CreateInstance(typeof(TensionDev.UUID.Uuid));
61-
if (instance == null)
62-
{
63-
// This can happen if the type is a non-instantiable class (abstract) or Activator returns null.
64-
Assert.Fail("Could not create an instance of TensionDev.UUID.Uuid (Activator.CreateInstance returned null). Provide a parameterless constructor or update the test environment.");
65-
return;
66-
}
67-
68-
value = (TensionDev.UUID.Uuid)instance;
69-
}
70-
catch (Exception ex)
71-
{
72-
// xUnit does not provide Assert.Inconclusive; use Assert.Fail to report the diagnostic and stop the test.
73-
Assert.Fail("Could not create an instance of TensionDev.UUID.Uuid: " + ex.Message);
74-
return;
75-
}
81+
TensionDev.UUID.Uuid value = TensionDev.UUID.Uuid.Parse(validUuidString);
7682

7783
// Act
7884
_converter.WriteJson(writerMock.Object, value, serializerMock.Object);

TensionDev.UUID.Serialization.JsonNet/TensionDev.UUID.Serialization.JsonNet.csproj

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
1111
<PackageRequireLicenseAcceptance>true</PackageRequireLicenseAcceptance>
1212
<PackageId>TensionDev.UUID.Serialization.JsonNet</PackageId>
13-
<Version>2.0.0</Version>
13+
<Version>2.1.0</Version>
1414
<Authors>TensionDev amsga</Authors>
1515
<Company>TensionDev</Company>
1616
<Product>TensionDev.UUID.Serialization.JsonNet</Product>
@@ -38,7 +38,7 @@
3838

3939
<ItemGroup>
4040
<PackageReference Include="Newtonsoft.Json" Version="13.0.2" />
41-
<PackageReference Include="TensionDev.UUID" Version="2.0.0" />
41+
<PackageReference Include="TensionDev.UUID" Version="2.1.0" />
4242
</ItemGroup>
4343

4444
</Project>

0 commit comments

Comments
 (0)