public void Sync_CuttingUnit_Update() { var fromPath = base.GetTempFilePath(".crz3", "CuttingUnit_Updated_fromFile"); var toPath = base.GetTempFilePath(".crz3", "CuttingUnit_Update_toFile"); var syncOptions = new CruiseSyncOptions(); var cruiseID = Guid.NewGuid().ToString(); var saleID = Guid.NewGuid().ToString(); // initialize source database using var fromDb = CreateDatabaseFile(fromPath, cruiseID, saleID); var cuttingUnitID = Guid.NewGuid().ToString(); var cuttingUnit = new CuttingUnit() { CruiseID = cruiseID, CuttingUnitID = cuttingUnitID, CuttingUnitCode = "10", }; fromDb.Insert(cuttingUnit); // initialize dest database // as exact copy of source database fromDb.CopyTo(toPath, true); using var toDb = new CruiseDatastore_V3(toPath); // modify cutting unit value and save to source database cuttingUnit.Area = Rand.Int(); cuttingUnit.Description = Rand.String(); cuttingUnit.LoggingMethod = "401"; cuttingUnit.PaymentUnit = Rand.AlphaNumeric(3); cuttingUnit.Rx = Rand.AlphaNumeric(3); cuttingUnit.ModifiedBy = Rand.AlphaNumeric(4); fromDb.Update(cuttingUnit); // run sync var syncer = new CruiseSyncer(); syncer.Sync(cruiseID, fromDb, toDb, syncOptions); var cuttingUnitAgain = toDb.From <CuttingUnit>().Where("CuttingUnitID = @p1") .Query(cuttingUnitID).FirstOrDefault(); cuttingUnitAgain.Should().BeEquivalentTo(cuttingUnit, x => x.Excluding(y => y.Modified_TS)); }