public async Task Can_deserialize_incoming_json() { var logger = Substitute.For <ILogger <JsonMessageDeserializer> >(); var serializer = new JsonMessageDeserializer(logger, new JsonSerializer()); var targetType = typeof(ChangeOfSupplierMessage); var expected = new ChangeOfSupplierMessage(); expected.BalanceResponsibleParty = new MarketParticipant("12345678", null, null, "VA"); expected.EnergySupplier = new MarketParticipant("12345678", null, null, "VA"); expected.Consumer = new MarketParticipant("1234567890", "Hans Hansen", null, "ARR"); expected.MarketEvaluationPoint = new MarketEvaluationPoint("123456789123456789"); expected.StartDate = Instant.FromUtc(2020, 9, 30, 22, 0, 0) + Duration.FromMilliseconds(1); expected.Transaction = new Transaction("a01dbf8b-ea99-4798-9bd4-ed85ecf79897"); await using var fs = File.OpenRead("Assets/ChangeSupplier.json"); var request = await serializer.RehydrateAsync(fs, targetType).ConfigureAwait(false); var actual = request as ChangeOfSupplierMessage; var compare = new ChangeSupplierEquality(); Assert.Equal(expected, actual, compare); }
public async Task Can_deserialize_incoming_json() { var logger = Substitute.For <ILogger <JsonMessageDeserializer> >(); var serializer = new JsonMessageDeserializer(logger, new JsonSerializer()); var targetType = typeof(ChangeOfChargesMessage); var expectedMessage = CreateChangeOfFeeMessageEquivalentToJsonAssetFile(); await using var fs = File.OpenRead("Assets/ChangeOfFee.json"); var request = await serializer.RehydrateAsync(fs, targetType).ConfigureAwait(false); var actualMessage = request as ChangeOfChargesMessage; actualMessage.Should().BeEquivalentTo(expectedMessage); }