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 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();
            }
        }
コード例 #3
0
        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_Stratum()
        {
            var units  = new string[] { "u1" };
            var strata = new[]
            {
                new dbModels.Stratum {
                    StratumCode = "st1", Method = "FIX"
                },
                new dbModels.Stratum {
                    StratumCode = "st2", Method = "FIX"
                },
                new dbModels.Stratum {
                    StratumCode = "st3", Method = "FIX"
                },
            };
            var unit_strata = new[]
            {
                new dbModels.CuttingUnit_Stratum {
                    CuttingUnitCode = "u1", StratumCode = "st1"
                },
                new dbModels.CuttingUnit_Stratum {
                    CuttingUnitCode = "u1", StratumCode = "st2"
                },
                new dbModels.CuttingUnit_Stratum {
                    CuttingUnitCode = "u1", StratumCode = "st3"
                },
            };

            var plotNumber = 1;
            var plotID     = Guid.NewGuid().ToString();

            using (var database = new CruiseDatastore_V3())
            {
                var saleID   = SaleID;
                var cruiseID = CruiseID;
                InitializeDatabase(database, cruiseID, saleID, units, strata, unit_strata, null, null, null, null);

                var datastore = new CuttingUnitDatastore(database, cruiseID, TestDeviceInfoService.TEST_DEVICEID, new SamplerInfoDataservice(database, CruiseID, TestDeviceInfoService.TEST_DEVICEID));

                datastore.GetPlotsByUnitCode(units[0]).Should().BeEmpty("we havn't added any plots yet");

                database.Execute($"INSERT INTO Plot (CruiseID, PlotID, CuttingUnitCode, PlotNumber) VALUES " +
                                 $"('{cruiseID}', '{plotID}', '{units[0]}', {plotNumber})");

                foreach (var st in strata)
                {
                    if (st.StratumCode == "st3")
                    {
                        continue;
                    }

                    database.Execute($"INSERT INTO Plot_Stratum (CruiseID, CuttingUnitCode, PlotNumber, StratumCode) VALUES " +
                                     $"('{cruiseID}', '{units[0]}', {plotNumber}, '{st.StratumCode}');");
                }

                foreach (var st in strata)
                {
                    var plotStratum = datastore.GetPlot_Stratum(units[0], st.StratumCode, plotNumber);
                    ValidatePlot_Stratum(plotStratum, st.StratumCode != "st3");
                }

                var nonExistantPS = datastore.GetPlot_Stratum(units[0], "st3", plotNumber);
                ValidatePlot_Stratum(nonExistantPS, false);
            }
        }