public void DeserializeAsTurns_ShouldReturnValidResult(string json, number expectedTotalSeconds) { // arrange var converter = new DegreeAngleJsonConverter(); // act var result = JsonConvert.DeserializeObject <DegreeAngle>(json, converter); // assert result.TotalSeconds.Should().Be(expectedTotalSeconds); }
public void Serialize_ShouldReturnValidJson(DegreeAngleJsonSerializationFormat format, number totalSeconds, string expectedJson) { // arrange var angle = new DegreeAngle(totalSeconds); var converter = new DegreeAngleJsonConverter(format); // act string actualJson = JsonConvert.SerializeObject(angle, converter); // assert actualJson.Should().Be(expectedJson); }
public void SerializeAndDeserialize_ShouldBeIdempotent() { // arrange var angle = Fixture.Create <DegreeAngle>(); var converter = new DegreeAngleJsonConverter(); // act string serializedDegreeAngle1 = JsonConvert.SerializeObject(angle, converter); var deserializedDegreeAngle1 = JsonConvert.DeserializeObject <DegreeAngle>(serializedDegreeAngle1, converter); string serializedDegreeAngle2 = JsonConvert.SerializeObject(deserializedDegreeAngle1, converter); var deserializedDegreeAngle2 = JsonConvert.DeserializeObject <DegreeAngle>(serializedDegreeAngle2, converter); // assert deserializedDegreeAngle1.Should().Be(angle); deserializedDegreeAngle2.Should().Be(angle); deserializedDegreeAngle2.Should().Be(deserializedDegreeAngle1); serializedDegreeAngle2.Should().Be(serializedDegreeAngle1); }