Beispiel #1
0
        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);
            }
        }
Beispiel #2
0
        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);
            }
        }