示例#1
0
        public void DoesntThrowExceptionWhenValueNullAndNonNullableType()
        {
            var layout = new Layout();

            layout.AddColumn(new StringColumn("Key1"), new FixedLengthSpace(1));
            layout.AddColumn(new StringColumn("Key2"), new FixedLengthSpace(1));

            var recordValues = new Dictionary <string, object>
            {
                { "Key1", "Value1" },
                { "Key2", null }
            };
            var container = new RecordValueContainer(layout, recordValues);

            var retrievedValue = container.Get <DateTime>("Key2");

            Assert.AreEqual(default(DateTime), retrievedValue);
        }
示例#2
0
        public void ThrowsExceptionWhenColumnNotDefinedInLayout()
        {
            var layout = new Layout();

            layout.AddColumn(new StringColumn("Key1"), new FixedLengthSpace(1));
            layout.AddColumn(new StringColumn("Key2"), new FixedLengthSpace(1));

            var recordValues = new Dictionary <string, object>
            {
                { "Key1", "Value1" },
                { "Key2", "Value2" }
            };
            var container = new RecordValueContainer(layout, recordValues);

            var retrievedValue = container["Key3"];

            Assert.IsNull(retrievedValue);
        }
示例#3
0
        public void GetValueReturnsCorrectValue()
        {
            var layout = new Layout();

            layout.AddColumn(new StringColumn("Key1"), new FixedLengthSpace(1));
            layout.AddColumn(new StringColumn("Key2"), new FixedLengthSpace(1));

            var recordValues = new Dictionary <string, object>
            {
                { "Key1", "Value1" },
                { "Key2", 45 }
            };
            var container = new RecordValueContainer(layout, recordValues);

            int retrievedValue = container.Get <int>("Key2");

            Assert.AreEqual(45, retrievedValue);
        }
示例#4
0
        public void ThrowsExceptionWhenRequiredFieldNotPresent()
        {
            var layout = new Layout();

            layout.AddColumn(new StringColumn("Key1"), new FixedLengthSpace(1));
            layout.AddColumn(new StringColumn("Key2"), new FixedLengthSpace(1));

            var recordValues = new Dictionary <string, object>
            {
                { "Key1", "Value1" },
                { "Key2", 45 }
            };
            var container = new RecordValueContainer(layout, recordValues);

            int retrievedValue = container.Get <int>("Key2");

            Assert.AreEqual(45, retrievedValue);
        }
示例#5
0
        public void ReturnsLayoutName()
        {
            var container = new RecordValueContainer(new Layout("Foobar"), new Dictionary <string, object>());

            Assert.AreEqual("Foobar", container.LayoutName);
        }