Skip to content
This repository was archived by the owner on Dec 24, 2022. It is now read-only.

Commit 7c6f5c3

Browse files
committed
Add JSV tests for new DateOnly TimeOnly .NET 6 types
1 parent 28faf27 commit 7c6f5c3

File tree

1 file changed

+71
-3
lines changed

1 file changed

+71
-3
lines changed

Diff for: tests/ServiceStack.Text.Tests/Net6TypeTests.cs

+71-3
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ public override bool Equals(object obj)
6767
public class Net6TypeTests
6868
{
6969
[Test]
70-
public void Can_serialize_DateOnly()
70+
public void Can_json_serialize_DateOnly()
7171
{
7272
var date = new DateOnly(2001, 1, 13);
7373
var json = date.ToJson();
@@ -90,7 +90,30 @@ public void Can_serialize_DateOnly()
9090
}
9191

9292
[Test]
93-
public void Can_serialize_DateOnly_UnixTime()
93+
public void Can_jsv_serialize_DateOnly()
94+
{
95+
var date = new DateOnly(2001, 1, 13);
96+
var json = date.ToJsv();
97+
Assert.That(json, Is.EqualTo("2001-01-13"));
98+
99+
var fromJson = json.FromJsv<DateOnly>();
100+
Assert.That(fromJson, Is.EqualTo(date));
101+
102+
var dto = new DateOnlyDto { Date = date };
103+
json = dto.ToJsv();
104+
Assert.That(json, Is.EqualTo("{Date:2001-01-13}"));
105+
var fromJsonDto = json.FromJsv<DateOnlyDto>();
106+
Assert.That(fromJsonDto, Is.EqualTo(dto));
107+
108+
var nullableDto = new NullableDateOnlyDto { Date = date };
109+
json = nullableDto.ToJsv();
110+
Assert.That(json, Is.EqualTo("{Date:2001-01-13}"));
111+
var fromJsonNullableDto = json.FromJsv<NullableDateOnlyDto>();
112+
Assert.That(fromJsonNullableDto, Is.EqualTo(nullableDto));
113+
}
114+
115+
[Test]
116+
public void Can_json_serialize_DateOnly_UnixTime()
94117
{
95118
using (JsConfig.With(new Config { DateHandler = DateHandler.UnixTime }))
96119
{
@@ -110,9 +133,31 @@ public void Can_serialize_DateOnly_UnixTime()
110133
Assert.That(json, Is.EqualTo("{\"Date\":979344000}"));
111134
}
112135
}
136+
137+
[Test]
138+
public void Can_jsv_serialize_DateOnly_UnixTime()
139+
{
140+
using (JsConfig.With(new Config { DateHandler = DateHandler.UnixTime }))
141+
{
142+
var date = new DateOnly(2001, 1, 13);
143+
var json = date.ToJsv();
144+
Assert.That(json, Is.EqualTo("979344000"));
145+
146+
var fromJson = json.FromJsv<DateOnly>();
147+
Assert.That(fromJson, Is.EqualTo(date));
148+
149+
var dto = new DateOnlyDto { Date = date };
150+
json = dto.ToJsv();
151+
Assert.That(json, Is.EqualTo("{Date:979344000}"));
152+
153+
var nullableDto = new NullableDateOnlyDto { Date = date };
154+
json = nullableDto.ToJsv();
155+
Assert.That(json, Is.EqualTo("{Date:979344000}"));
156+
}
157+
}
113158

114159
[Test]
115-
public void Can_serialize_TimeOnly()
160+
public void Can_json_serialize_TimeOnly()
116161
{
117162
var time = new TimeOnly(13, 13, 13);
118163
var json = time.ToJson();
@@ -133,6 +178,29 @@ public void Can_serialize_TimeOnly()
133178
var fromJsonNullableDto = json.FromJson<NullableTimeOnlyDto>();
134179
Assert.That(fromJsonNullableDto, Is.EqualTo(nullableDto));
135180
}
181+
182+
[Test]
183+
public void Can_jsv_serialize_TimeOnly()
184+
{
185+
var time = new TimeOnly(13, 13, 13);
186+
var json = time.ToJsv();
187+
Assert.That(json, Is.EqualTo("PT13H13M13S"));
188+
189+
var fromJson = json.FromJsv<TimeOnly>();
190+
Assert.That(fromJson, Is.EqualTo(time));
191+
192+
var dto = new TimeOnlyDto { Time = time };
193+
json = dto.ToJsv();
194+
Assert.That(json, Is.EqualTo("{Time:PT13H13M13S}"));
195+
var fromJsonDto = json.FromJsv<TimeOnlyDto>();
196+
Assert.That(fromJsonDto, Is.EqualTo(dto));
197+
198+
var nullableDto = new NullableTimeOnlyDto { Time = time };
199+
json = nullableDto.ToJsv();
200+
Assert.That(json, Is.EqualTo("{Time:PT13H13M13S}"));
201+
var fromJsonNullableDto = json.FromJsv<NullableTimeOnlyDto>();
202+
Assert.That(fromJsonNullableDto, Is.EqualTo(nullableDto));
203+
}
136204

137205
}
138206
#endif

0 commit comments

Comments
 (0)