コード例 #1
0
        public void HandlesDataType_PassNotMatchingDataType_ReturnsFalse()
        {
            var valueReaders = A.Fake <IValueReaders>();
            var reader       = new StructValueReader(valueReaders);

            Assert.False(reader.HandlesDataType("string"));
        }
コード例 #2
0
        public void ReadValue_ForNotMatchingValue_ThrowsException()
        {
            var valueReaders = A.Fake <IValueReaders>();
            var reader       = new StructValueReader(valueReaders);

            var xmlElement = new XElement("string");

            Assert.Throws <ParserException>(() => reader.ReadValue(xmlElement));
        }
コード例 #3
0
        public void ReadValue_FromElementWithArrayValue_ReturnsCorrectArrayValue()
        {
            var valueReaders = A.Fake <IValueReaders>();

            A.CallTo(() => valueReaders.ReadValue(A <XElement> .Ignored)).Returns(new StringValue("2345"));

            var reader = new StructValueReader(valueReaders);

            var xmlElement = new XElement("struct", new XElement("member", new XElement("name", "TextProp"), new XElement("value", new XElement("string", "Value1234"))));

            var value = reader.ReadValue(xmlElement);

            Assert.IsType <StructValue>(value);
            var arrayValue = (StructValue)value;

            Assert.Single(arrayValue.Value);
            var(key, xmlRpcValue) = arrayValue.Value.First();
            Assert.Equal("TextProp", key);
            Assert.Equal("2345", xmlRpcValue.GetValue <string>());
            //Assert.IsType<IntegerValue>(firstValue);
            //Assert.Equal(2345, firstValue.GetValue<int>());
        }