|
1 |
| -using System; |
2 | 1 | using System.Runtime.Serialization;
|
3 | 2 | using System.Text.Json;
|
4 | 3 | using System.Text.Json.Serialization;
|
5 | 4 | using NUnit.Framework;
|
6 | 5 | using Vapi.Net.Core;
|
7 | 6 |
|
8 |
| -namespace Vapi.Net.Test.Core |
9 |
| -{ |
10 |
| - [TestFixture] |
11 |
| - public class StringEnumSerializerTests |
12 |
| - { |
13 |
| - private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; |
| 7 | +namespace Vapi.Net.Test.Core; |
14 | 8 |
|
15 |
| - private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; |
16 |
| - private const string KnownEnumValue2String = "known_value2"; |
| 9 | +[TestFixture] |
| 10 | +[Parallelizable(ParallelScope.All)] |
| 11 | +public class StringEnumSerializerTests |
| 12 | +{ |
| 13 | + private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; |
17 | 14 |
|
18 |
| - private static readonly string JsonWithKnownEnum2 = $$""" |
19 |
| - { |
20 |
| - "enum_property": "{{KnownEnumValue2String}}" |
21 |
| - } |
22 |
| - """; |
| 15 | + private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; |
| 16 | + private const string KnownEnumValue2String = "known_value2"; |
23 | 17 |
|
24 |
| - [Test] |
25 |
| - public void ShouldParseKnownEnumValue2() |
| 18 | + private const string JsonWithKnownEnum2 = $$""" |
26 | 19 | {
|
27 |
| - var obj = JsonSerializer.Deserialize<DummyObject>(JsonWithKnownEnum2, JsonOptions); |
28 |
| - Assert.That(obj, Is.Not.Null); |
29 |
| - Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); |
| 20 | + "enum_property": "{{KnownEnumValue2String}}" |
30 | 21 | }
|
| 22 | + """; |
31 | 23 |
|
32 |
| - [Test] |
33 |
| - public void ShouldSerializeKnownEnumValue2() |
34 |
| - { |
35 |
| - var json = JsonSerializer.SerializeToElement( |
36 |
| - new DummyObject { EnumProperty = KnownEnumValue2 }, |
37 |
| - JsonOptions |
38 |
| - ); |
39 |
| - TestContext.Out.WriteLine("Serialized JSON: \n" + json); |
40 |
| - var enumString = json.GetProperty("enum_property").GetString(); |
41 |
| - Assert.That(enumString, Is.Not.Null); |
42 |
| - Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); |
43 |
| - } |
| 24 | + [Test] |
| 25 | + public void ShouldParseKnownEnumValue2() |
| 26 | + { |
| 27 | + var obj = JsonSerializer.Deserialize<DummyObject>(JsonWithKnownEnum2, JsonOptions); |
| 28 | + Assert.That(obj, Is.Not.Null); |
| 29 | + Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); |
44 | 30 | }
|
45 | 31 |
|
46 |
| - public class DummyObject |
| 32 | + [Test] |
| 33 | + public void ShouldSerializeKnownEnumValue2() |
47 | 34 | {
|
48 |
| - [JsonPropertyName("enum_property")] |
49 |
| - public DummyEnum EnumProperty { get; set; } |
| 35 | + var json = JsonSerializer.SerializeToElement( |
| 36 | + new DummyObject { EnumProperty = KnownEnumValue2 }, |
| 37 | + JsonOptions |
| 38 | + ); |
| 39 | + TestContext.Out.WriteLine("Serialized JSON: \n" + json); |
| 40 | + var enumString = json.GetProperty("enum_property").GetString(); |
| 41 | + Assert.That(enumString, Is.Not.Null); |
| 42 | + Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); |
50 | 43 | }
|
| 44 | +} |
51 | 45 |
|
52 |
| - [JsonConverter(typeof(EnumSerializer<DummyEnum>))] |
53 |
| - public enum DummyEnum |
54 |
| - { |
55 |
| - [EnumMember(Value = "known_value1")] |
56 |
| - KnownValue1, |
| 46 | +public class DummyObject |
| 47 | +{ |
| 48 | + [JsonPropertyName("enum_property")] |
| 49 | + public DummyEnum EnumProperty { get; set; } |
| 50 | +} |
57 | 51 |
|
58 |
| - [EnumMember(Value = "known_value2")] |
59 |
| - KnownValue2, |
60 |
| - } |
| 52 | +[JsonConverter(typeof(EnumSerializer<DummyEnum>))] |
| 53 | +public enum DummyEnum |
| 54 | +{ |
| 55 | + [EnumMember(Value = "known_value1")] |
| 56 | + KnownValue1, |
| 57 | + |
| 58 | + [EnumMember(Value = "known_value2")] |
| 59 | + KnownValue2, |
61 | 60 | }
|
0 commit comments