public void DeserializeAsTurns_ShouldReturnValidResult(string json, number expectedTotalSeconds) { // arrange var converter = new TimeJsonConverter(); // act var result = JsonConvert.DeserializeObject <Time>(json, converter); // assert result.TotalSeconds.Should().Be(expectedTotalSeconds); }
public void Serialize_ShouldReturnValidJson(TimeJsonSerializationFormat format, number totalSeconds, string expectedJson) { // arrange var angle = new Time(totalSeconds); var converter = new TimeJsonConverter(format); // act string actualJson = JsonConvert.SerializeObject(angle, converter); // assert actualJson.Should().Be(expectedJson); }
public void SerializeAndDeserialize_ShouldBeIdempotent() { // arrange var angle = Fixture.Create <Time>(); var converter = new TimeJsonConverter(); // act string serializedTime1 = JsonConvert.SerializeObject(angle, converter); var deserializedTime1 = JsonConvert.DeserializeObject <Time>(serializedTime1, converter); string serializedTime2 = JsonConvert.SerializeObject(deserializedTime1, converter); var deserializedTime2 = JsonConvert.DeserializeObject <Time>(serializedTime2, converter); // assert deserializedTime1.Should().Be(angle); deserializedTime2.Should().Be(angle); deserializedTime2.Should().Be(deserializedTime1); serializedTime2.Should().Be(serializedTime1); }