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 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); } }