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