示例#1
0
        public void Range_can_represent_a_sequence_of_one_item()
        {
            var r = SequenceRange.From(Sequence.First, Sequence.First);

            r.Lower.Should().Be(Sequence.First);
            r.Upper.Should().Be(Sequence.First);
        }
示例#2
0
        public void Can_determine_if_sequence_is_in_range()
        {
            var r = SequenceRange.From(Sequence.First, Sequence.First.Add(2));

            r.Includes(Sequence.First).Should().BeTrue();
            r.Includes(Sequence.First.Add(1)).Should().BeTrue();
            r.Includes(Sequence.First.Add(2)).Should().BeTrue();
            r.Includes(Sequence.First.Add(3)).Should().BeFalse();
        }
示例#3
0
        public void Range_can_represent_a_sequence_of_many_items()
        {
            var lower = Sequence.First;
            var upper = lower.Add(10);

            var r = SequenceRange.From(lower, upper);

            r.Lower.Should().Be(lower);
            r.Upper.Should().Be(upper);
        }
示例#4
0
        public void Supports_value_equality()
        {
            const int lower       = 5;
            const int upper       = 10;
            var       r           = SequenceRange.From(Sequence.First.Add(lower), Sequence.First.Add(upper));
            var       same        = SequenceRange.From(Sequence.First.Add(lower), Sequence.First.Add(upper));
            var       toHighUpper = SequenceRange.From(Sequence.First, Sequence.First.Add(upper + 1));
            var       toHighLower = SequenceRange.From(Sequence.First.Add(lower + 1), Sequence.First.Add(upper));
            var       toLowLower  = SequenceRange.From(Sequence.First.Add(lower - 1), Sequence.First.Add(upper));
            var       toLowUpper  = SequenceRange.From(Sequence.First.Add(lower - 1), Sequence.First.Add(upper));

            bool Compare(SequenceRange s) => r == s;

            Compare(same).Should().BeTrue();
            Compare(toHighLower).Should().BeFalse();
            Compare(toHighUpper).Should().BeFalse();
            Compare(toLowLower).Should().BeFalse();
            Compare(toLowUpper).Should().BeFalse();
        }
示例#5
0
        public void Requires_logic_order_of_range()
        {
            Action failing = () => SequenceRange.From(Sequence.Max, Sequence.First);

            failing.Should().ThrowExactly <ArgumentException>().WithMessage("Range must be from low to high.");
        }