public void ReadValue_ForNotMatchingValue_ThrowsException() { var valueReaders = A.Fake <IValueReaders>(); var reader = new ArrayValueReader(valueReaders); var xmlElement = new XElement("string"); Assert.Throws <ParserException>(() => reader.ReadValue(xmlElement)); }
public void ReadValue_FromElementWithArrayValue_ReturnsCorrectArrayValue() { var integerValueReader = A.Fake <IValueReader>(); A.CallTo(() => integerValueReader.ReadValue(A <XElement> .Ignored)).Returns(new IntegerValue(2345)); var valueReaders = A.Fake <IValueReaders>(); A.CallTo(() => valueReaders.ReadValue(A <XElement> .Ignored)).Returns(new IntegerValue(2345)); var reader = new ArrayValueReader(valueReaders); var xmlElement = new XElement("array", new XElement("data", new XElement("value", new XElement("int")))); var value = reader.ReadValue(xmlElement); Assert.IsType <ArrayValue>(value); var arrayValue = (ArrayValue)value; Assert.Single(arrayValue.Value); var firstValue = arrayValue.Value.First(); Assert.IsType <IntegerValue>(firstValue); Assert.Equal(2345, firstValue.GetValue <int>()); }