public void Initialize() { MyIListWrapper = new WrapperForIList() { "Hello" }; MyIDictionaryWrapper = new WrapperForIDictionary() { { "key", "value" } }; MyHashtableWrapper = new HashtableWrapper(new List <KeyValuePair <string, object> > { new KeyValuePair <string, object>("key", "value") }); MyArrayListWrapper = new ArrayListWrapper() { "Hello" }; MySortedListWrapper = new SortedListWrapper() { { "key", "value" } }; MyStackWrapper = new StackWrapper(); MyQueueWrapper = new QueueWrapper(); MyStackWrapper.Push("Hello"); MyQueueWrapper.Enqueue("Hello"); }
public static void ImplementsDictionary_DictionaryOfString() { const string JsonString = @"{""Hello"":""World"",""Hello2"":""World2""}"; const string ReorderedJsonString = @"{""Hello2"":""World2"",""Hello"":""World""}"; { WrapperForIDictionary obj = JsonSerializer.Deserialize <WrapperForIDictionary>(JsonString); Assert.Equal("World", ((JsonElement)obj["Hello"]).GetString()); Assert.Equal("World2", ((JsonElement)obj["Hello2"]).GetString()); string json = JsonSerializer.Serialize(obj); Assert.Equal(JsonString, json); json = JsonSerializer.Serialize <object>(obj); Assert.Equal(JsonString, json); } { StringToStringDictionaryWrapper obj = JsonSerializer.Deserialize <StringToStringDictionaryWrapper>(JsonString); Assert.Equal("World", obj["Hello"]); Assert.Equal("World2", obj["Hello2"]); string json = JsonSerializer.Serialize(obj); Assert.Equal(JsonString, json); json = JsonSerializer.Serialize <object>(obj); Assert.Equal(JsonString, json); } { StringToStringSortedDictionaryWrapper obj = JsonSerializer.Deserialize <StringToStringSortedDictionaryWrapper>(JsonString); Assert.Equal("World", obj["Hello"]); Assert.Equal("World2", obj["Hello2"]); string json = JsonSerializer.Serialize(obj); Assert.Equal(JsonString, json); json = JsonSerializer.Serialize <object>(obj); Assert.Equal(JsonString, json); } { StringToStringIDictionaryWrapper obj = JsonSerializer.Deserialize <StringToStringIDictionaryWrapper>(JsonString); Assert.Equal("World", obj["Hello"]); Assert.Equal("World2", obj["Hello2"]); string json = JsonSerializer.Serialize(obj); Assert.Equal(JsonString, json); json = JsonSerializer.Serialize <object>(obj); Assert.Equal(JsonString, json); } { Assert.Throws <JsonException>(() => JsonSerializer.Deserialize <StringToStringIReadOnlyDictionaryWrapper>(JsonString)); StringToStringIReadOnlyDictionaryWrapper obj = new StringToStringIReadOnlyDictionaryWrapper(new Dictionary <string, string>() { { "Hello", "World" }, { "Hello2", "World2" }, }); string json = JsonSerializer.Serialize(obj); Assert.Equal(JsonString, json); json = JsonSerializer.Serialize <object>(obj); Assert.Equal(JsonString, json); } { Assert.Throws <JsonException>(() => JsonSerializer.Deserialize <StringToStringIImmutableDictionaryWrapper>(JsonString)); StringToStringIImmutableDictionaryWrapper obj = new StringToStringIImmutableDictionaryWrapper(new Dictionary <string, string>() { { "Hello", "World" }, { "Hello2", "World2" }, }); string json = JsonSerializer.Serialize(obj); Assert.True(JsonString == json || ReorderedJsonString == json); json = JsonSerializer.Serialize <object>(obj); Assert.True(JsonString == json || ReorderedJsonString == json); } { HashtableWrapper obj = JsonSerializer.Deserialize <HashtableWrapper>(JsonString); Assert.Equal("World", ((JsonElement)obj["Hello"]).GetString()); Assert.Equal("World2", ((JsonElement)obj["Hello2"]).GetString()); string json = JsonSerializer.Serialize(obj); Assert.True(JsonString == json || ReorderedJsonString == json); json = JsonSerializer.Serialize <object>(obj); Assert.True(JsonString == json || ReorderedJsonString == json); } { SortedListWrapper obj = JsonSerializer.Deserialize <SortedListWrapper>(JsonString); Assert.Equal("World", ((JsonElement)obj["Hello"]).GetString()); Assert.Equal("World2", ((JsonElement)obj["Hello2"]).GetString()); string json = JsonSerializer.Serialize(obj); Assert.Equal(JsonString, json); json = JsonSerializer.Serialize <object>(obj); Assert.Equal(JsonString, json); } }