172 instantiations of JsonValue
Microsoft.Analyzers.Local (7)
ApiLifecycle\Json\JsonValue.cs (7)
26
public static readonly JsonValue Null =
new
(JsonValueType.Null, default, null);
362
return new
JsonValue
(value);
371
return new
JsonValue
(value);
380
return new
JsonValue
(value);
389
return new
JsonValue
(value);
398
return new
JsonValue
(value);
413
: new
JsonValue
(value.Value.ToString("o", CultureInfo.InvariantCulture));
Microsoft.Analyzers.Local.Tests (165)
Json\JsonValueTest.cs (165)
18
Assert.True(new
JsonValue
(true).IsBoolean);
19
Assert.True(new
JsonValue
(true).AsBoolean);
20
Assert.True(new
JsonValue
(false).IsBoolean);
21
Assert.False(new
JsonValue
(false).AsBoolean);
22
Assert.True(new
JsonValue
(default(bool?)).IsNull);
23
Assert.False(new
JsonValue
(default(bool?)).IsBoolean);
24
Assert.False(new
JsonValue
(default(bool?)).AsBoolean);
27
Assert.True(new
JsonValue
(1.0).IsNumber);
28
Assert.Equal(1.0, new
JsonValue
(1.0).AsNumber);
29
Assert.True(new
JsonValue
(default(double?)).IsNull);
30
Assert.False(new
JsonValue
(default(double?)).IsNumber);
31
Assert.Equal(0.0, new
JsonValue
(default(double?)).AsNumber);
34
Assert.True(new
JsonValue
(string.Empty).IsString);
35
Assert.True(new
JsonValue
("text").IsString);
36
Assert.Equal("text", new
JsonValue
("text").AsString);
37
Assert.True(new
JsonValue
(default(string)).IsNull);
38
Assert.False(new
JsonValue
(default(string)).IsString);
39
Assert.Null(new
JsonValue
(default(string)).AsString);
42
Assert.True(new
JsonValue
(new JsonObject()).IsJsonObject);
43
Assert.IsType<JsonObject>(new
JsonValue
(new JsonObject()).AsJsonObject);
44
Assert.True(new
JsonValue
(default(JsonObject)).IsNull);
45
Assert.False(new
JsonValue
(default(JsonObject)).IsJsonObject);
46
Assert.Null(new
JsonValue
(default(JsonObject)).AsJsonObject);
49
Assert.True(new
JsonValue
(new JsonArray()).IsJsonArray);
50
Assert.IsType<JsonArray>(new
JsonValue
(new JsonArray()).AsJsonArray);
51
Assert.True(new
JsonValue
(default(JsonArray)).IsNull);
52
Assert.False(new
JsonValue
(default(JsonArray)).IsJsonArray);
53
Assert.Null(new
JsonValue
(default(JsonArray)).AsJsonArray);
56
new
JsonValue
("interface Microsoft.Extensions.Metrics.IHistogram2<in T> where T : struct").AsString);
62
Assert.False(new
JsonValue
(false).IsInteger);
63
Assert.True(new
JsonValue
(1.0).IsInteger);
64
Assert.False(new
JsonValue
(1.1).IsInteger);
65
Assert.False(new
JsonValue
(double.PositiveInfinity).IsInteger);
71
Assert.False(new
JsonValue
(false).IsDateTime);
72
Assert.False(new
JsonValue
("Some text").IsDateTime);
73
Assert.True(new
JsonValue
(DateTime.Now.ToString("o", CultureInfo.InvariantCulture)).IsDateTime);
79
Assert.False(new
JsonValue
(false).AsBoolean);
80
Assert.False(new
JsonValue
(0.0).AsBoolean);
81
Assert.False(new
JsonValue
(string.Empty).AsBoolean);
82
Assert.False(new
JsonValue
(default(JsonObject)).AsBoolean);
84
Assert.True(new
JsonValue
(true).AsBoolean);
85
Assert.True(new
JsonValue
(1.0).AsBoolean);
86
Assert.True(new
JsonValue
("text").AsBoolean);
87
Assert.True(new
JsonValue
(new JsonObject()).AsBoolean);
88
Assert.True(new
JsonValue
(new JsonArray()).AsBoolean);
94
Assert.Equal(int.MaxValue, new
JsonValue
(uint.MaxValue).AsInteger);
95
Assert.Equal(int.MinValue, new
JsonValue
(long.MinValue).AsInteger);
96
Assert.Equal(0, new
JsonValue
(0.5).AsInteger);
97
Assert.Equal(1, new
JsonValue
(1).AsInteger);
103
Assert.Equal(0.0, new
JsonValue
(false).AsNumber);
104
Assert.Equal(1.0, new
JsonValue
(true).AsNumber);
105
Assert.Equal(1.0, new
JsonValue
(1.0).AsNumber);
106
Assert.Equal(1.0, new
JsonValue
("1.0").AsNumber);
107
Assert.Equal(0, new
JsonValue
("text").AsNumber);
108
Assert.Equal(0.0, new
JsonValue
(new JsonObject()).AsNumber);
109
Assert.Equal(0.0, new
JsonValue
(default(JsonObject)).AsNumber);
110
Assert.Equal(0.0, new
JsonValue
(new JsonArray()).AsNumber);
116
Assert.Equal(1.0, new
JsonValue
("1.0").AsNumber);
122
Assert.Equal("false", new
JsonValue
(false).AsString);
123
Assert.Equal("true", new
JsonValue
(true).AsString);
124
Assert.Equal("0.5", new
JsonValue
(0.5).AsString);
125
Assert.Equal("1", new
JsonValue
(1.0).AsString);
126
Assert.Equal("text", new
JsonValue
("text").AsString);
127
Assert.Null(new
JsonValue
(new JsonObject()).AsString);
128
Assert.Null(new
JsonValue
(default(JsonObject)).AsString);
129
Assert.Null(new
JsonValue
(new JsonArray()).AsString);
135
Assert.Equal("0.5", new
JsonValue
(0.5).AsString);
141
Assert.Null(new
JsonValue
(false).AsJsonObject);
142
Assert.IsType<JsonObject>(new
JsonValue
(new JsonObject()).AsJsonObject);
143
Assert.Null(new
JsonValue
(default(JsonObject)).AsJsonObject);
149
Assert.Null(new
JsonValue
(false).AsJsonArray);
150
Assert.IsType<JsonArray>(new
JsonValue
(new JsonArray()).AsJsonArray);
151
Assert.Null(new
JsonValue
(default(JsonArray)).AsJsonArray);
157
Assert.Null(new
JsonValue
(false).AsDateTime);
158
Assert.Null(new
JsonValue
("Some text").AsDateTime);
161
Assert.Equal(now, new
JsonValue
(now.ToString("o", CultureInfo.InvariantCulture)).AsDateTime);
167
Assert.Equal(0.0, new
JsonValue
(false).AsObject);
168
Assert.Equal(1.0, new
JsonValue
(true).AsObject);
169
Assert.Equal(1.0, new
JsonValue
(1.0).AsObject);
170
Assert.Equal("1.0", new
JsonValue
("1.0").AsObject);
171
Assert.IsType<JsonObject>(new
JsonValue
(new JsonObject()).AsObject);
172
Assert.IsType<JsonArray>(new
JsonValue
(new JsonArray()).AsObject);
173
Assert.Null(new
JsonValue
(default(JsonObject)).AsObject);
179
Assert.ThrowsAny<InvalidOperationException>(() => new
JsonValue
(false)["key"]);
180
Assert.ThrowsAny<InvalidOperationException>(() => new
JsonValue
(false)[null!]);
181
Assert.ThrowsAny<InvalidOperationException>(() => new
JsonValue
(false) { ["key"] = "value" });
183
Assert.Equal(JsonValue.Null, new
JsonValue
(new JsonObject())["key"]);
184
var value = new
JsonValue
(new JsonObject()) { ["key"] = "value" };
186
Assert.ThrowsAny<ArgumentNullException>(() => new
JsonValue
(new JsonObject())[null!]);
192
Assert.ThrowsAny<InvalidOperationException>(() => new
JsonValue
(false)[0]);
193
Assert.ThrowsAny<InvalidOperationException>(() => new
JsonValue
(false)[-1]);
194
Assert.ThrowsAny<InvalidOperationException>(() => new
JsonValue
(false) { [0] = "value" });
196
Assert.Equal(JsonValue.Null, new
JsonValue
(new JsonArray())[0]);
197
Assert.Equal(JsonValue.Null, new
JsonValue
(new JsonArray())[-1]);
199
var value = new
JsonValue
(new JsonArray { "initial" });
217
Assert.Equal(0, (int)new
JsonValue
(uint.MaxValue));
218
Assert.Equal(0, (int)new
JsonValue
(long.MinValue));
219
Assert.Equal(0, (int)new
JsonValue
(2.5));
220
Assert.Equal(1, (int)new
JsonValue
(1));
223
Assert.Equal(0, (int?)new
JsonValue
(uint.MaxValue));
224
Assert.Equal(0, (int?)new
JsonValue
(long.MinValue));
225
Assert.Equal(0, (int?)new
JsonValue
(2.5));
226
Assert.Equal(1, (int?)new
JsonValue
(1));
228
Assert.Null((int?)new
JsonValue
(default(JsonObject)));
231
Assert.False((bool)new
JsonValue
(false));
232
Assert.False((bool)new
JsonValue
(0.0));
233
Assert.False((bool)new
JsonValue
(string.Empty));
234
Assert.False((bool)new
JsonValue
(default(JsonObject)));
236
Assert.True((bool)new
JsonValue
(true));
237
Assert.False((bool)new
JsonValue
(1.0));
238
Assert.False((bool)new
JsonValue
("text"));
239
Assert.False((bool)new
JsonValue
(new JsonObject()));
240
Assert.False((bool)new
JsonValue
(new JsonArray()));
243
Assert.False((bool?)new
JsonValue
(false));
244
Assert.False((bool?)new
JsonValue
(0.0));
245
Assert.False((bool?)new
JsonValue
(string.Empty));
247
Assert.True((bool?)new
JsonValue
(true));
248
Assert.False((bool?)new
JsonValue
(1.0));
249
Assert.False((bool?)new
JsonValue
("text"));
250
Assert.False((bool?)new
JsonValue
(new JsonObject()));
251
Assert.False((bool?)new
JsonValue
(new JsonArray()));
254
Assert.Null((bool?)new
JsonValue
(default(JsonObject)));
257
Assert.Equal(double.NaN, (double)new
JsonValue
(false));
258
Assert.Equal(double.NaN, (double)new
JsonValue
(true));
259
Assert.Equal(1.0, (double)new
JsonValue
(1.0));
260
Assert.Equal(double.NaN, (double)new
JsonValue
("1.0"));
261
Assert.Equal(double.NaN, (double)new
JsonValue
(new JsonObject()));
262
Assert.Equal(double.NaN, (double)new
JsonValue
(new JsonArray()));
264
Assert.Equal(double.NaN, (double)new
JsonValue
(default(JsonObject)));
267
Assert.Equal(double.NaN, (double?)new
JsonValue
(false));
268
Assert.Equal(double.NaN, (double?)new
JsonValue
(true));
269
Assert.Equal(1.0, (double?)new
JsonValue
(1.0));
270
Assert.Equal(double.NaN, (double?)new
JsonValue
("1.0"));
271
Assert.Equal(double.NaN, (double?)new
JsonValue
(new JsonObject()));
272
Assert.Equal(double.NaN, (double?)new
JsonValue
(new JsonArray()));
274
Assert.Null((double?)new
JsonValue
(default(JsonObject)));
277
Assert.Null((string?)new
JsonValue
(false));
278
Assert.Null((string?)new
JsonValue
(true));
279
Assert.Null((string?)new
JsonValue
(1.0));
280
Assert.Equal("text", (string?)new
JsonValue
("text"));
281
Assert.Null((string?)new
JsonValue
(new JsonObject()));
282
Assert.Null((string?)new
JsonValue
(default(JsonObject)));
283
Assert.Null((string?)new
JsonValue
(new JsonArray()));
286
Assert.Null((JsonObject?)new
JsonValue
(false));
287
Assert.IsType<JsonObject>((JsonObject?)new
JsonValue
(new JsonObject()));
288
Assert.Null((JsonObject?)new
JsonValue
(default(JsonObject)));
291
Assert.Null((JsonArray?)new
JsonValue
(false));
292
Assert.IsType<JsonArray>((JsonArray?)new
JsonValue
(new JsonArray()));
293
Assert.Null((JsonArray?)new
JsonValue
(default(JsonArray)));
296
Assert.Equal(DateTime.MinValue, (DateTime)new
JsonValue
(false));
297
Assert.Equal(DateTime.MinValue, (DateTime)new
JsonValue
("Some text"));
300
Assert.Equal(now, (DateTime)new
JsonValue
(now.ToString("o", CultureInfo.InvariantCulture)));
303
Assert.Null((DateTime?)new
JsonValue
(false));
304
Assert.Null((DateTime?)new
JsonValue
("Some text"));
305
Assert.Equal(now, (DateTime?)new
JsonValue
(now.ToString("o", CultureInfo.InvariantCulture)));
312
Assert.True(new
JsonValue
(true) != new
JsonValue
(0));
322
Assert.True(new
JsonValue
(true).Equals(new
JsonValue
(true)));
323
Assert.False(new
JsonValue
(true).Equals(new
JsonValue
(false)));
333
Assert.Equal(new
JsonValue
(1).GetHashCode(), new
JsonValue
(1).GetHashCode());
334
Assert.Equal(new
JsonValue
("text").GetHashCode(), new
JsonValue
(new string("text".ToCharArray())).GetHashCode());
131 references to JsonValue
Microsoft.Analyzers.Local (78)
ApiLifecycle\Json\JsonArray.cs (11)
18
internal sealed class JsonArray : IEnumerable<
JsonValue
>
20
private readonly List<
JsonValue
> _items = [];
26
public JsonArray(params
JsonValue
[] values)
49
public
JsonValue
this[int index]
53
:
JsonValue
.Null;
62
public JsonArray Add(
JsonValue
value)
74
public JsonArray Insert(int index,
JsonValue
value)
106
public bool Contains(
JsonValue
item) => _items.Contains(item);
113
public int IndexOf(
JsonValue
item) => _items.IndexOf(item);
119
public IEnumerator<
JsonValue
> GetEnumerator() => _items.GetEnumerator();
137
public
JsonValue
[] Items { get; }
ApiLifecycle\Json\JsonObject.cs (16)
17
internal sealed class JsonObject : IEnumerable<KeyValuePair<string,
JsonValue
>>, IEnumerable<
JsonValue
>
19
private readonly IDictionary<string,
JsonValue
> _properties;
26
_properties = new Dictionary<string,
JsonValue
>();
42
public
JsonValue
this[string key]
44
get => _properties.TryGetValue(key, out
var
value)
46
:
JsonValue
.Null;
56
public JsonObject Add(string key) => Add(key,
JsonValue
.Null);
64
public JsonObject Add(string key,
JsonValue
value)
106
if (_properties.TryGetValue(oldKey, out
var
value))
127
public bool Contains(
JsonValue
value) => _properties.Values.Contains(value);
133
public IEnumerator<KeyValuePair<string,
JsonValue
>> GetEnumerator() => _properties.GetEnumerator();
139
IEnumerator<
JsonValue
> IEnumerable<
JsonValue
>.GetEnumerator() => _properties.Values.GetEnumerator();
185
private readonly
JsonValue
_value;
187
public KeyValuePair(string key,
JsonValue
value)
ApiLifecycle\Json\JsonReader.cs (12)
29
/// <returns>The parsed <see cref="
JsonValue
"/>.</returns>
30
public static
JsonValue
Parse(TextReader reader)
44
/// <returns>The parsed <see cref="
JsonValue
"/>.</returns>
45
public static
JsonValue
Parse(string source)
62
private
JsonValue
ReadJsonValue()
87
private
JsonValue
ReadNull()
90
return
JsonValue
.Null;
93
private
JsonValue
ReadBoolean()
121
private
JsonValue
ReadNumber()
295
var
value = ReadJsonValue();
350
var
value = ReadJsonValue();
384
private
JsonValue
Parse()
ApiLifecycle\Json\JsonValue.cs (38)
21
internal readonly struct JsonValue : IEquatable<
JsonValue
>
26
public static readonly
JsonValue
Null = new(JsonValueType.Null, default, null);
31
/// Initializes a new instance of the <see cref="
JsonValue
"/> struct, representing a Boolean value.
48
/// Initializes a new instance of the <see cref="
JsonValue
"/> struct, representing a Number value.
65
/// Initializes a new instance of the <see cref="
JsonValue
"/> struct, representing a String value.
82
/// Initializes a new instance of the <see cref="
JsonValue
"/> struct, representing a JsonObject.
99
/// Initializes a new instance of the <see cref="
JsonValue
"/> struct, representing a Array reference value.
116
/// Initializes a new instance of the <see cref="
JsonValue
"/> struct.
295
public
JsonValue
this[string key]
327
/// Thrown when this <see cref="
JsonValue
"/> is not a <see cref="JsonArray"/>.
329
public
JsonValue
this[int index]
360
public static implicit operator
JsonValue
(bool? value)
369
public static implicit operator
JsonValue
(double? value)
378
public static implicit operator
JsonValue
(string value)
387
public static implicit operator
JsonValue
(JsonObject value)
396
public static implicit operator
JsonValue
(JsonArray value)
409
public static implicit operator
JsonValue
(DateTime? value)
420
public static explicit operator int(
JsonValue
jsonValue)
433
public static explicit operator int?(
JsonValue
jsonValue)
442
public static explicit operator bool(
JsonValue
jsonValue)
455
public static explicit operator bool?(
JsonValue
jsonValue)
464
public static explicit operator double(
JsonValue
jsonValue)
477
public static explicit operator double?(
JsonValue
jsonValue)
488
public static explicit operator string?(
JsonValue
jsonValue)
499
public static explicit operator JsonObject?(
JsonValue
jsonValue)
508
public static explicit operator JsonArray?(
JsonValue
jsonValue)
517
public static explicit operator DateTime(
JsonValue
jsonValue)
526
public static explicit operator DateTime?(
JsonValue
jsonValue)
538
public static bool operator ==(
JsonValue
a,
JsonValue
b)
550
public static bool operator !=(
JsonValue
a,
JsonValue
b)
559
/// <returns>The <see cref="
JsonValue
"/> representing the parsed text.</returns>
560
public static
JsonValue
Parse(string text)
565
public bool Equals(
JsonValue
other)
573
if (obj is
JsonValue
jv)
596
private readonly
JsonValue
_jsonValue;
599
public JsonValueDebugView(
JsonValue
jsonValue)
ApiLifecycle\ModelLoader.cs (1)
65
var
value = JsonReader.Parse(reader);
Microsoft.Analyzers.Local.Tests (53)
Json\JsonArrayTest.cs (4)
40
Assert.Equal(
JsonValue
.Null, obj[1]);
41
Assert.Equal(
JsonValue
.Null, obj[-1]);
110
Assert.False(obj.Contains(
JsonValue
.Null));
123
Assert.Equal(-1, obj.IndexOf(
JsonValue
.Null));
Json\JsonObjectTest.cs (7)
47
Assert.Equal(
JsonValue
.Null, obj["x"]);
51
Assert.Equal(
JsonValue
.Null, obj["x"]);
66
Assert.Equal(typeof(KeyValuePair<string,
JsonValue
>), value.GetType());
70
IEnumerable<
JsonValue
> genericEnumerable = obj;
71
foreach (
var
value in genericEnumerable)
79
Assert.IsType<KeyValuePair<string,
JsonValue
>>(value);
80
Assert.True(obj.Contains(((KeyValuePair<string,
JsonValue
>)value).Value));
Json\JsonReaderTest.cs (4)
17
var
jsonObject =
JsonValue
.Parse("{ \"x\": \"value\", \"value\": \"value\" }");
18
Assert.NotEqual(jsonObject,
JsonValue
.Null);
27
Assert.ThrowsAny<JsonParseException>(() =>
JsonValue
.Parse("{ \"x\": \"value\", \"x\": \"value\" }"));
Json\JsonScannerTest.cs (7)
18
ex = Assert.ThrowsAny<JsonParseException>(() =>
JsonValue
.Parse("trUe"));
23
ex = Assert.ThrowsAny<JsonParseException>(() =>
JsonValue
.Parse("tr"));
32
var ex = Assert.ThrowsAny<JsonParseException>(() =>
JsonValue
.Parse("{ /1 }"));
39
ex = Assert.ThrowsAny<JsonParseException>(() =>
JsonValue
.Parse("{ // ignored text }"));
43
ex = Assert.ThrowsAny<JsonParseException>(() =>
JsonValue
.Parse("{ /* ignored text }"));
51
var
obj =
JsonValue
.Parse("{ /* * / */ }");
Json\JsonValueTest.cs (31)
183
Assert.Equal(
JsonValue
.Null, new JsonValue(new JsonObject())["key"]);
184
var
value = new JsonValue(new JsonObject()) { ["key"] = "value" };
196
Assert.Equal(
JsonValue
.Null, new JsonValue(new JsonArray())[0]);
197
Assert.Equal(
JsonValue
.Null, new JsonValue(new JsonArray())[-1]);
199
var
value = new JsonValue(new JsonArray { "initial" });
210
Assert.NotEqual(time,
JsonValue
.Null);
211
Assert.Equal(time.ToString("o", CultureInfo.InvariantCulture), ((
JsonValue
)time).AsString);
213
Assert.Equal(default(DateTime?),
JsonValue
.Null);
227
Assert.Null((int?)
JsonValue
.Null);
253
Assert.Null((bool?)
JsonValue
.Null);
263
Assert.Equal(double.NaN, (double)
JsonValue
.Null);
273
Assert.Null((double?)
JsonValue
.Null);
311
Assert.False(
JsonValue
.Null != default);
318
Assert.True(
JsonValue
.Null.Equals((object?)null));
319
Assert.True(
JsonValue
.Null.Equals(
JsonValue
.Null));
320
Assert.True(
JsonValue
.Null.Equals(default));
325
Assert.False(
JsonValue
.Null.Equals(1));
326
Assert.False(
JsonValue
.Null.Equals(new InvalidOperationException()));
332
Assert.Equal(
JsonValue
.Null.GetHashCode(), default(
JsonValue
).GetHashCode());
340
Assert.True(
JsonValue
.Parse("true").IsBoolean);
341
Assert.True(
JsonValue
.Parse("1").IsInteger);
342
Assert.True(
JsonValue
.Parse("1.0").IsInteger);
343
Assert.True(
JsonValue
.Parse("1.0").IsNumber);
344
Assert.True(
JsonValue
.Parse("\"text\"").IsString);
345
Assert.True(
JsonValue
.Parse("null").IsNull);
346
Assert.True(
JsonValue
.Parse("{}").IsJsonObject);
347
Assert.True(
JsonValue
.Parse("[]").IsJsonArray);
349
Assert.ThrowsAny<JsonParseException>(() =>
JsonValue
.Parse(string.Empty));
350
Assert.ThrowsAny<JsonParseException>(() =>
JsonValue
.Parse("{"));