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); }
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)); }
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); }
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)); }