public void FieldValueTest()
        {
            var table = NSubstitute.Substitute.For <ITableable>();
            var type  = typeof(TestConfig1);
            var field = type.GetField(nameof(TestConfig1.Field1));
            var row   = NSubstitute.Substitute.For <IColumnProvidable>();

            row.GetColumns().Returns(DataProvider._ReturnColumn1);
            var val = new Regulus.RelationalTables.FieldValue(field, row, table);

            Assert.AreEqual(1, val.Instance);
        }
        public void FieldValueArrayTest()
        {
            var type  = typeof(TestConfig2);
            var field = type.GetField(nameof(TestConfig2.Field1));
            var row   = NSubstitute.Substitute.For <IColumnProvidable>();

            row.GetColumns().Returns(DataProvider._ReturnColumn2);
            var val    = new Regulus.RelationalTables.FieldValue(field, row, null);
            var values = val.Instance as int[];

            Assert.AreEqual(1, values[0]);
            Assert.AreEqual(2, values[1]);
            Assert.AreEqual(3, values[2]);
        }
        public void FieldValueRelationTest()
        {
            var table = NSubstitute.Substitute.For <ITableable>();

            table.FindRelatables(NSubstitute.Arg.Is(typeof(TestConfig1))).Returns(DataProvider._ReturnTestConfig1);
            var type  = typeof(TestConfig3);
            var field = type.GetField(nameof(TestConfig3.Field1));
            var row   = NSubstitute.Substitute.For <IColumnProvidable>();

            row.GetColumns().Returns(DataProvider._ReturnColumn3);
            var val     = new Regulus.RelationalTables.FieldValue(field, row, table);
            var config1 = val.Instance as TestConfig1;

            Assert.AreEqual(1, config1.Field1);
            Assert.AreEqual("2", config1.Field2);
            Assert.AreEqual(3f, config1.Field3);
        }