예제 #1
0
    public void Deserialize_Invalid_Format()
    {
        // arrange
        var type       = new AnyType();
        var serialized = new ObjectValueNode();

        // act
        void Action() => type.Deserialize(serialized);

        // assert
        Assert.Throws <SerializationException>(Action);
    }
예제 #2
0
    public void Deserialize()
    {
        // arrange
        var type       = new AnyType();
        var serialized = new ObjectValueNode(
            new ObjectFieldNode(AnyType.TypeNameField, "test"),
            new ObjectFieldNode("faa", "foo"),
            new ObjectFieldNode("foo", "bar")
            );

        // act
        object?representationObject = type.Deserialize(serialized);

        // assert
        Assert.IsType <Representation>(representationObject);
        if (representationObject is Representation representation)
        {
            Assert.Equal("test", representation.TypeName);
            Assert.Collection(representation.Data.Fields,
                              node =>
            {
                Assert.Equal(
                    AnyType.TypeNameField,
                    node.Name.Value);

                Assert.Equal(
                    "test",
                    node.Value.Value);
            },
                              node =>
            {
                Assert.Equal(
                    "faa",
                    node.Name.Value);

                Assert.Equal(
                    "foo",
                    node.Value.Value);
            },
                              node =>
            {
                Assert.Equal(
                    "foo",
                    node.Name.Value);

                Assert.Equal(
                    "bar",
                    node.Value.Value);
            }
                              );
        }
    }