Skip to content

Commit fc2cbdc

Browse files
committed
SDK regeneration
1 parent 6b063c4 commit fc2cbdc

File tree

338 files changed

+26761
-7294
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

338 files changed

+26761
-7294
lines changed

src/Merge.Client.Test/Core/Json/EnumSerializerTests.cs

Lines changed: 0 additions & 60 deletions
This file was deleted.
Lines changed: 138 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,138 @@
1+
using System.Text.Json;
2+
using System.Text.Json.Serialization;
3+
using Merge.Client.Core;
4+
using NUnit.Framework;
5+
6+
namespace Merge.Client.Test.Core.Json;
7+
8+
[TestFixture]
9+
[Parallelizable(ParallelScope.All)]
10+
public class StringEnumSerializerTests
11+
{
12+
private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true };
13+
14+
private static readonly DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2;
15+
private static readonly DummyEnum UnknownEnumValue = DummyEnum.FromCustom("unknown_value");
16+
17+
private static readonly string JsonWithKnownEnum2 = $$"""
18+
{
19+
"enum_property": "{{KnownEnumValue2}}"
20+
}
21+
""";
22+
23+
private static readonly string JsonWithUnknownEnum = $$"""
24+
{
25+
"enum_property": "{{UnknownEnumValue}}"
26+
}
27+
""";
28+
29+
[Test]
30+
public void ShouldParseKnownEnumValue2()
31+
{
32+
var obj = JsonSerializer.Deserialize<DummyObject>(JsonWithKnownEnum2, JsonOptions);
33+
Assert.That(obj, Is.Not.Null);
34+
Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2));
35+
}
36+
37+
[Test]
38+
public void ShouldParseUnknownEnum()
39+
{
40+
var obj = JsonSerializer.Deserialize<DummyObject>(JsonWithUnknownEnum, JsonOptions);
41+
Assert.That(obj, Is.Not.Null);
42+
Assert.That(obj.EnumProperty, Is.EqualTo(UnknownEnumValue));
43+
}
44+
45+
[Test]
46+
public void ShouldSerializeKnownEnumValue2()
47+
{
48+
var json = JsonSerializer.SerializeToElement(
49+
new DummyObject { EnumProperty = KnownEnumValue2 },
50+
JsonOptions
51+
);
52+
TestContext.Out.WriteLine("Serialized JSON: \n" + json);
53+
var enumString = json.GetProperty("enum_property").GetString();
54+
Assert.That(enumString, Is.Not.Null);
55+
Assert.That(enumString, Is.EqualTo(KnownEnumValue2));
56+
}
57+
58+
[Test]
59+
public void ShouldSerializeUnknownEnum()
60+
{
61+
var json = JsonSerializer.SerializeToElement(
62+
new DummyObject { EnumProperty = UnknownEnumValue },
63+
JsonOptions
64+
);
65+
TestContext.Out.WriteLine("Serialized JSON: \n" + json);
66+
var enumString = json.GetProperty("enum_property").GetString();
67+
Assert.That(enumString, Is.Not.Null);
68+
Assert.That(enumString, Is.EqualTo(UnknownEnumValue));
69+
}
70+
}
71+
72+
public class DummyObject
73+
{
74+
[JsonPropertyName("enum_property")]
75+
public DummyEnum EnumProperty { get; set; }
76+
}
77+
78+
[JsonConverter(typeof(StringEnumSerializer<DummyEnum>))]
79+
public readonly record struct DummyEnum : IStringEnum
80+
{
81+
public DummyEnum(string value)
82+
{
83+
Value = value;
84+
}
85+
86+
/// <summary>
87+
/// The string value of the enum.
88+
/// </summary>
89+
public string Value { get; }
90+
91+
public static readonly DummyEnum KnownValue1 = FromCustom(Values.KnownValue1);
92+
93+
public static readonly DummyEnum KnownValue2 = FromCustom(Values.KnownValue2);
94+
95+
/// <summary>
96+
/// Constant strings for enum values
97+
/// </summary>
98+
public static class Values
99+
{
100+
public const string KnownValue1 = "known_value1";
101+
102+
public const string KnownValue2 = "known_value2";
103+
}
104+
105+
/// <summary>
106+
/// Create a string enum with the given value.
107+
/// </summary>
108+
public static DummyEnum FromCustom(string value)
109+
{
110+
return new DummyEnum(value);
111+
}
112+
113+
/// <summary>
114+
/// Returns the string value of the enum.
115+
/// </summary>
116+
public override string ToString()
117+
{
118+
return Value;
119+
}
120+
121+
public bool Equals(string? other)
122+
{
123+
return Value.Equals(other);
124+
}
125+
126+
public override int GetHashCode()
127+
{
128+
return Value.GetHashCode();
129+
}
130+
131+
public static explicit operator string(DummyEnum value) => value.Value;
132+
133+
public static explicit operator DummyEnum(string value) => new(value);
134+
135+
public static bool operator ==(DummyEnum value1, string value2) => value1.Value.Equals(value2);
136+
137+
public static bool operator !=(DummyEnum value1, string value2) => !value1.Value.Equals(value2);
138+
}

