public void TestReadPlots()
        {
            using (var ds = new CruiseDAL.DAL(":memory:", true))
            {
                var unit = new CuttingUnit()
                {
                    Code = "1"
                };

                var st = new PlotStratum()
                {
                    Code   = "1",
                    Method = CruiseMethods.THREEPPNT
                };

                ds.Insert(unit);

                ds.Insert(st);

                ds.Insert(new Plot()
                {
                    CuttingUnit = unit,
                    Stratum     = st,
                    PlotNumber  = 1
                });

                st.DAL = ds;
                st.PopulatePlots(unit.CuttingUnit_CN.Value);

                st.Plots.Should().NotBeNullOrEmpty();
                st.Plots.Should().OnlyContain(x => x is Plot3PPNT);
            }
        }
        public void TestMakePlot_3ppnt()
        {
            using (var dal = new CruiseDAL.DAL(":memory:", true))
            {
                var unit = new CuttingUnit()
                {
                    Code = "01",
                    DAL  = dal
                };

                dal.Insert(unit);

                var stratum = new PlotStratum()
                {
                    Code   = "01",
                    Method = CruiseMethods.THREEPPNT,
                    DAL    = dal
                };

                dal.Insert(stratum);

                var plot = stratum.MakePlot(unit);

                plot.Should().BeOfType <Plot3PPNT>();

                plot.PlotNumber.Should().Be(1L);

                plot.CuttingUnit.Should().Be(unit);
                plot.Stratum.Should().Be(stratum);

                plot.Trees.Should().NotBeNull();
            }
        }