Пример #1
0
        // Parameter: list of space separated Z, X values
        PackLine Construct(string packLineData)
        {
            var values   = packLineData.Split(' ').Select(x => int.Parse(x.Trim())).ToList();
            var packLine = new PackLine(1);

            packLine.FirstSegment = null;
            PackLine.Segment lastSegment = null;
            for (int i = 0; i < values.Count; i += 2)
            {
                var segment = new PackLine.Segment()
                {
                    Z = values[i], RightX = values[i + 1]
                };
                if (packLine.FirstSegment == null)
                {
                    packLine.FirstSegment = segment;
                }
                else
                {
                    lastSegment.Right = segment;
                    segment.Left      = lastSegment;
                }
                lastSegment = segment;
            }
            return(packLine);
        }
Пример #2
0
        public void Constructor()
        {
            var pl = new PackLine(100);

            Assert.NotNull(pl.FirstSegment);
            Assert.Equal(0, pl.FirstSegment.Z);
            Assert.Equal(100, pl.FirstSegment.RightX);
        }
Пример #3
0
        int SegmentCount(PackLine line)
        {
            var count   = 0;
            var segment = line.FirstSegment;

            while (segment != null)
            {
                count++;
                segment = segment.Right;
            }

            return(count);
        }