示例#1
0
        public void Parse_InvalidType_ThrowException()
        {
            // arrange
            var args = new[] { "INVALID" };

            // action
            var _ = RangeArgParser.Parse(args.Cast <object>().ToArray());
        }
示例#2
0
        public void Parse_ThreeIntegerStepIsFill_ThrowException()
        {
            // arrange
            var args = new[] { 5, 9, SpecialIdx.Fill };

            // action
            var _ = RangeArgParser.Parse(args.Cast <object>().ToArray());
        }
示例#3
0
        public void Parse_ThreeIntegerStopIsNewAxis_ThrowException()
        {
            // arrange
            var args = new[] { 5, SpecialIdx.NewAxis, 2 };

            // action
            var _ = RangeArgParser.Parse(args.Cast <object>().ToArray());
        }
示例#4
0
        public void Parse_RangeArgs_ReturnSameRanges()
        {
            // arrange
            var args = new IRange[] { RangeFactory.Elem(9) };

            // action
            var ranges = RangeArgParser.Parse(args);

            // assert
            Assert.AreSame(args[0], ranges[0]);
        }
示例#5
0
        public void Parse_EmptyArgs_ReturnEmptyRanges()
        {
            // arrange
            var args = new int[] { };

            // action
            var ranges = RangeArgParser.Parse(args.Cast <object>().ToArray());

            // assert
            Assert.AreEqual(0, ranges.Length);
        }
示例#6
0
        public void Parse_SignelIntegerWithFill_ReturnOneElem()
        {
            // arrange
            var args = new[] { SpecialIdx.Fill };

            // action
            var ranges = RangeArgParser.Parse(args.Cast <object>().ToArray());

            // assert
            Assert.AreEqual(1, ranges.Length);
            Assert.IsInstanceOfType(ranges[0], typeof(AllFill));
        }
示例#7
0
        public void Parse_SignelInteger_ReturnOneElem()
        {
            // arrange
            var args = new[] { 5 };

            // action
            var ranges = RangeArgParser.Parse(args.Cast <object>().ToArray());

            // assert
            Assert.AreEqual(1, ranges.Length);
            Assert.IsInstanceOfType(ranges[0], typeof(Elem));
            Assert.AreEqual(5, (ranges[0] as Elem).Pos);
        }
示例#8
0
        public void Parse_SignelIntegerWithFillAndRanges_ReturnOneElem()
        {
            // arrange
            var args = new[] { SpecialIdx.Fill }.Cast <object>().Concat(new IRange[] { RangeFactory.Elem(8) }).ToArray();

            // action
            var ranges = RangeArgParser.Parse(args);

            // assert
            Assert.AreEqual(2, ranges.Length);
            Assert.IsInstanceOfType(ranges[0], typeof(AllFill));
            Assert.IsInstanceOfType(ranges[1], typeof(Elem));
        }
示例#9
0
        public void Parse_ThreeInteger_ReturnOneElem()
        {
            // arrange
            var args = new[] { 5, 9, 2 };

            // action
            var ranges = RangeArgParser.Parse(args.Cast <object>().ToArray());

            // assert
            Assert.AreEqual(1, ranges.Length);
            Assert.IsInstanceOfType(ranges[0], typeof(Range));

            var range = ranges[0] as Range;

            Assert.AreEqual(5, range.Start);
            Assert.AreEqual(9, range.Stop);
            Assert.AreEqual(2, range.Step);
        }