public void Check_RowsSates() { var dmTable = set.Tables[0]; dmTable.Rows[0].Delete(); dmTable.Rows[1].SetAdded(); dmTable.Rows[2].SetModified(); DmSetSurrogate dss = new DmSetSurrogate(set); // Convert to DmSetSurrogate var surrogateDs = new DmSetSurrogate(set); // serialize as json string var stringSurrogate = JsonConvert.SerializeObject(surrogateDs); // deserialize as surrogate var surrogateDsFromJson = JsonConvert.DeserializeObject <DmSetSurrogate>(stringSurrogate); // Convert to DmSet var set2 = surrogateDs.ConvertToDmSet(set); var rows2 = set2.Tables[0].Rows; Assert.Equal(DmRowState.Deleted, rows2[0].RowState); Assert.Equal(DmRowState.Added, rows2[1].RowState); Assert.Equal(DmRowState.Modified, rows2[2].RowState); Assert.Equal(DmRowState.Unchanged, rows2[3].RowState); Assert.Equal(DmRowState.Unchanged, rows2[4].RowState); Assert.Equal(DmRowState.Unchanged, rows2[5].RowState); }
public void Convert_DmSetSurrogate_To_DmSet() { // Convert to DmSetSurrogate var surrogateDs = new DmSetSurrogate(set); // serialize as json string var stringSurrogate = JsonConvert.SerializeObject(surrogateDs); // deserialize as surrogate var surrogateDsFromJson = JsonConvert.DeserializeObject <DmSetSurrogate>(stringSurrogate); // Convert to DmSet var set2 = surrogateDs.ConvertToDmSet(set); Assert.NotSame(set, set2); Assert.Equal(set.CaseSensitive, set2.CaseSensitive); Assert.Equal(set.Culture, set2.Culture); Assert.Equal(set.DmSetName, set2.DmSetName); Assert.Equal(set.Tables.Count, set2.Tables.Count); Assert.Equal(set.Tables[0].Columns.Count, set2.Tables[0].Columns.Count); Assert.Equal(set.Tables[0].Rows.Count, set2.Tables[0].Rows.Count); }
public void Properties() { DmSet set = new DmSet("DMSET"); DmTable clientsTable = new DmTable("Clients"); DmTable productsTable = new DmTable("Products"); set.Tables.Add(clientsTable); set.Tables.Add(productsTable); DmColumn productId = new DmColumn <Int32>("Id"); productId.AllowDBNull = false; productId.IsAutoIncrement = true; productId.IsCompute = false; productId.IsUnicode = false; productId.IsUnsigned = false; productsTable.Columns.Add(productId); DmColumn fkClientId = new DmColumn <Guid>("clientId"); fkClientId.AllowDBNull = true; productsTable.Columns.Add(fkClientId); DmColumn productName = new DmColumn <string>("name"); productName.AllowDBNull = true; productName.DbType = System.Data.DbType.StringFixedLength; productName.MaxLength = 150; productId.IsCompute = false; productId.IsUnicode = true; productId.IsUnsigned = true; productsTable.Columns.Add(productName); DmColumn productPrice = new DmColumn <Decimal>("price"); productPrice.AllowDBNull = false; productPrice.DbType = System.Data.DbType.VarNumeric; productPrice.Precision = 6; productPrice.Scale = 2; // for test purpose productId.IsCompute = true; productsTable.Columns.Add(productPrice); productsTable.PrimaryKey = new DmKey(new DmColumn[] { productId, productName, productPrice }); DmColumn clientId = new DmColumn <Guid>("Id"); clientId.AllowDBNull = false; clientsTable.Columns.Add(clientId); DmColumn clientName = new DmColumn <string>("Name"); clientsTable.Columns.Add(clientName); clientsTable.PrimaryKey = new DmKey(clientId); // ForeignKey DmRelation fkClientRelation = new DmRelation("FK_Products_Clients", clientId, fkClientId); productsTable.AddForeignKey(fkClientRelation); var clientGuid = Guid.NewGuid(); var drClient = clientsTable.NewRow(); drClient["Name"] = "Pertus"; drClient["Id"] = clientGuid; clientsTable.Rows.Add(drClient); var drProduct = productsTable.NewRow(); drProduct["clientId"] = clientGuid; drProduct["name"] = "Ensemble bleu blanc rouge"; drProduct["price"] = 12.23d; productsTable.Rows.Add(drProduct); // Convert to DmSetSurrogate var surrogateDs = new DmSetSurrogate(set); // serialize as json string var stringSurrogate = JsonConvert.SerializeObject(surrogateDs); // deserialize as surrogate var surrogateDsFromJson = JsonConvert.DeserializeObject <DmSetSurrogate>(stringSurrogate); // Convert to DmSet var set2 = surrogateDs.ConvertToDmSet(set); // Assertions on DmSet properties Assert.Equal(set.DmSetName, set2.DmSetName); Assert.Equal(set.Culture, set2.Culture); Assert.Equal(set.CaseSensitive, set2.CaseSensitive); Assert.Equal(set.Relations.Count, set2.Relations.Count); Assert.Equal(set.Tables.Count, set2.Tables.Count); //Assertions on Table properties var productsTable2 = set2.Tables["Products"]; var clientsTable2 = set2.Tables["Clients"]; AssertIsEqual(productsTable, productsTable2); AssertIsEqual(clientsTable, clientsTable2); // Assertions on columns var productId2 = set2.Tables["Products"].Columns["Id"]; AssertIsEqual(productId, productId2); var fkClientId2 = set2.Tables["Products"].Columns["clientId"]; AssertIsEqual(fkClientId, fkClientId2); var productName2 = set2.Tables["Products"].Columns["name"]; AssertIsEqual(productName, productName2); var productPrice2 = set2.Tables["Products"].Columns["price"]; AssertIsEqual(productPrice, productPrice2); var clientId2 = set2.Tables["Clients"].Columns["Id"]; AssertIsEqual(clientId, clientId2); var clientName2 = set2.Tables["Clients"].Columns["Name"]; AssertIsEqual(clientName, clientName2); }