예제 #1
0
        public void BuildInterval(
            int lowerBoundaryPoint,
            int upperBoundaryPoint)
        {
            var interval = IntervalFactory.BuildClosedOpenInterval(
                lowerBoundaryPoint: lowerBoundaryPoint,
                upperBoundaryPoint: upperBoundaryPoint,
                comparer: Comparer <int> .Default);

            Assert.IsType <Interval <int> >(
                @object: interval);
        }
예제 #2
0
        public void Test()
        {
            var interval = IntervalFactory.BuildClosedInterval(
                lowerBoundaryPoint: -10,
                upperBoundaryPoint: 10,
                comparer: Comparer <int> .Default);

            var intervalList = interval.Exclude(
                pointSet: new HashSet <int> {
                5
            },
                comparer: Comparer <int> .Default);

            Assert.Equal(
                expected: 2,
                actual: intervalList.Count);
        }
예제 #3
0
        public void IntersectWithOpenIntervalIsOpenInterval(
            int lowerBoundaryPoint,
            int upperBoundaryPoint)
        {
            var infinityInterval = IntervalFactory.BuildInfinityInterval <int>();

            var result = infinityInterval.Intersect(
                rightInterval: IntervalFactory.BuildOpenInterval(
                    lowerBoundaryPoint: lowerBoundaryPoint,
                    upperBoundaryPoint: upperBoundaryPoint,
                    comparer: Comparer <int> .Default),
                comparer: Comparer <int> .Default);

            Assert.IsType <Interval <int> >(result);
            Assert.IsType <OpenLowerBound <int> >(((Interval <int>)result).LowerBound);
            Assert.IsType <OpenUpperBound <int> >(((Interval <int>)result).UpperBound);
        }