src/Merge.Client.sln

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,9 @@ Microsoft Visual Studio Solution File, Format Version 12.00
33
# Visual Studio Version 17
44
VisualStudioVersion = 17.0.31903.59
55
MinimumVisualStudioVersion = 10.0.40219.1
6-
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Merge.Client", "Merge.Client\Merge.Client.csproj", "{B9974C4A-50AA-421C-9D1A-3ECA565549D5}"
6+
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Merge.Client", "Merge.Client\Merge.Client.csproj", "{761D23A6-ED8C-447F-BF2A-0E7D85AE4926}"
77
EndProject
8-
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Merge.Client.Test", "Merge.Client.Test\Merge.Client.Test.csproj", "{670C5472-26A2-4611-997C-CB314746291B}"
8+
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Merge.Client.Test", "Merge.Client.Test\Merge.Client.Test.csproj", "{C13E421C-DED3-43D2-A89C-452C1FBB8AF0}"
99
EndProject
1010
Global
1111
GlobalSection(SolutionConfigurationPlatforms) = preSolution
@@ -16,13 +16,13 @@ Global
1616
HideSolutionNode = FALSE
1717
EndGlobalSection
1818
GlobalSection(ProjectConfigurationPlatforms) = postSolution
19-
{B9974C4A-50AA-421C-9D1A-3ECA565549D5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
20-
{B9974C4A-50AA-421C-9D1A-3ECA565549D5}.Debug|Any CPU.Build.0 = Debug|Any CPU
21-
{B9974C4A-50AA-421C-9D1A-3ECA565549D5}.Release|Any CPU.ActiveCfg = Release|Any CPU
22-
{B9974C4A-50AA-421C-9D1A-3ECA565549D5}.Release|Any CPU.Build.0 = Release|Any CPU
23-
{670C5472-26A2-4611-997C-CB314746291B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
24-
{670C5472-26A2-4611-997C-CB314746291B}.Debug|Any CPU.Build.0 = Debug|Any CPU
25-
{670C5472-26A2-4611-997C-CB314746291B}.Release|Any CPU.ActiveCfg = Release|Any CPU
26-
{670C5472-26A2-4611-997C-CB314746291B}.Release|Any CPU.Build.0 = Release|Any CPU
19+
{761D23A6-ED8C-447F-BF2A-0E7D85AE4926}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
20+
{761D23A6-ED8C-447F-BF2A-0E7D85AE4926}.Debug|Any CPU.Build.0 = Debug|Any CPU
21+
{761D23A6-ED8C-447F-BF2A-0E7D85AE4926}.Release|Any CPU.ActiveCfg = Release|Any CPU
22+
{761D23A6-ED8C-447F-BF2A-0E7D85AE4926}.Release|Any CPU.Build.0 = Release|Any CPU
23+
{C13E421C-DED3-43D2-A89C-452C1FBB8AF0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
24+
{C13E421C-DED3-43D2-A89C-452C1FBB8AF0}.Debug|Any CPU.Build.0 = Debug|Any CPU
25+
{C13E421C-DED3-43D2-A89C-452C1FBB8AF0}.Release|Any CPU.ActiveCfg = Release|Any CPU
26+
{C13E421C-DED3-43D2-A89C-452C1FBB8AF0}.Release|Any CPU.Build.0 = Release|Any CPU
2727
EndGlobalSection
2828
EndGlobal
Lines changed: 62 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,71 @@
1-
using System.Runtime.Serialization;
21
using System.Text.Json.Serialization;
32
using Merge.Client.Core;
43

54
namespace Merge.Client.Accounting;
65

7-
[JsonConverter(typeof(EnumSerializer<AccountsListRequestRemoteFields>))]
8-
public enum AccountsListRequestRemoteFields
6+
[JsonConverter(typeof(StringEnumSerializer<AccountsListRequestRemoteFields>))]
7+
public readonly record struct AccountsListRequestRemoteFields : IStringEnum
98
{
10-
[EnumMember(Value = "classification")]
11-
Classification,
9+
public static readonly AccountsListRequestRemoteFields Classification = new(
10+
Values.Classification
11+
);
1212

13-
[EnumMember(Value = "classification,status")]
14-
ClassificationStatus,
13+
public static readonly AccountsListRequestRemoteFields ClassificationStatus = new(
14+
Values.ClassificationStatus
15+
);
1516

16-
[EnumMember(Value = "status")]
17-
Status,
17+
public static readonly AccountsListRequestRemoteFields Status = new(Values.Status);
18+
19+
public AccountsListRequestRemoteFields(string value)
20+
{
21+
Value = value;
22+
}
23+
24+
/// <summary>
25+
/// The string value of the enum.
26+
/// </summary>
27+
public string Value { get; }
28+
29+
/// <summary>
30+
/// Create a string enum with the given value.
31+
/// </summary>
32+
public static AccountsListRequestRemoteFields FromCustom(string value)
33+
{
34+
return new AccountsListRequestRemoteFields(value);
35+
}
36+
37+
public bool Equals(string? other)
38+
{
39+
return Value.Equals(other);
40+
}
41+
42+
/// <summary>
43+
/// Returns the string value of the enum.
44+
/// </summary>
45+
public override string ToString()
46+
{
47+
return Value;
48+
}
49+
50+
public static bool operator ==(AccountsListRequestRemoteFields value1, string value2) =>
51+
value1.Value.Equals(value2);
52+
53+
public static bool operator !=(AccountsListRequestRemoteFields value1, string value2) =>
54+
!value1.Value.Equals(value2);
55+
56+
public static explicit operator string(AccountsListRequestRemoteFields value) => value.Value;
57+
58+
public static explicit operator AccountsListRequestRemoteFields(string value) => new(value);
59+
60+
/// <summary>
61+
/// Constant strings for enum values
62+
/// </summary>
63+
public static class Values
64+
{
65+
public const string Classification = "classification";
66+
67+
public const string ClassificationStatus = "classification,status";
68+
69+
public const string Status = "status";
70+
}
1871
}
Lines changed: 62 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,71 @@
1-
using System.Runtime.Serialization;
21
using System.Text.Json.Serialization;
32
using Merge.Client.Core;
43

54
namespace Merge.Client.Accounting;
65

7-
[JsonConverter(typeof(EnumSerializer<AccountsListRequestShowEnumOrigins>))]
8-
public enum AccountsListRequestShowEnumOrigins
6+
[JsonConverter(typeof(StringEnumSerializer<AccountsListRequestShowEnumOrigins>))]
7+
public readonly record struct AccountsListRequestShowEnumOrigins : IStringEnum
98
{
10-
[EnumMember(Value = "classification")]
11-
Classification,
9+
public static readonly AccountsListRequestShowEnumOrigins Classification = new(
10+
Values.Classification
11+
);
1212

13-
[EnumMember(Value = "classification,status")]
14-
ClassificationStatus,
13+
public static readonly AccountsListRequestShowEnumOrigins ClassificationStatus = new(
14+
Values.ClassificationStatus
15+
);
1516

16-
[EnumMember(Value = "status")]
17-
Status,
17+
public static readonly AccountsListRequestShowEnumOrigins Status = new(Values.Status);
18+
19+
public AccountsListRequestShowEnumOrigins(string value)
20+
{
21+
Value = value;
22+
}
23+
24+
/// <summary>
25+
/// The string value of the enum.
26+
/// </summary>
27+
public string Value { get; }
28+
29+
/// <summary>
30+
/// Create a string enum with the given value.
31+
/// </summary>
32+
public static AccountsListRequestShowEnumOrigins FromCustom(string value)
33+
{
34+
return new AccountsListRequestShowEnumOrigins(value);
35+
}
36+
37+
public bool Equals(string? other)
38+
{
39+
return Value.Equals(other);
40+
}
41+
42+
/// <summary>
43+
/// Returns the string value of the enum.
44+
/// </summary>
45+
public override string ToString()
46+
{
47+
return Value;
48+
}
49+
50+
public static bool operator ==(AccountsListRequestShowEnumOrigins value1, string value2) =>
51+
value1.Value.Equals(value2);
52+
53+
public static bool operator !=(AccountsListRequestShowEnumOrigins value1, string value2) =>
54+
!value1.Value.Equals(value2);
55+
56+
public static explicit operator string(AccountsListRequestShowEnumOrigins value) => value.Value;
57+
58+
public static explicit operator AccountsListRequestShowEnumOrigins(string value) => new(value);
59+
60+
/// <summary>
61+
/// Constant strings for enum values
62+
/// </summary>
63+
public static class Values
64+
{
65+
public const string Classification = "classification";
66+
67+
public const string ClassificationStatus = "classification,status";
68+
69+
public const string Status = "status";
70+
}
1871
}

0 commit comments

Comments
 (0)