Skip to content

Commit 4d9ab80

Browse files
authored
Fix nullable compile error due to SCM version bump (Azure#51174)
1 parent 96883a7 commit 4d9ab80

File tree

2 files changed

+17
-16
lines changed

2 files changed

+17
-16
lines changed

eng/packages/http-client-csharp/generator/Azure.Generator/test/common/ModelTests.cs

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -73,17 +73,18 @@ protected void RoundTripTest(string format, RoundTripStrategy<T> strategy)
7373
if (AssertFailures(strategy, format, serviceResponse, options))
7474
return;
7575

76-
T model = (T)strategy.Read(serviceResponse, ModelInstance, options);
77-
78-
VerifyModel(model, format);
79-
var data = strategy.Write(model, options);
76+
var model = (T?)strategy.Read(serviceResponse, ModelInstance, options);
77+
Assert.NotNull(model);
78+
VerifyModel(model!, format);
79+
var data = strategy.Write(model!, options);
8080
string roundTrip = data.ToString();
8181

8282
// we validate those are equivalent element, representing the same json object (ignoring the spaces and orders, etc)
8383
AssertJsonEquivalency(expectedSerializedString, roundTrip);
8484

85-
T model2 = (T)strategy.Read(roundTrip, ModelInstance, options);
86-
CompareModels(model, model2, format);
85+
var model2 = (T?)strategy.Read(roundTrip, ModelInstance, options);
86+
Assert.NotNull(model2);
87+
CompareModels(model!, model2!, format);
8788
}
8889

8990
private void AssertJsonEquivalency(string expected, string result)
@@ -167,12 +168,12 @@ private bool AssertFailures(RoundTripStrategy<T> strategy, string format, string
167168
if (strategy.GetType().Name.StartsWith("ModelJsonConverterStrategy"))
168169
{
169170
//we never get to the interface implementation because JsonSerializer errors before that
170-
Assert.Throws<JsonException>(() => { T model = (T)strategy.Read(serviceResponse, ModelInstance, options); });
171+
Assert.Throws<JsonException>(() => { var model = (T?)strategy.Read(serviceResponse, ModelInstance, options); });
171172
result = true;
172173
}
173174
else
174175
{
175-
Assert.Throws<InvalidOperationException>(() => { T model = (T)strategy.Read(serviceResponse, ModelInstance, options); });
176+
Assert.Throws<InvalidOperationException>(() => { var model = (T?)strategy.Read(serviceResponse, ModelInstance, options); });
176177
result = true;
177178
}
178179
}
@@ -185,7 +186,7 @@ private bool AssertFailures(RoundTripStrategy<T> strategy, string format, string
185186
}
186187
else if (ModelInstance is not IJsonModel<T> && format == "J")
187188
{
188-
Assert.Throws<FormatException>(() => { T model = (T)strategy.Read(serviceResponse, ModelInstance, options); });
189+
Assert.Throws<FormatException>(() => { T model = (T)strategy.Read(serviceResponse, ModelInstance, options)!; });
189190
Assert.Throws<FormatException>(() => { var data = strategy.Write(ModelInstance, options); });
190191
result = true;
191192
}

eng/packages/http-client-csharp/generator/Azure.Generator/test/common/RoundTripStrategy.cs

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ namespace Azure.Generator.Tests.Common
1414
#pragma warning disable SA1402
1515
public abstract class RoundTripStrategy<T>
1616
{
17-
public abstract object Read(string payload, object model, ModelReaderWriterOptions options);
17+
public abstract object? Read(string payload, object model, ModelReaderWriterOptions options);
1818
public abstract BinaryData Write(T model, ModelReaderWriterOptions options);
1919
public abstract bool IsExplicitJsonWrite { get; }
2020
public abstract bool IsExplicitJsonRead { get; }
@@ -77,7 +77,7 @@ public override BinaryData Write(T model, ModelReaderWriterOptions options)
7777
return model.Write(options);
7878
}
7979

80-
public override object Read(string payload, object model, ModelReaderWriterOptions options)
80+
public override object? Read(string payload, object model, ModelReaderWriterOptions options)
8181
{
8282
return ((IPersistableModel<T>)model).Create(new BinaryData(Encoding.UTF8.GetBytes(payload)), options);
8383
}
@@ -93,7 +93,7 @@ public override BinaryData Write(T model, ModelReaderWriterOptions options)
9393
return ((IPersistableModel<object>)model).Write(options);
9494
}
9595

96-
public override object Read(string payload, object model, ModelReaderWriterOptions options)
96+
public override object? Read(string payload, object model, ModelReaderWriterOptions options)
9797
{
9898
return ((IPersistableModel<object>)model).Create(new BinaryData(Encoding.UTF8.GetBytes(payload)), options);
9999
}
@@ -109,7 +109,7 @@ public override BinaryData Write(T model, ModelReaderWriterOptions options)
109109
return WriteWithJsonInterface(model, options);
110110
}
111111

112-
public override object Read(string payload, object model, ModelReaderWriterOptions options)
112+
public override object? Read(string payload, object model, ModelReaderWriterOptions options)
113113
{
114114
return ((IJsonModel<T>)model).Create(new BinaryData(Encoding.UTF8.GetBytes(payload)), options);
115115
}
@@ -125,7 +125,7 @@ public override BinaryData Write(T model, ModelReaderWriterOptions options)
125125
return WriteWithJsonInterface((IJsonModel<object>)model, options);
126126
}
127127

128-
public override object Read(string payload, object model, ModelReaderWriterOptions options)
128+
public override object? Read(string payload, object model, ModelReaderWriterOptions options)
129129
{
130130
return ((IJsonModel<object>)model).Create(new BinaryData(Encoding.UTF8.GetBytes(payload)), options);
131131
}
@@ -141,7 +141,7 @@ public override BinaryData Write(T model, ModelReaderWriterOptions options)
141141
return WriteWithJsonInterface(model, options);
142142
}
143143

144-
public override object Read(string payload, object model, ModelReaderWriterOptions options)
144+
public override object? Read(string payload, object model, ModelReaderWriterOptions options)
145145
{
146146
var reader = new Utf8JsonReader(new BinaryData(Encoding.UTF8.GetBytes(payload)));
147147
return ((IJsonModel<T>)model).Create(ref reader, options);
@@ -158,7 +158,7 @@ public override BinaryData Write(T model, ModelReaderWriterOptions options)
158158
return WriteWithJsonInterface((IJsonModel<object>)model, options);
159159
}
160160

161-
public override object Read(string payload, object model, ModelReaderWriterOptions options)
161+
public override object? Read(string payload, object model, ModelReaderWriterOptions options)
162162
{
163163
var reader = new Utf8JsonReader(new BinaryData(Encoding.UTF8.GetBytes(payload)));
164164
return ((IJsonModel<object>)model).Create(ref reader, options);

0 commit comments

Comments
 (0)