28 lines
957 B
C#
28 lines
957 B
C#
namespace YLErp.BasicTests
|
|
{
|
|
[TestClass]
|
|
public class JsonHelperTest
|
|
{
|
|
[TestMethod]
|
|
public void TestDateOnlyConverter()
|
|
{
|
|
var obj = new TestDateOnlyClass { AA = new YcDateOnly(DateTime.Now), CC = new DateTime(2022, 2, 2) };
|
|
var json = JsonHelper.Serialize(obj, ignoreNullValue: false);
|
|
Assert.AreEqual(json, "{\"AA\":\"" + obj.AA.ToString() + "\",\"BB\":null,\"CC\":\"2022-02-02\"}");
|
|
|
|
var t = JsonHelper.Deserialize<TestDateOnlyClass>(json);
|
|
Assert.AreEqual(t.AA.Date, DateTime.Today);
|
|
Assert.IsFalse(t.BB.HasValue);
|
|
Assert.IsTrue(t.CC.HasValue);
|
|
Assert.AreEqual(t.CC.Value.Date, new DateTime(2022, 2, 2));
|
|
}
|
|
|
|
class TestDateOnlyClass
|
|
{
|
|
public YcDateOnly AA { get; set; }
|
|
public YcDateOnly? BB { get; set; }
|
|
public YcDateOnly? CC { get; set; }
|
|
}
|
|
}
|
|
}
|