コード例 #1
0
        public void LineIterator_GetNextRange()
        {
            Init(4);
            lines.SetText("0\n1\n2\n3\n4\n5\n6\n7\n8\n9\n10\n11\n12\n13\n14");
            CollectionAssert.AreEqual(new Line[] { lines[0], lines[1] }, GetLines(lines.GetLineRange(0, 2)));
            CollectionAssert.AreEqual(new Line[] { lines[1], lines[2] }, GetLines(lines.GetLineRange(1, 2)));
            CollectionAssert.AreEqual(new Line[] { lines[11], lines[12], lines[13] }, GetLines(lines.GetLineRange(11, 3)));
            CollectionAssert.AreEqual(new Line[] { lines[12], lines[13], lines[14] }, GetLines(lines.GetLineRange(12, 3)));
            LineIterator iterator = lines.GetLineRange(2, 10);

            iterator.MoveNext();
            Assert.AreEqual(lines[2], iterator.current);
            iterator.MoveNext();
            Assert.AreEqual(lines[3], iterator.current);
            CollectionAssert.AreEqual(
                new Line[] { lines[4], lines[5], lines[6], lines[7], lines[8] },
                GetLines(iterator.GetNextRange(5)));
        }