pulumi/sdk/dotnet/Pulumi.Tests/Serialization/JsonConverterTests.cs
2019-11-25 23:50:05 -05:00

57 lines
1.3 KiB
C#

// Copyright 2016-2019, Pulumi Corporation
using System.Text.Json;
using System.Threading.Tasks;
using Pulumi.Serialization;
using Xunit;
namespace Pulumi.Tests.Serialization
{
public class JsonConverterTests : ConverterTests
{
private async Task Test(string json, string expected)
{
var element = JsonDocument.Parse(json).RootElement;
var serialized = await SerializeToValueAsync(element);
var converted = Converter.ConvertValue<JsonElement>("", serialized);
Assert.Equal(expected, converted.Value.ToString());
}
[Fact]
public async Task TestString()
{
await Test("\"x\"", "x");
}
[Fact]
public async Task TestNumber()
{
await Test("1.1", "1.1");
}
[Fact]
public async Task TestBoolean()
{
await Test("true", "True");
}
[Fact]
public async Task TestNull()
{
await Test("null", "");
}
[Fact]
public async Task TestArray()
{
await Test("[1, true, null]", "[1,true,null]");
}
[Fact]
public async Task TestObject()
{
await Test("{ \"n\": 1 }", "{\"n\":1}");
}
}
}