Skip to content

Commit

Permalink
added two more tests (passed by all serializers) for testing the seri…
Browse files Browse the repository at this point in the history
…alization of double/decimal lists by using the IEnumerable interface
  • Loading branch information
lipchev committed Mar 9, 2021
1 parent 97cd84e commit d871f69
Showing 1 changed file with 47 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
// Copyright 2013 Andreas Gullberg Larsen (andreas.larsen84@gmail.com). Maintained at https://github.com/angularsen/UnitsNet.

using System;
using System.Collections.Generic;
using System.Diagnostics.CodeAnalysis;
using System.Runtime.Serialization;
using UnitsNet.Units;
Expand Down Expand Up @@ -108,6 +109,52 @@ public virtual void ArrayOfDecimalValueQuantities_SerializationRoundTrips()
});
}

[Fact]
public virtual void EnumerableOfDoubleValueQuantities_SerializationRoundTrips()
{
var firstQuantity = new Mass(1.2, MassUnit.Milligram);
var secondQuantity = new Mass(2, MassUnit.Gram);
IEnumerable<Mass> quantities = new List<Mass> {firstQuantity, secondQuantity};
var payload = SerializeObject(quantities);

var results = DeserializeObject<IEnumerable<Mass>>(payload);

Assert.Collection(results, result =>
{
Assert.Equal(firstQuantity.Unit, result.Unit);
Assert.Equal(firstQuantity.Value, result.Value);
Assert.Equal(firstQuantity, result);
}, result =>
{
Assert.Equal(secondQuantity.Unit, result.Unit);
Assert.Equal(secondQuantity.Value, result.Value);
Assert.Equal(secondQuantity, result);
});
}

[Fact]
public virtual void EnumerableOfDecimalValueQuantities_SerializationRoundTrips()
{
var firstQuantity = new Information(1.2m, InformationUnit.Exabit);
var secondQuantity = new Information(2, InformationUnit.Exabyte);
IEnumerable<Information> quantities = new List<Information> {firstQuantity, secondQuantity};
var payload = SerializeObject(quantities);

var results = DeserializeObject<IEnumerable<Information>>(payload);

Assert.Collection(results, result =>
{
Assert.Equal(firstQuantity.Unit, result.Unit);
Assert.Equal(firstQuantity.Value, result.Value);
Assert.Equal(firstQuantity, result);
}, result =>
{
Assert.Equal(secondQuantity.Unit, result.Unit);
Assert.Equal(secondQuantity.Value, result.Value);
Assert.Equal(secondQuantity, result);
});
}

[Fact]
public virtual void TupleOfMixedValueQuantities_SerializationRoundTrips()
{
Expand Down

0 comments on commit d871f69

Please sign in to comment.