Beispiel #1
0
        public void UnboundedIntervalTranslation()
        {
            var interval = IntInterval.LeftBounded(7);

            Assert.IsTrue(interval.LeftEndpoint.Bounded);
            Assert.IsTrue(interval.LeftEndpoint.Inclusive);
            Assert.AreEqual(7, interval.Left);
            Assert.IsFalse(interval.RightEndpoint.Bounded);
            Assert.IsFalse(interval.RightEndpoint.Inclusive);
            Assert.AreEqual(int.MaxValue, interval.Right);
            Assert.AreEqual(int.MaxValue, interval.Span);

            var translated = interval.Translate(100);

            Assert.IsTrue(translated.LeftEndpoint.Bounded);
            Assert.IsTrue(translated.LeftEndpoint.Inclusive);
            Assert.AreEqual(107, translated.Left);
            Assert.IsFalse(translated.RightEndpoint.Bounded);
            Assert.IsFalse(translated.RightEndpoint.Inclusive);
            Assert.AreEqual(int.MaxValue, translated.Right); // unbounded end does not move
            Assert.AreEqual(int.MaxValue, translated.Span);
        }