mirror of
https://dev.azure.com/TeilRad/sharee.bike%20App/_git/Code
synced 2024-11-05 10:36:30 +01:00
68 lines
2.7 KiB
C#
68 lines
2.7 KiB
C#
using NUnit.Framework;
|
|
using ShareeBike.Model.Bike;
|
|
|
|
using Newtonsoft.Json;
|
|
using ShareeBike.Model.State;
|
|
using System.Collections.Generic;
|
|
|
|
using BikeInfoMutable = ShareeBike.Model.Bike.BC.BikeInfoMutable;
|
|
|
|
namespace SharedBusinessLogic.Tests
|
|
{
|
|
|
|
/// <summary>
|
|
/// Moved to SharedBusinessLogic.Tests (.Net Core)
|
|
/// </summary>
|
|
[TestFixture]
|
|
public class TestBikeCollectionSerializeJSON
|
|
{
|
|
[Test, Ignore("Disabled because serialization does no more work due to inheritance since commit ec14b93b.")]
|
|
public void Test_SerializeJSON()
|
|
{
|
|
var l_oCollSource = new BikeCollectionMutable
|
|
{
|
|
new BikeInfoMutable(57, false, new List<string> { "ShareeBike" }, WheelType.Two, TypeOfBike.Allround)
|
|
};
|
|
|
|
// Verify prerequisites.
|
|
Assert.AreEqual(1, l_oCollSource.Count);
|
|
Assert.AreEqual(57, l_oCollSource[0].Id);
|
|
Assert.AreEqual(InUseStateEnum.Disposable, l_oCollSource[0].State.Value);
|
|
Assert.IsNull(l_oCollSource[0].State.MailAddress);
|
|
Assert.IsNull(l_oCollSource[0].State.Code);
|
|
Assert.IsNull(l_oCollSource[0].State.From);
|
|
|
|
// Serialize object and verify json
|
|
var l_oDetected = JsonConvert.SerializeObject(l_oCollSource, Formatting.Indented, new JsonSerializerSettings { TypeNameHandling = TypeNameHandling.Auto });
|
|
const string EXPECTED = @"
|
|
[
|
|
{
|
|
""Id"": 57,
|
|
""CurrentStation"": null,
|
|
""WheelType"": 1,
|
|
""TypeOfBike"": 0,
|
|
""State"": {
|
|
""StateInfoObject"": {
|
|
""$type"": ""ShareeBike.Model.State.StateAvailableInfo, SharedBusinessLogic""
|
|
}
|
|
}
|
|
}
|
|
]";
|
|
|
|
Assert.AreEqual(
|
|
TestHelper.PrepareXmlForStringCompare(EXPECTED),
|
|
TestHelper.PrepareXmlForStringCompare(l_oDetected));
|
|
|
|
// Deserialize object.
|
|
var l_oBikeCollectionTarget = JsonConvert.DeserializeObject<BikeCollectionMutable>(l_oDetected, new JsonSerializerSettings { TypeNameHandling = TypeNameHandling.Auto });
|
|
|
|
// Verify state.
|
|
Assert.AreEqual(1, l_oBikeCollectionTarget.Count);
|
|
Assert.AreEqual(57, l_oBikeCollectionTarget[0].Id);
|
|
Assert.AreEqual(InUseStateEnum.Disposable, l_oBikeCollectionTarget[0].State.Value);
|
|
Assert.IsNull(l_oBikeCollectionTarget[0].State.MailAddress);
|
|
Assert.IsNull(l_oBikeCollectionTarget[0].State.Code);
|
|
Assert.IsNull(l_oBikeCollectionTarget[0].State.From);
|
|
}
|
|
}
|
|
}
|