public void CopyFields_DynamicRow_To_Amorphous_IncludeAmorphous() { var schema = Schema.GetForTypedDoc(typeof(Person)); var from = new DynamicDoc(schema); from["FirstName"] = "Ivan"; from["Amount"] = 10; from["DOB"] = new DateTime(1990, 2, 16); from["GoodPerson"] = true; var to = new AmorphousDynamicDoc(Schema.GetForTypedDoc(typeof(Empty))); to.AmorphousData["field1"] = 123; to.AmorphousData["FirstName"] = "John"; from.CopyFields(to, includeAmorphousData: true); Aver.AreEqual(0, to.Schema.FieldCount); Aver.AreEqual(12, to.AmorphousData.Count); Aver.AreObjectsEqual(123, to.AmorphousData["field1"]); Aver.AreObjectsEqual(from["FirstName"], to.AmorphousData["FirstName"]); Aver.AreObjectsEqual(from["Amount"], to.AmorphousData["Amount"]); Aver.AreObjectsEqual(from["DOB"], to.AmorphousData["DOB"]); Aver.AreObjectsEqual(from["GoodPerson"], to.AmorphousData["GoodPerson"]); }
public void CopyFields_ExtendedTypedRow_To_Amorphous_IncludeAmorphous() { var from = new ExtendedPerson { FirstName = "Ivan", Amount = 10, YearsWithCompany = null, Count = 4567, Info = "extended info" }; var to = new AmorphousDynamicDoc(Schema.GetForTypedDoc(typeof(Person))); to.AmorphousData["field1"] = 123; to.AmorphousData["FirstName"] = "John"; from.CopyFields(to, includeAmorphousData: true); Aver.AreEqual(11, to.Schema.FieldCount); Aver.AreEqual(6, to.AmorphousData.Count); Aver.AreObjectsEqual(123, to.AmorphousData["field1"]); Aver.AreObjectsEqual("John", to.AmorphousData["FirstName"]); Aver.AreObjectsEqual(from.Count, to.AmorphousData["Count"]); Aver.AreObjectsEqual(from.Info, to.AmorphousData["Info"]); Aver.AreObjectsEqual(null, to.AmorphousData["Parent"]); Aver.AreObjectsEqual(null, to.AmorphousData["Children"]); Aver.AreObjectsEqual(from.FirstName, to["FirstName"]); Aver.AreObjectsEqual(from.Amount, to["Amount"]); Aver.AreObjectsEqual(from.YearsWithCompany, to["YearsWithCompany"]); }
public void CopyFields_TypedRow_To_Amorphous_IncludeAmorphous() { var from = new Person { FirstName = "Ivan", LastName = "Petrov", Amount = 10, Classification = "class1", YearsWithCompany = null }; var to = new AmorphousDynamicDoc(Schema.GetForTypedDoc(typeof(Empty))); to.AmorphousData["field1"] = 123; to.AmorphousData["FirstName"] = "John"; from.CopyFields(to, includeAmorphousData: true); Aver.AreEqual(0, to.Schema.FieldCount); Aver.AreEqual(12, to.AmorphousData.Count); Aver.AreObjectsEqual(123, to.AmorphousData["field1"]); Aver.AreObjectsEqual(from.FirstName, to.AmorphousData["FirstName"]); Aver.AreObjectsEqual(from.LastName, to.AmorphousData["LastName"]); Aver.AreObjectsEqual(from.Amount, to.AmorphousData["Amount"]); Aver.AreObjectsEqual(from.Classification, to.AmorphousData["Classification"]); Aver.AreObjectsEqual(from.YearsWithCompany, to.AmorphousData["YearsWithCompany"]); }
public void ToAmorphousDynamicRow_FromString() { var str = @"{name: ""Orlov"", dob: ""02/12/2007 6:45 PM"", certified: true, serviceyears: 12, salary: 145000, extra: -1, yes: true}"; var row = new AmorphousDynamicDoc(Schema.GetForTypedDoc(typeof(MySimpleData))); JsonReader.ToDoc(row, str.JsonToDataObject() as JsonDataMap); Aver.AreObjectsEqual("Orlov", row["Name"]); Aver.AreObjectsEqual(new DateTime(2007, 2, 12, 18, 45, 0), row["DOB"]); Aver.AreObjectsEqual(true, row["Certified"]); Aver.AreObjectsEqual(12, row["ServiceYears"]); Aver.AreObjectsEqual(145000m, row["Salary"]); Aver.AreObjectsEqual(2, row.AmorphousData.Count); Aver.AreObjectsEqual(-1, row.AmorphousData["extra"]); Aver.AreObjectsEqual(true, row.AmorphousData["yes"]); }
public void CopyFields_AmorphousDynamicRow_IncludeAmorphous() { var from = new AmorphousDynamicDoc(Schema.GetForTypedDoc(typeof(Empty))); from.AmorphousData["field1"] = "some data"; from.AmorphousData["field2"] = 123; var to = new AmorphousDynamicDoc(Schema.GetForTypedDoc(typeof(Empty))); to.AmorphousData["field2"] = "234"; to.AmorphousData["field3"] = 1.2D; from.CopyFields(to, includeAmorphousData: true); Aver.AreEqual(3, to.AmorphousData.Count); Aver.AreObjectsEqual(from.AmorphousData["field1"], to.AmorphousData["field1"]); Aver.AreObjectsEqual(from.AmorphousData["field2"], to.AmorphousData["field2"]); Aver.AreObjectsEqual(1.2D, to.AmorphousData["field3"]); }
public void CopyFields_AmorphousDynamicRow_NotIncludeAmorphous() { var from = new AmorphousDynamicDoc(Schema.GetForTypedDoc(typeof(Person))); from["FirstName"] = "Ivan"; from["LuckRatio"] = 12345.6789D; from.AmorphousData["field1"] = "some data"; var to = new AmorphousDynamicDoc(Schema.GetForTypedDoc(typeof(Person))); from["FirstName"] = "Jack"; from["YearsInSpace"] = 20; from.CopyFields(to, includeAmorphousData: false); Aver.AreObjectsEqual(to["FirstName"], from["FirstName"]); Aver.AreObjectsEqual(to["LuckRatio"], from["LuckRatio"]); Aver.AreObjectsEqual(to["YearsInSpace"], from["YearsInSpace"]); Aver.AreObjectsEqual(null, to.Schema["field1"]); Aver.AreEqual(0, to.AmorphousData.Count); }
public void CopyFields_AmorphousDynamicRow_To_DynamicRow() { var from = new AmorphousDynamicDoc(Schema.GetForTypedDoc(typeof(Person))); from["FirstName"] = "Ivan"; from["LuckRatio"] = 12345.6789D; from.AmorphousData["field1"] = "some data"; var to = new DynamicDoc(Schema.GetForTypedDoc(typeof(Person))); to["Description"] = "descr"; to["YearsWithCompany"] = 30; from.CopyFields(to); Aver.AreObjectsEqual(to["FirstName"], from["FirstName"]); Aver.AreObjectsEqual(to["LuckRatio"], from["LuckRatio"]); Aver.AreObjectsEqual(to["Description"], from["Description"]); Aver.AreObjectsEqual(to["YearsWithCompany"], from["YearsWithCompany"]); Aver.AreObjectsEqual(null, to.Schema["field1"]); }
public void CopyFields_AmorphousDynamicRow_Filter() { var from = new AmorphousDynamicDoc(Schema.GetForTypedDoc(typeof(Empty))); from.AmorphousData["field1"] = "some data"; from.AmorphousData["field2"] = 123; from.AmorphousData["field3"] = "info"; var to = new AmorphousDynamicDoc(Schema.GetForTypedDoc(typeof(Empty))); to.AmorphousData["field2"] = "234"; to.AmorphousData["field3"] = 1.2D; to.AmorphousData["field4"] = 12345; from.CopyFields(to, null, true, false, null, (s, n) => n != "field2"); Aver.AreEqual(4, to.AmorphousData.Count); Aver.AreObjectsEqual(from.AmorphousData["field1"], to.AmorphousData["field1"]); Aver.AreObjectsEqual("234", to.AmorphousData["field2"]); Aver.AreObjectsEqual(to.AmorphousData["field3"], to.AmorphousData["field3"]); Aver.AreObjectsEqual(12345, to.AmorphousData["field4"]); }