void ValidateLogCountWithBreaks(LogHeightClass lhc, int numLogsBase, IEnumerable <uint> breaks)
        {
            lhc.GetDefaultLogCount(0).Should().Be(numLogsBase);
            lhc.GetDefaultLogCount(breaks.First() - .01f).Should().Be(numLogsBase);

            lhc.GetDefaultLogCount(breaks.First()).Should().Be(numLogsBase + 1);
            lhc.GetDefaultLogCount(breaks.ElementAt(1)).Should().Be(numLogsBase + 2);
        }
        public void GetDefaultLogCountTest()
        {
            var dbh             = 5;
            var numLogsBase     = 10;
            var numLogsExpected = numLogsBase;

            var lhc = new LogHeightClass(0, 0, numLogsBase);

            lhc.GetDefaultLogCount(dbh).Should().Be(numLogsExpected);
        }
        public void GetDefaultLogCountTestWithBreaks()
        {
            var numLogsBase = 10;
            var breaks      = new uint[] { 5, 10 };

            var lhc = new LogHeightClass(0, 0, numLogsBase).WithBreaks(breaks);

            ValidateLogCountWithBreaks(lhc, numLogsBase, breaks);

            lhc = new LogHeightClass(0, 0, numLogsBase).WithBreaks(breaks.Reverse().ToArray());

            ValidateLogCountWithBreaks(lhc, numLogsBase, breaks);
        }
        public void IsInRangeTest()
        {
            var from = 0.0f;
            var to   = 10.0f;

            var lhc = new LogHeightClass(from, to, 10);

            lhc.IsInRange(from).Should().BeTrue("range is inclusive");
            lhc.IsInRange(to).Should().BeTrue("range is inclusive");

            lhc.IsInRange(from - .01f).Should().BeFalse();
            lhc.IsInRange(to + .01f).Should().BeFalse();
        }
        public void SerializeTest()
        {
            var from        = 0.0f;
            var to          = 10.0f;
            var numLogsBase = 10;
            var breaks      = new uint[] { 5, 10 };

            var lhc = new LogHeightClass(from, to, numLogsBase).WithBreaks(breaks);

            DoSerialize(from, to, numLogsBase, breaks, lhc);

            breaks = null;
            lhc    = new LogHeightClass(from, to, numLogsBase);

            DoSerialize(from, to, numLogsBase, breaks, lhc);
        }
        private static void DoSerialize(float from, float to, int numLogsBase, uint[] breaks, LogHeightClass lhc)
        {
            var output = JsonConvert.SerializeObject(lhc);

            output.Should().NotBeEmpty();

            var result = JsonConvert.DeserializeObject <LogHeightClass>(output);

            result.Num16FtLogs.Should().Be(numLogsBase);
            result.From.Should().Be(from);
            result.To.Should().Be(to);
            if (breaks != null && breaks.Count() > 0)
            {
                result.Breaks.Should().NotBeNullOrEmpty();
                result.Breaks.Should().HaveSameCount(breaks);
            }
            else
            {
                result.Breaks.Should().BeNull();
            }
        }
Пример #7
0
 public void Add(LogHeightClass logHeightInfo)
 {
     LogHeights.Add(logHeightInfo);
 }