public void GuidCollectionExtensionSerializeToJSON(CollectionExtensionSerializationTestData <Guid> inTestData) { // GUIDS are random, two sets of test data have fixed, non-random guids, the rest are random if (inTestData.SerializedTestData.StartsWith("\"0000", System.StringComparison.InvariantCulture) || inTestData.SerializedTestData.StartsWith("\"01234", System.StringComparison.InvariantCulture)) { // SerializationFixtureSystemTextJson.Serializer.Serialize(inTestData.InstanceTestData).Should().Be(inTestData.SerializedTestData); JsonSerializer.Serialize(inTestData.InstanceTestData, SerializationFixture.JsonSerializerOptions).Should().Be(inTestData.SerializedTestData); } else { //SerializationFixtureSystemTextJson.Serializer.Serialize(inTestData.InstanceTestData).Should().MatchRegex("^[0-9A-Fa-f]{8}-?([0-9A-Fa-f]{4}-?){3}[0-9A-Fa-f]{12}$"); JsonSerializer.Serialize(inTestData.InstanceTestData, SerializationFixture.JsonSerializerOptions).Should().MatchRegex("^\"[0-9A-Fa-f]{8}-?([0-9A-Fa-f]{4}-?){3}[0-9A-Fa-f]{12}\"$"); } }
public void IntCollectionExtensionSerializeToJSON(CollectionExtensionSerializationTestData <int> inTestData) { if (inTestData.SerializedTestData.Equals("-2147483648") || inTestData.SerializedTestData.Equals("-1") || inTestData.SerializedTestData.Equals("0") || inTestData.SerializedTestData.Equals("2147483647") || inTestData.SerializedTestData.Equals("1234567")) { // SerializationFixtureSystemTextJson.Serializer.Serialize(inTestData.InstanceTestData).Should().Be(inTestData.SerializedTestData); JsonSerializer.Serialize(inTestData.InstanceTestData, SerializationFixture.JsonSerializerOptions).Should().Be(inTestData.SerializedTestData); } else { //SerializationFixtureSystemTextJson.Serializer.Serialize(inTestData.InstanceTestData).Should().MatchRegex("^[0-9A-Fa-f]{8}-?([0-9A-Fa-f]{4}-?){3}[0-9A-Fa-f]{12}$"); JsonSerializer.Serialize(inTestData.InstanceTestData, SerializationFixture.JsonSerializerOptions).Should().BeOfType(typeof(string), "the serializer should have returned a string representation of the InstanceTestData "); JsonSerializer.Serialize(inTestData.InstanceTestData, SerializationFixture.JsonSerializerOptions).Should().MatchRegex("^-{0,1}\\d+$"); } }
public void IntCollectionExtensionDeserializeFromJSON(CollectionExtensionSerializationTestData <int> inTestData) { if (String.IsNullOrEmpty(inTestData.SerializedTestData)) { Action act = () => JsonSerializer.Deserialize <GuidStronglyTypedId>(inTestData.SerializedTestData, SerializationFixture.JsonSerializerOptions); act.Should().Throw <System.Text.Json.JsonException>() .WithMessage("The input does not contain any JSON tokens.*"); } else { //SerializationFixtureSystemTextJson.Serializer.Deserialize<GuidStronglyTypedId>(inTestData.SerializedTestData).Should().BeEquivalentTo(inTestData.InstanceTestData); var stronglyTypedId = JsonSerializer.Deserialize <IntStronglyTypedId>(inTestData.SerializedTestData, SerializationFixture.JsonSerializerOptions); stronglyTypedId.Should().Equals(inTestData.InstanceTestData); // ToDo: validate that strings that don't match an int throw an exception } }
public void GuidCollectionExtensionDeserializeFromJSON(CollectionExtensionSerializationTestData <Guid> inTestData) { if (String.IsNullOrEmpty(inTestData.SerializedTestData)) { Action act = () => JsonSerializer.Deserialize <GuidStronglyTypedId>(inTestData.SerializedTestData, SerializationFixture.JsonSerializerOptions); act.Should().Throw <System.Text.Json.JsonException>() .WithMessage("The input does not contain any JSON tokens.*"); } else if (inTestData.SerializedTestData.StartsWith("\"0000", System.StringComparison.InvariantCulture) || inTestData.SerializedTestData.StartsWith("\"01234", System.StringComparison.InvariantCulture)) { //SerializationFixtureSystemTextJson.Serializer.Deserialize<GuidStronglyTypedId>(inTestData.SerializedTestData).Should().BeEquivalentTo(inTestData.InstanceTestData); var stronglyTypedId = JsonSerializer.Deserialize <GuidStronglyTypedId>(inTestData.SerializedTestData, SerializationFixture.JsonSerializerOptions); stronglyTypedId.Should().BeEquivalentTo(inTestData.InstanceTestData); } else { // ToDo: validate that strings that don't match a Guid throw an exception } }