コード例 #1
0
        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));
            }
        }
コード例 #2
0
        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");
            }
        }
コード例 #3
0
        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);
            }
        }
コード例 #4
0
        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);
            }
        }
コード例 #5
0
        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));
            }
        }
コード例 #6
0
        public void DeleteLog_test()
        {
            using (var database = CreateDatabase())
            {
                var datastore = new CuttingUnitDatastore(database, CruiseID, TestDeviceInfoService.TEST_DEVICEID, new SamplerInfoDataservice(database, CruiseID, TestDeviceInfoService.TEST_DEVICEID));

                var treeID = datastore.CreateMeasureTree("u1", "st1", "sg1");

                var log = new Log()
                {
                    TreeID = treeID, LogNumber = 1
                };
                datastore.InsertLog(log);

                datastore.DeleteLog(log.LogID);

                var logAgain = datastore.GetLog(log.LogID);
                logAgain.Should().BeNull();
            }
        }
コード例 #7
0
        public void InsertLog_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
                };

                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();
                log.NetBoardFoot       = randomizer.Double();
                log.NetCubicFoot       = randomizer.Double();
                log.PercentRecoverable = randomizer.Double();
                log.SeenDefect         = randomizer.Double();
                log.SmallEndDiameter   = randomizer.Double();

                datastore.InsertLog(log);

                log.LogID.Should().NotBeNullOrWhiteSpace();
                Guid.TryParse(log.LogID, out Guid log_guid).Should().BeTrue();
                log_guid.Should().NotBe(Guid.Empty);
            }
        }
コード例 #8
0
        public void DeleteTree()
        {
            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();

                datastore.DeleteTree(treeID);

                tree = datastore.GetTree(treeID);
                tree.Should().BeNull();
            }
        }