Esempio n. 1
0
        public void CopyFields_DynamicRow_To_Amorphous_NotIncludeAmorphous()
        {
            var schema = Schema.GetForTypedRow(typeof(Person));
            var from = new DynamicRow(schema);
            from["FirstName"] = "Ivan";
            from["Amount"] = 10;
            from["DOB"] = new DateTime(1990, 2, 16);
            from["GoodPerson"] = true;

            var to = new AmorphousDynamicRow(Schema.GetForTypedRow(typeof(Empty)));
            to.AmorphousData["field1"] = 123;
            to.AmorphousData["FirstName"] = "John";

            from.CopyFields(to, false);

            Assert.AreEqual(0, to.Schema.FieldCount);
            Assert.AreEqual(2, to.AmorphousData.Count);
            Assert.AreEqual(123, to.AmorphousData["field1"]);
            Assert.AreEqual("John", to.AmorphousData["FirstName"]);
        }
Esempio n. 2
0
        public void CopyFields_ExtendedDynamicRow_To_DynamicRow()
        {
            var schema = Schema.GetForTypedRow(typeof(Person));
            var fieldDefs = schema.FieldDefs.ToList();
            fieldDefs.Add(new Schema.FieldDef("Info", typeof(string), new QuerySource.ColumnDef("Info")));
            fieldDefs.Add(new Schema.FieldDef("Count", typeof(long), new QuerySource.ColumnDef("Info")));
            var extendedSchema = new Schema("sname", fieldDefs.ToArray());

            var from = new DynamicRow(extendedSchema);
            from["FirstName"] = "Ivan";
            from["Amount"] = 10;
            from["DOB"] = new DateTime(1990, 2, 16);
            from["GoodPerson"] = true;
            from["Info"] = "extended info";
            from["Count"] = long.MaxValue;

            var to = new DynamicRow(schema);

            from.CopyFields(to);

            Assert.AreEqual(to["FirstName"], from["FirstName"]);
            Assert.AreEqual(to["Amount"], from["Amount"]);
            Assert.AreEqual(to["DOB"], from["DOB"]);
            Assert.AreEqual(to["GoodPerson"], from["GoodPerson"]);
        }
Esempio n. 3
0
        public void CopyFields_DynamicRow()
        {
            var from = new DynamicRow(Schema.GetForTypedRow(typeof(Person)));
            from["FirstName"] = "Ivan";
            from["LastName"] = "Petrov";
            from["Amount"] = 10;
            from["Classification"] = "class1";
            from["Description"] = null;
            from["DOB"] = new DateTime(1990, 2, 16);
            from["GoodPerson"] = true;
            from["ID"] = "abc";
            from["LuckRatio"] = 12345.6789D;
            from["YearsInSpace"] = 20;
            from["YearsWithCompany"] = null;

            var to = new DynamicRow(Schema.GetForTypedRow(typeof(Person)));
            to["Description"] = "descr";
            to["YearsWithCompany"] = 30;

            from.CopyFields(to);

            Assert.AreEqual(to["FirstName"], from["FirstName"]);
            Assert.AreEqual(to["LastName"], from["LastName"]);
            Assert.AreEqual(to["Amount"], from["Amount"]);
            Assert.AreEqual(to["Classification"], from["Classification"]);
            Assert.AreEqual(to["Description"], from["Description"]);
            Assert.AreEqual(to["DOB"], from["DOB"]);
            Assert.AreEqual(to["GoodPerson"], from["GoodPerson"]);
            Assert.AreEqual(to["ID"], from["ID"]);
            Assert.AreEqual(to["LuckRatio"], from["LuckRatio"]);
            Assert.AreEqual(to["YearsInSpace"], from["YearsInSpace"]);
            Assert.AreEqual(to["YearsWithCompany"], from["YearsWithCompany"]);
        }