Пример #1
0
        public void ListCannotBeCoercedIfElementTypeDoesNotMatch()
        {
            // arrange
            var type    = new ListType(new BooleanType());
            var element = new StringValueNode("foo");

            // act
            Action action = () => type.ParseLiteral(element);

            // assert
            Assert.Throws <ArgumentException>(action);
        }
Пример #2
0
        public void ListCanBeCoercedFromListElementValue()
        {
            // arrange
            var type    = new ListType(new BooleanType());
            var element = new BooleanValueNode(true);

            // act
            object coercedValue = type.ParseLiteral(element);

            // assert
            Assert.IsType <bool[]>(coercedValue);
            Assert.Collection((bool[])coercedValue,
                              t => Assert.True(t));
        }
Пример #3
0
        public void ListCannotBeCoercedFromMixedList()
        {
            // arrange
            var type = new ListType(new BooleanType());
            var list = new ListValueNode(
                new IValueNode[] {
                new BooleanValueNode(true),
                new StringValueNode("foo")
            });

            // act
            Action action = () => type.ParseLiteral(list);

            // assert
            Assert.Throws <ScalarSerializationException>(action);
        }
Пример #4
0
        public void ListCanBeCoercedFromListValue()
        {
            // arrange
            var type = new ListType(new BooleanType());
            var list = new ListValueNode(
                new[] {
                new BooleanValueNode(true),
                new BooleanValueNode(false)
            });

            // act
            object coercedValue = type.ParseLiteral(list);

            // assert
            Assert.IsType <bool[]>(coercedValue);
            Assert.Collection((bool[])coercedValue,
                              t => Assert.True(t),
                              t => Assert.False(t));
        }