public void AddPlotRemarks() { var remarks = "something"; var unitCode = Units.First(); var plotNumber = 1; using (var database = CreateDatabase()) { var datastore = new CuttingUnitDatastore(database, CruiseID, TestDeviceInfoService.TEST_DEVICEID, new SamplerInfoDataservice(database, CruiseID, TestDeviceInfoService.TEST_DEVICEID)); var plotID = datastore.AddNewPlot(unitCode); validatePlot(datastore, unitCode, plotID, plotNumber); var plot = datastore.GetPlot(plotID); datastore.AddPlotRemark(plot.CuttingUnitCode, plot.PlotNumber, remarks); var stuff = database.QueryGeneric("select * from plot").ToArray(); var plotAgain = datastore.GetPlot(plotID); plotAgain.Remarks.Should().Be(remarks); datastore.AddPlotRemark(plot.CuttingUnitCode, plot.PlotNumber, remarks); plotAgain = datastore.GetPlot(plotID); plotAgain.Remarks.Should().Be(remarks + ", " + remarks); } }
public void UpdatePlot_Stratum() { var unitCode = "u1"; var stratumCode = "st1"; var plotNumber = 1; var plotID = Guid.NewGuid().ToString(); var cruiseID = CruiseID; using (var database = CreateDatabase()) { var datastore = new CuttingUnitDatastore(database, cruiseID, TestDeviceInfoService.TEST_DEVICEID, new SamplerInfoDataservice(database, CruiseID, TestDeviceInfoService.TEST_DEVICEID)); var stratumPlot = new Plot_Stratum() { CuttingUnitCode = unitCode, PlotNumber = plotNumber, StratumCode = stratumCode, IsEmpty = false, }; database.Execute($"INSERT INTO Plot (CruiseID, PlotID, CuttingUnitCode, PlotNumber) VALUES " + $"('{cruiseID}', '{plotID}', '{unitCode}', {plotNumber})"); datastore.InsertPlot_Stratum(stratumPlot); stratumPlot.IsEmpty = true; datastore.UpdatePlot_Stratum(stratumPlot); var ourStratumPlot = datastore.GetPlot_Stratum(unitCode, stratumCode, plotNumber); ourStratumPlot.IsEmpty.Should().Be(true); } }
public void GetPlotStrataProxies(string method) { var units = Units; var unit = units[0]; var newStratumCode = "01"; using (var database = new CruiseDatastore_V3()) { var saleID = SaleID; var cruiseID = CruiseID; var datastore = new CuttingUnitDatastore(database, CruiseID, TestDeviceInfoService.TEST_DEVICEID, new SamplerInfoDataservice(database, CruiseID, TestDeviceInfoService.TEST_DEVICEID)); InitializeDatabase(database, cruiseID, saleID, units, null, null, null, null, null, null); datastore.GetPlotStrataProxies(unit).Should().HaveCount(0); var stratumID = Guid.NewGuid().ToString(); database.Execute($"INSERT INTO Stratum (CruiseID, StratumID, StratumCode, Method) VALUES ('{cruiseID}', '{stratumID}', '{newStratumCode}', '{method}');"); database.Execute($"INSERT INTO CuttingUnit_Stratum (CruiseID, CuttingUnitCode, StratumCode) VALUES ('{cruiseID}', '{unit}', '{newStratumCode}')"); var result = datastore.GetPlotStrataProxies(unit).ToArray(); result.Should().HaveCount(1); } }
public void DeletePlot_Stratum() { var unitCode = "u1"; var stratumCode = "st1"; var plotNumber = 1; var plotID = Guid.NewGuid().ToString(); using (var database = CreateDatabase()) { var datastore = new CuttingUnitDatastore(database, CruiseID, TestDeviceInfoService.TEST_DEVICEID, new SamplerInfoDataservice(database, CruiseID, TestDeviceInfoService.TEST_DEVICEID)); var stratumPlot = new Plot_Stratum() { CuttingUnitCode = unitCode, PlotNumber = plotNumber, StratumCode = stratumCode, }; database.Execute("INSERT INTO Plot (CruiseID, PlotID, CuttingUnitCode, PlotNumber) VALUES " + $"('{CruiseID}', '{plotID}', '{unitCode}', {plotNumber});"); datastore.InsertPlot_Stratum(stratumPlot); var echo = datastore.GetPlot_Stratum(unitCode, stratumCode, plotNumber); echo.Should().NotBeNull("where's my echo"); datastore.DeletePlot_Stratum(echo.CuttingUnitCode, echo.StratumCode, echo.PlotNumber); } }
public void GetTallyEntriesByUnitCode() { var unit = Units.First(); var subpop = Subpops[0]; var stratum = subpop.StratumCode; var sampleGroup = subpop.SampleGroupCode; var species = subpop.SpeciesCode; var liveDead = subpop.LiveDead; using (var database = CreateDatabase()) { var datastore = new TallyDataservice(database, CruiseID, TestDeviceInfoService.TEST_DEVICEID, new SamplerInfoDataservice(database, CruiseID, TestDeviceInfoService.TEST_DEVICEID)); var tpds = new TallyPopulationDataservice(database, CruiseID, TestDeviceInfoService.TEST_DEVICEID); var cuds = new CuttingUnitDatastore(database, CruiseID, TestDeviceInfoService.TEST_DEVICEID, new SamplerInfoDataservice(database, CruiseID, TestDeviceInfoService.TEST_DEVICEID)); var pop = tpds.GetTallyPopulation(unit, stratum, sampleGroup, species, liveDead); // insert entry using InsertTallyAction datastore.InsertTallyAction(new TallyAction(unit, pop)); var tallyEntries = datastore.GetTallyEntriesByUnitCode(unit); tallyEntries.Should().HaveCount(1); // add another entry using insertTallyLedger datastore.InsertTallyLedger(new TallyLedger(unit, pop)); tallyEntries = datastore.GetTallyEntriesByUnitCode(unit); tallyEntries.Should().HaveCount(2); // inset a tally ledger with plot number // and conferm that GetTallyEntriesByUnitCode doesn't return plot tally entries cuds.AddNewPlot(unit); datastore.InsertTallyAction(new TallyAction(unit, 1, pop)); tallyEntries = datastore.GetTallyEntriesByUnitCode(unit); tallyEntries.Should().HaveCount(2); } }
public void GetTreeCount() { using (var database = CreateDatabase()) { var datastore = new CuttingUnitDatastore(database, CruiseID, TestDeviceInfoService.TEST_DEVICEID, new SamplerInfoDataservice(database, CruiseID, TestDeviceInfoService.TEST_DEVICEID)); } }
public void GetPlotTreeProxies() { var unitCode = "u1"; var plotNumber = 1; using (var db = CreateDatabase()) { var ds = new CuttingUnitDatastore(db, CruiseID, TestDeviceInfoService.TEST_DEVICEID, new SamplerInfoDataservice(db, CruiseID, TestDeviceInfoService.TEST_DEVICEID)); var plotid = ds.AddNewPlot(unitCode); var plot_stratum = ds.GetPlot_Strata(unitCode, plotNumber).First(); var tp = ds.GetPlotTallyPopulationsByUnitCode(unitCode, plotNumber).First(); var firstTreeid = ds.CreatePlotTree(unitCode, plotNumber, tp.StratumCode, tp.SampleGroupCode); ds.CreatePlotTree(unitCode, plotNumber, tp.StratumCode, tp.SampleGroupCode); var trees = ds.GetPlotTreeProxies(unitCode, plotNumber).ToArray(); trees.Should().HaveCount(2); trees.Select(x => x.TreeNumber).Should().BeInAscendingOrder(); db.Execute("UPDATE Tree SET TreeNumber = 3 WHERE TreeNumber = 1;"); var treesAgain = ds.GetPlotTreeProxies(unitCode, plotNumber).ToArray(); treesAgain.Select(x => x.TreeNumber).Should().BeInAscendingOrder(); } }
public void GetPlot_Strata() { var unitCode = "u1"; var strata = new string[] { "st1", "st2" }; var plotNumber = 1; var plotID = Guid.NewGuid().ToString(); var cruiseID = CruiseID; using (var database = CreateDatabase()) { var datastore = new CuttingUnitDatastore(database, cruiseID, TestDeviceInfoService.TEST_DEVICEID, new SamplerInfoDataservice(database, CruiseID, TestDeviceInfoService.TEST_DEVICEID)); datastore.GetPlotsByUnitCode(unitCode).Should().BeEmpty("we havn't added any plots yet"); database.Execute($"INSERT INTO Plot (CruiseID, PlotID, CuttingUnitCode, PlotNumber) VALUES " + $"('{cruiseID}', '{plotID}', '{unitCode}', {plotNumber})"); foreach (var st in strata) { database.Execute($"INSERT INTO Plot_Stratum (CruiseID, CuttingUnitCode, PlotNumber, StratumCode) VALUES " + $"('{cruiseID}', '{unitCode}', {plotNumber}, '{st}');"); } var stPlots = datastore.GetPlot_Strata(unitCode, plotNumber); stPlots.Should().HaveCount(strata.Count()); foreach (var ps in stPlots) { ValidatePlot_Stratum(ps, true); } } }
public void GetTreeError_SpeciesMissing() { var unitCode = "u1"; var stratumCode = "st1"; var sgCode = "sg1"; var species = (string)null; var liveDead = "L"; //var countMeasure = "M"; var treeCount = 1; using (var database = CreateDatabase()) { var datastore = new CuttingUnitDatastore(database, CruiseID, TestDeviceInfoService.TEST_DEVICEID, new SamplerInfoDataservice(database, CruiseID, TestDeviceInfoService.TEST_DEVICEID)); var treeID = datastore.CreateMeasureTree(unitCode, stratumCode, sgCode, species, liveDead, treeCount); var treeErrors = datastore.GetTreeErrors(treeID).ToArray(); treeErrors.Should().HaveCount(1); var speciesError = treeErrors.First(); speciesError.Level.Should().Be("E"); speciesError.Field.Should().Be(nameof(Models.Tree.SpeciesCode)); } }
public void CreateMeasureTree() { var unitCode = "u1"; var stratumCode = "st1"; var sgCode = "sg1"; var species = "sp1"; var liveDead = "L"; //var countMeasure = "C"; var treeCount = 1; using (var database = CreateDatabase()) { var datastore = new CuttingUnitDatastore(database, CruiseID, TestDeviceInfoService.TEST_DEVICEID, new SamplerInfoDataservice(database, CruiseID, TestDeviceInfoService.TEST_DEVICEID)); var treeID = datastore.CreateMeasureTree(unitCode, stratumCode, sgCode, species, liveDead, treeCount); var tree = datastore.GetTree(treeID); tree.Should().NotBeNull(); //tree.CuttingUnit_CN.Should().Be(1); tree.TreeID.Should().Be(treeID); tree.StratumCode.Should().Be(stratumCode); tree.SampleGroupCode.Should().Be(sgCode); tree.SpeciesCode.Should().Be(species); tree.LiveDead.Should().Be(liveDead); //tree.CountOrMeasure.Should().Be(countMeasure); //tree.TreeCount.Should().Be(treeCount); var tds = new TallyDataservice(database, CruiseID, TestDeviceInfoService.TEST_DEVICEID, new SamplerInfoDataservice(database, CruiseID, TestDeviceInfoService.TEST_DEVICEID)); var tallyLedger = tds.GetTallyEntry(treeID); tallyLedger.Should().NotBeNull(); tallyLedger.CountOrMeasure.Should().Be("M"); } }
public void UpdatePlotNumber() { var unitCode = Units.First(); //var plotNumber = 1; using (var database = CreateDatabase()) { var datastore = new CuttingUnitDatastore(database, CruiseID, TestDeviceInfoService.TEST_DEVICEID, new SamplerInfoDataservice(database, CruiseID, TestDeviceInfoService.TEST_DEVICEID)); var plotID = datastore.AddNewPlot(unitCode); validatePlot(datastore, unitCode, plotID, 1); var treeID = datastore.CreatePlotTree(unitCode, 1, "st1", "sg1"); datastore.UpdatePlotNumber(plotID, 2); validatePlot(datastore, unitCode, plotID, 2); // verify that plot number updates on tree records var treeAfter = datastore.GetTree(treeID); treeAfter.PlotNumber.Should().Be(2); } }
[InlineData("st3", "sg1", "sp1", "L", SampleResult.I)] // tally by subpop - insurance public void InsertTallyAction(string stratumCode, string sgCode, string species, string liveDead, SampleResult sampleResult) { var unitCode = "u1"; var treeCount = 50; using (var database = CreateDatabase()) { var datastore = new TallyDataservice(database, CruiseID, TestDeviceInfoService.TEST_DEVICEID, new SamplerInfoDataservice(database, CruiseID, TestDeviceInfoService.TEST_DEVICEID)); var tpds = new TallyPopulationDataservice(database, CruiseID, TestDeviceInfoService.TEST_DEVICEID); var cuds = new CuttingUnitDatastore(database, CruiseID, TestDeviceInfoService.TEST_DEVICEID, new SamplerInfoDataservice(database, CruiseID, TestDeviceInfoService.TEST_DEVICEID)); var tallyPops = database.QueryGeneric($"Select * from TallyPopulation WHERE StratumCode = '{stratumCode}';") .ToArray(); var pop = tpds.GetTallyPopulation(unitCode, stratumCode, sgCode, species, liveDead); pop.Should().NotBeNull(); var tallyAction = new TallyAction(unitCode, pop) { SampleResult = sampleResult, TreeCount = treeCount, }; var entry = datastore.InsertTallyAction(tallyAction); entry.TallyLedgerID.Should().NotBeEmpty(); ValidateTallyEntry(entry, sampleResult == SampleResult.M || sampleResult == SampleResult.I); var entryAgain = datastore.GetTallyEntry(entry.TallyLedgerID); ValidateTallyEntry(entryAgain, sampleResult == SampleResult.M || sampleResult == SampleResult.I); //var tree = database.From<Tree>().Where("TreeID = @p1").Query(entry.TreeID).FirstOrDefault(); if (sampleResult == SampleResult.M || sampleResult == SampleResult.I) { var tree = cuds.GetTree(entry.TreeID); tree.Should().NotBeNull(); tree.TreeID.Should().Be(entry.TreeID); tree.StratumCode.Should().Be(stratumCode); tree.SampleGroupCode.Should().Be(sgCode); tree.SpeciesCode.Should().Be(pop.SpeciesCode); tree.LiveDead.Should().Be(pop.LiveDead); tree.CountOrMeasure.Should().Be(sampleResult.ToString()); } var tallyPopulate = tpds.GetTallyPopulationsByUnitCode(unitCode).Where(x => (x.SpeciesCode ?? "") == (species ?? "")).Single(); tallyPopulate.TreeCount.Should().Be(treeCount); } }
public void IsTreeNumberAvalible_noPlot() { var init = new DatastoreInitializer(); var unit = init.Units[0]; using var db = init.CreateDatabase(); var ds = new CuttingUnitDatastore(db, init.CruiseID, init.DeviceID, new SamplerInfoDataservice(db, init.CruiseID, init.DeviceID)); ds.IsTreeNumberAvalible(unit, 1).Should().BeTrue(); }
public void GetTreeFieldValues_nonExistantTree() { var initializer = new DatastoreInitializer(); using var db = initializer.CreateDatabase(); var dataservice = new CuttingUnitDatastore(db, initializer.CruiseID, initializer.DeviceID, new SamplerInfoDataservice(db, initializer.CruiseID, initializer.DeviceID)); var treeID = Guid.NewGuid().ToString(); var tfvs = dataservice.GetTreeFieldValues(treeID); tfvs.Should().BeEmpty(); }
public void IsTreeNumberAvalible_Plot_nummberAcrossStrata() { var init = new DatastoreInitializer(); var unit = init.Units[0]; var stratum = init.PlotStrata[0].StratumCode; var altStratum = init.PlotStrata[1].StratumCode; var plotNumber = 1; using var db = init.CreateDatabase(); db.Execute("UPDATE Cruise SET UseCrossStrataPlotTreeNumbering = 1 WHERE CruiseID = @p1;", init.CruiseID); var ds = new CuttingUnitDatastore(db, init.CruiseID, init.DeviceID, new SamplerInfoDataservice(db, init.CruiseID, init.DeviceID)); var newPlot = new Plot() { CruiseID = init.CruiseID, CuttingUnitCode = unit, PlotNumber = plotNumber, PlotID = Guid.NewGuid().ToString(), }; db.Insert(newPlot); var newPlotStratum = new Plot_Stratum() { CruiseID = init.CruiseID, CuttingUnitCode = unit, PlotNumber = newPlot.PlotNumber, StratumCode = stratum, }; db.Insert(newPlotStratum); ds.IsTreeNumberAvalible(unit, 1, newPlotStratum.PlotNumber, newPlotStratum.StratumCode).Should().BeTrue(); ds.IsTreeNumberAvalible(unit, 1, newPlotStratum.PlotNumber, altStratum).Should().BeTrue(); db.Insert(new Tree() { CruiseID = init.CruiseID, TreeID = Guid.NewGuid().ToString(), TreeNumber = 1, CuttingUnitCode = unit, StratumCode = stratum, SampleGroupCode = init.SampleGroups[0].SampleGroupCode, PlotNumber = plotNumber, }); ds.IsTreeNumberAvalible(unit, 1, newPlotStratum.PlotNumber, newPlotStratum.StratumCode).Should().BeFalse(); ds.IsTreeNumberAvalible(unit, 1, newPlotStratum.PlotNumber, altStratum).Should().BeFalse(); }
public void UpdateTree() { var unitCode = "u1"; var stratumCode = "st1"; var sgCode = "sg1"; var species = "sp1"; var liveDead = "L"; var treeCount = 1; using (var database = CreateDatabase()) { var datastore = new CuttingUnitDatastore(database, CruiseID, TestDeviceInfoService.TEST_DEVICEID, new SamplerInfoDataservice(database, CruiseID, TestDeviceInfoService.TEST_DEVICEID)); var treeID = datastore.CreateMeasureTree(unitCode, stratumCode, sgCode, species, liveDead, treeCount); var tree = datastore.GetTree(treeID); tree.Should().NotBeNull(); tree.CuttingUnitCode.Should().Be(unitCode); tree.StratumCode.Should().Be(stratumCode); tree.SampleGroupCode.Should().Be(sgCode); tree.SpeciesCode.Should().Be(species); tree.LiveDead.Should().Be(liveDead); tree.TreeNumber.Should().Be(1); tree.TreeID.Should().Be(treeID); //unitCode = "u2"; // tree should not be able to change units stratumCode = "st2"; sgCode = "sg2"; species = "sp2"; liveDead = "D"; tree.CuttingUnitCode = unitCode; tree.StratumCode = stratumCode; tree.SampleGroupCode = sgCode; tree.SpeciesCode = species; tree.LiveDead = liveDead; datastore.UpdateTree(tree); var treeAgain = datastore.GetTree(treeID); treeAgain.CuttingUnitCode.Should().Be(unitCode); treeAgain.StratumCode.Should().Be(stratumCode); treeAgain.SampleGroupCode.Should().Be(sgCode); treeAgain.SpeciesCode.Should().Be(species); treeAgain.LiveDead.Should().Be(liveDead); } }
private static void validatePlot(CuttingUnitDatastore datastore, string unitCode, string plotID, int expectedPlotNumber) { plotID.Should().NotBeNullOrEmpty(); var plot = datastore.GetPlot(plotID); plot.Should().NotBeNull(); plot.PlotNumber.Should().Be(expectedPlotNumber); var strat_plots = datastore.GetPlot_Strata(unitCode, plot.PlotNumber); strat_plots.Should().NotBeEmpty(); strat_plots.All(x => x.PlotNumber == expectedPlotNumber).Should().BeTrue(); }
public void GetStrataByUnitCode_Test(string unitCode, params string[] expectedStrataCodes) { using (var database = CreateDatabase()) { var datastore = new CuttingUnitDatastore(database, CruiseID, TestDeviceInfoService.TEST_DEVICEID, new SamplerInfoDataservice(database, CruiseID, TestDeviceInfoService.TEST_DEVICEID)); var strata = database.Query <Stratum> ("select * from stratum;").ToArray(); var stuff = database.QueryGeneric("select * from Stratum;").ToArray(); var results = datastore.GetStrataByUnitCode(unitCode); var strata_codes = results.Select(x => x.StratumCode); strata_codes.Should().Contain(expectedStrataCodes); strata_codes.Should().HaveSameCount(expectedStrataCodes); } }
public void GetNextPlotNumber() { var unitCode = "u1"; var plotNumber = 1; var plotID = Guid.NewGuid().ToString(); var cruiseID = CruiseID; using (var database = CreateDatabase()) { var datastore = new CuttingUnitDatastore(database, cruiseID, TestDeviceInfoService.TEST_DEVICEID, new SamplerInfoDataservice(database, CruiseID, TestDeviceInfoService.TEST_DEVICEID)); datastore.GetNextPlotNumber(unitCode).Should().Be(1, "unit with no plots, should return 1 for first plot number"); database.Execute($"INSERT INTO Plot (CruiseID, PlotID, CuttingUnitCode, PlotNumber) VALUES ('{cruiseID}', '{plotID}', '{unitCode}', {plotNumber});"); datastore.GetNextPlotNumber(unitCode).Should().Be(plotNumber + 1, "unit with a plot, should return max plot number + 1"); } }
public void GetTreeStub(string unitCode, string stratumCode, string sgCode, string species, string liveDead) { using (var database = CreateDatabase()) { var datastore = new CuttingUnitDatastore(database, CruiseID, TestDeviceInfoService.TEST_DEVICEID, new SamplerInfoDataservice(database, CruiseID, TestDeviceInfoService.TEST_DEVICEID)); var tree_GUID = datastore.CreateMeasureTree(unitCode, stratumCode, sgCode, species, liveDead); var tree = datastore.GetTreeStub(tree_GUID); tree.Should().NotBeNull(); tree.TreeID.Should().Be(tree_GUID); tree.StratumCode.Should().Be(stratumCode); tree.SampleGroupCode.Should().Be(sgCode); tree.SpeciesCode.Should().Be(species); //tree.CountOrMeasure.Should().Be(countMeasure); } }
public void IsPlotNumberAvalible() { var unitCode = "u1"; var plotNumber = 1; var plotID = Guid.NewGuid().ToString(); var cruiseID = CruiseID; using (var database = CreateDatabase()) { var datastore = new CuttingUnitDatastore(database, cruiseID, TestDeviceInfoService.TEST_DEVICEID, new SamplerInfoDataservice(database, CruiseID, TestDeviceInfoService.TEST_DEVICEID)); datastore.IsPlotNumberAvalible(unitCode, plotNumber).Should().BeTrue("no plots in unit yet"); database.Execute($"INSERT INTO Plot (CruiseID, PlotID, CuttingUnitCode, PlotNumber) VALUES ('{cruiseID}', '{plotID}', '{unitCode}', {plotNumber});"); datastore.IsPlotNumberAvalible(unitCode, plotNumber).Should().BeFalse("we just inserted a plot"); } }
public void GetPlotsByUnitCode() { var unitCode = "u1"; var plotNumber = 1; var plotID = Guid.NewGuid().ToString(); var cruiseID = CruiseID; using (var database = CreateDatabase()) { var datastore = new CuttingUnitDatastore(database, cruiseID, TestDeviceInfoService.TEST_DEVICEID, new SamplerInfoDataservice(database, CruiseID, TestDeviceInfoService.TEST_DEVICEID)); datastore.GetPlotsByUnitCode(unitCode).Should().BeEmpty("we havn't added any plots yet"); database.Execute($"INSERT INTO Plot (CruiseID, PlotID, CuttingUnitCode, PlotNumber) VALUES ('{cruiseID}', '{plotID}', '{unitCode}', {plotNumber});"); datastore.GetPlotsByUnitCode(unitCode).Should().ContainSingle(); } }
public void AddNewPlot() { var unitCode = Units.First(); //var plotNumber = 1; using (var database = CreateDatabase()) { var datastore = new CuttingUnitDatastore(database, CruiseID, TestDeviceInfoService.TEST_DEVICEID, new SamplerInfoDataservice(database, CruiseID, TestDeviceInfoService.TEST_DEVICEID)); var plotID = datastore.AddNewPlot(unitCode); validatePlot(datastore, unitCode, plotID, 1); var plotID2 = datastore.AddNewPlot(unitCode); validatePlot(datastore, unitCode, plotID2, 2); } }
public void IncrementFixCNTTreeCount() { var unitCode = Units.First(); var plotNumber = 1; var fieldName = "DBH"; var value = 10; var subpop = Subpops.First(); var sgCode = subpop.SampleGroupCode; var stCode = subpop.StratumCode; var sp = subpop.SpeciesCode; var ld = subpop.LiveDead; using (var database = CreateDatabase()) { var plotds = new CuttingUnitDatastore(database, CruiseID, TestDeviceInfoService.TEST_DEVICEID, new SamplerInfoDataservice(database, CruiseID, TestDeviceInfoService.TEST_DEVICEID)); var plotID = plotds.AddNewPlot(unitCode); var ds = new FixCNTDataservice(database, CruiseID, TestDeviceInfoService.TEST_DEVICEID); ds.GetTreeCount(unitCode, plotNumber, stCode, sgCode, sp, ld, fieldName, value) .Should().Be(0); // after incrementing once, tree count should be 1 // and there shold only be one tree in the tree table ds.IncrementFixCNTTreeCount(unitCode, plotNumber, stCode, sgCode, sp, ld, fieldName, value); ds.GetTreeCount(unitCode, plotNumber, stCode, sgCode, sp, ld, fieldName, value) .Should().Be(1); database.ExecuteScalar <int>("SELECT count(*) FROM Tree;").Should().Be(1); // after incrementing a second time, tree count should be 2 // and there shold still only be one tree in the tree table ds.IncrementFixCNTTreeCount(unitCode, plotNumber, stCode, sgCode, sp, ld, fieldName, value); ds.GetTreeCount(unitCode, plotNumber, stCode, sgCode, sp, ld, fieldName, value) .Should().Be(2); database.ExecuteScalar <int>("SELECT count(*) FROM Tree;").Should().Be(1); var plotTrees = plotds.GetPlotTreeProxies(unitCode, plotNumber); plotTrees.Should().HaveCount(1); } }
public void UpdateLog_test() { using (var database = CreateDatabase()) { var datastore = new CuttingUnitDatastore(database, CruiseID, TestDeviceInfoService.TEST_DEVICEID, new SamplerInfoDataservice(database, CruiseID, TestDeviceInfoService.TEST_DEVICEID)); var tree_guid = datastore.CreateMeasureTree("u1", "st1", "sg1"); var log = new Log() { TreeID = tree_guid, LogNumber = 1 }; datastore.InsertLog(log); var randomizer = new Randomizer(8675309); log.BarkThickness = randomizer.Double(); log.BoardFootRemoved = randomizer.Double(); log.CubicFootRemoved = randomizer.Double(); log.DIBClass = randomizer.Double(); log.ExportGrade = randomizer.String(); log.Grade = randomizer.String(); log.GrossBoardFoot = randomizer.Double(); log.GrossCubicFoot = randomizer.Double(); log.LargeEndDiameter = randomizer.Double(); log.Length = randomizer.Int(); log.LogNumber = randomizer.Int(); //log.ModifiedBy = randomizer.String(10); log.NetBoardFoot = randomizer.Double(); log.NetCubicFoot = randomizer.Double(); log.PercentRecoverable = randomizer.Double(); log.SeenDefect = randomizer.Double(); log.SmallEndDiameter = randomizer.Double(); datastore.UpdateLog(log); var logAgain = datastore.GetLog(log.LogID); var eqivConfig = new EquivalencyAssertionOptions <Log>(); eqivConfig.Excluding(x => x.CreatedBy); logAgain.Should().BeEquivalentTo(log, config: x => x.Excluding(l => l.CreatedBy)); } }
public void UpdatePlot() { var random = new Bogus.Randomizer(); var unitCode = "u1"; var stratumCode = "st1"; var plotNumber = 1; var plotID = Guid.NewGuid().ToString(); var cruiseID = CruiseID; using (var database = CreateDatabase()) { var datastore = new CuttingUnitDatastore(database, cruiseID, TestDeviceInfoService.TEST_DEVICEID, new SamplerInfoDataservice(database, CruiseID, TestDeviceInfoService.TEST_DEVICEID)); var stratumPlot = new Plot_Stratum() { CuttingUnitCode = unitCode, PlotNumber = plotNumber, StratumCode = stratumCode, IsEmpty = false, }; database.Execute($"INSERT INTO Plot (CruiseID, PlotID, CuttingUnitCode, PlotNumber) VALUES " + $"('{cruiseID}', '{plotID}', '{unitCode}', {plotNumber})"); var plot = datastore.GetPlot(unitCode, plotNumber); var slope = random.Double(); plot.Slope = slope; var aspect = random.Double(); plot.Aspect = aspect; var remarks = random.String2(24); plot.Remarks = remarks; datastore.UpdatePlot(plot); var plotAgain = datastore.GetPlot(unitCode, plotNumber); plotAgain.Slope.Should().Be(slope); plotAgain.Aspect.Should().Be(aspect); plotAgain.Remarks.Should().Be(remarks); } }
public void GetPlot_Strata() { var init = new DatastoreInitializer(); var unit = init.Units[0]; using (var db = init.CreateDatabase()) { var ds = new CuttingUnitDatastore(db, init.CruiseID, TestDeviceInfoService.TEST_DEVICEID, new SamplerInfoDataservice(db, init.CruiseID, init.DeviceID)); ds.AddNewPlot(unit); var plots = ds.GetPlotsByUnitCode(unit); plots.Should().HaveCount(1); var plot = plots.Single(); var plotStrata = ds.GetPlot_Strata(unit, plot.PlotNumber, insertIfNotExists: false); plotStrata.Should().HaveCount(2); } }
public void GetPlot_ByUnitPlotNumber() { var unitCode = "u1"; var plotNumber = 1; var plotID = Guid.NewGuid().ToString(); var cruiseID = CruiseID; using (var database = CreateDatabase()) { var datastore = new CuttingUnitDatastore(database, cruiseID, TestDeviceInfoService.TEST_DEVICEID, new SamplerInfoDataservice(database, CruiseID, TestDeviceInfoService.TEST_DEVICEID)); database.Execute($"INSERT INTO Plot (CruiseID, PlotID, CuttingUnitCode, PlotNumber) VALUES " + $"('{cruiseID}', '{plotID}', '{unitCode}', {plotNumber})"); var plot = datastore.GetPlot(unitCode, plotNumber); plot.Should().NotBeNull(); } }
public void DecrementFixCNTTreeCount() { var unitCode = Units.First(); var plotNumber = 1; var fieldName = "DBH"; var value = 10; var subpop = Subpops.First(); var sgCode = subpop.SampleGroupCode; var stCode = subpop.StratumCode; var sp = subpop.SpeciesCode; var ld = subpop.LiveDead; using (var database = CreateDatabase()) { var plotds = new CuttingUnitDatastore(database, CruiseID, TestDeviceInfoService.TEST_DEVICEID, new SamplerInfoDataservice(database, CruiseID, TestDeviceInfoService.TEST_DEVICEID)); var plotID = plotds.AddNewPlot(unitCode); var ds = new FixCNTDataservice(database, CruiseID, TestDeviceInfoService.TEST_DEVICEID); // check initial state ds.GetTreeCount(unitCode, plotNumber, stCode, sgCode, sp, ld, fieldName, value) .Should().Be(0); // increment once ds.IncrementFixCNTTreeCount(unitCode, plotNumber, stCode, sgCode, sp, ld, fieldName, value); ds.GetTreeCount(unitCode, plotNumber, stCode, sgCode, sp, ld, fieldName, value) .Should().Be(1); // decrement back to zero ds.DecrementFixCNTTreeCount(unitCode, plotNumber, stCode, sgCode, sp, ld, fieldName, value); ds.GetTreeCount(unitCode, plotNumber, stCode, sgCode, sp, ld, fieldName, value) .Should().Be(0); // try to decrement past zero should only result in count of zero ds.DecrementFixCNTTreeCount(unitCode, plotNumber, stCode, sgCode, sp, ld, fieldName, value); ds.GetTreeCount(unitCode, plotNumber, stCode, sgCode, sp, ld, fieldName, value) .Should().Be(0); } }
public void InsertStratumPlot() { var plotNumber = 1; var stratumCode = "st1"; var unitCode = "u1"; var isEmpty = true; var kpi = 101; var plotID = Guid.NewGuid().ToString(); var cruiseID = CruiseID; //var remarks = "something"; using (var database = CreateDatabase()) { var datastore = new CuttingUnitDatastore(database, cruiseID, TestDeviceInfoService.TEST_DEVICEID, new SamplerInfoDataservice(database, CruiseID, TestDeviceInfoService.TEST_DEVICEID)); var stratumPlot = new Plot_Stratum() { CuttingUnitCode = unitCode, PlotNumber = plotNumber, StratumCode = stratumCode, IsEmpty = isEmpty, KPI = kpi, //Remarks = remarks }; database.Execute($"INSERT INTO Plot (CruiseID, PlotID, CuttingUnitCode, PlotNumber) VALUES " + $"('{cruiseID}', '{plotID}', '{unitCode}', {plotNumber})"); datastore.InsertPlot_Stratum(stratumPlot); datastore.IsPlotNumberAvalible(unitCode, plotNumber).Should().BeFalse("we just took that plot number"); var plotStratumAgain = datastore.GetPlot_Stratum(unitCode, stratumCode, plotNumber); plotStratumAgain.Should().NotBeNull(); plotStratumAgain.PlotNumber.Should().Be(plotNumber); //ourStratumPlot.Remarks.Should().Be(remarks); plotStratumAgain.KPI.Should().Be(kpi); plotStratumAgain.IsEmpty.Should().Be(isEmpty); plotStratumAgain.StratumCode.Should().Be(stratumCode); } }