sharee.bike-App/SharedBusinessLogic.Tests/Model/State/TestStateRequestedInfoSerializeJSON.cs

45 lines
1.3 KiB
C#
Raw Normal View History

2023-01-18 14:22:51 +01:00
using System;
2022-08-30 15:42:25 +02:00
using Newtonsoft.Json;
2021-07-12 21:31:46 +02:00
using NUnit.Framework;
2024-04-09 12:53:23 +02:00
using SharedBusinessLogic.Tests.Framework;
using ShareeBike.Model.State;
2021-07-12 21:31:46 +02:00
2024-04-09 12:53:23 +02:00
namespace SharedBusinessLogic.Tests.Fixtures.State
2021-07-12 21:31:46 +02:00
{
2022-08-30 15:42:25 +02:00
2022-09-06 16:08:19 +02:00
[TestFixture]
public class TestStateReInquestedfoSerializeJSON
{
[Test]
public void TestSerializeJSON()
{
// Create object to test.
var l_oReservedInfo = new StateRequestedInfo(
() => new DateTime(2017, 09, 20),
new DateTime(2017, 09, 19),
2023-06-06 12:00:24 +02:00
TimeSpan.FromMinutes(15),
2023-01-18 14:22:51 +01:00
"ä@b",
2022-09-06 16:08:19 +02:00
"372");
2021-07-12 21:31:46 +02:00
2022-09-06 16:08:19 +02:00
// Serialize object
// Serialize object and verify.
var l_oDetected = JsonConvert.SerializeObject(l_oReservedInfo);
// Verify xml
2023-01-18 14:22:51 +01:00
const string EXPECTED = @"{""From"":""2017 - 09 - 19T00: 00:00"",""MailAddress"":""ä @b"",""Code"":""372""}";
2024-04-09 12:53:23 +02:00
Assert.That(
TestHelper.PrepareXmlForStringCompare(l_oDetected), Is.EqualTo(TestHelper.PrepareXmlForStringCompare(EXPECTED)));
2021-07-12 21:31:46 +02:00
2022-09-06 16:08:19 +02:00
// Deserialize object.
var l_oInfoTarge = JsonConvert.DeserializeObject<StateRequestedInfo>(l_oDetected);
2021-07-12 21:31:46 +02:00
2022-09-06 16:08:19 +02:00
// Verify state.
2024-04-09 12:53:23 +02:00
Assert.That(l_oInfoTarge.Value, Is.EqualTo(InUseStateEnum.Reserved));
Assert.That(l_oInfoTarge.MailAddress, Is.EqualTo("ä@b"));
Assert.That(l_oInfoTarge.Code, Is.EqualTo("372"));
Assert.That(l_oInfoTarge.From, Is.EqualTo(new DateTime(2017, 9, 19, 0, 0, 0)));
2022-09-06 16:08:19 +02:00
}
2021-07-12 21:31:46 +02:00
2022-09-06 16:08:19 +02:00
}
2021-07-12 21:31:46 +02:00
}