예제 #1
0
파일: RangeTests.cs 프로젝트: switsys/bless
        public void SplitAtomicTest()
        {
            Range r = new Range(0, 10);
            Range s = new Range(4, 6);

            Range[] ra = new Range[] { new Range(), new Range(), new Range() };

            Assert.IsTrue(r.Equals(new Range(0, 10)), "#0");

            Range.SplitAtomic(ra, r, s);
            Assert.AreEqual(new Range(0, 3), ra[0], "#1.0");
            Assert.AreEqual(new Range(4, 6), ra[1], "#1.1");
            Assert.AreEqual(new Range(7, 10), ra[2], "#1.2");

            s = new Range(0, 4);
            Range.SplitAtomic(ra, r, s);
            Assert.AreEqual(new Range(), ra[0], "#2.0");
            Assert.AreEqual(new Range(0, 4), ra[1], "#2.1");
            Assert.AreEqual(new Range(5, 10), ra[2], "#2.2");

            s = new Range(6, 10);
            Range.SplitAtomic(ra, r, s);
            Assert.AreEqual(new Range(0, 5), ra[0], "#3.0");
            Assert.AreEqual(new Range(6, 10), ra[1], "#3.1");
            Assert.AreEqual(new Range(), ra[2], "#3.2");

            s = new Range(0, 10);
            Range.SplitAtomic(ra, r, s);
            Assert.AreEqual(new Range(), ra[0], "#4.0");
            Assert.AreEqual(new Range(0, 10), ra[1], "#4.1");
            Assert.AreEqual(new Range(), ra[2], "#4.2");
        }
예제 #2
0
파일: RangeTests.cs 프로젝트: switsys/bless
        public void SplitAtomic1Test()
        {
            Range r = new Range(10, 20);
            Range s = new Range(8, 13);

            Range[] ra = new Range[] { new Range(), new Range(), new Range() };

            Range.SplitAtomic(ra, r, s);
            Assert.AreEqual(new Range(), ra[0], "#1.0");
            Assert.AreEqual(new Range(8, 13), ra[1], "#1.1");
            Assert.AreEqual(new Range(14, 20), ra[2], "#1.2");

            s = new Range(16, 26);
            Range.SplitAtomic(ra, r, s);
            Assert.AreEqual(new Range(10, 15), ra[0], "#2.0");
            Assert.AreEqual(new Range(16, 26), ra[1], "#2.1");
            Assert.AreEqual(new Range(), ra[2], "#2.2");
        }