示例#1
0
        public void TryParseIntegerInterval_FailureResult_WhenInputStringIsNoValidInterval(string input)
        {
            var inputStream = GetStringStreamFor(input);
            var parser      = new PrimitiveParser(_alphabet);

            var result = parser.TryParseIntegerInterval(inputStream);

            Assert.IsFalse(result.IsSuccess);
            inputStream.Received(0).Pop();
        }
示例#2
0
        public void TryParseIntegerInterval_SuccessResult_WhenInputStringIsValidInterval(string input, int?expectedLower, int?expectedUpper, int expectedPopCalls)
        {
            var inputStream = GetStringStreamFor(input);
            var parser      = new PrimitiveParser(_alphabet);

            var result = parser.TryParseIntegerInterval(inputStream);

            Assert.IsTrue(result.IsSuccess);
            Assert.AreEqual(expectedLower, result.Value.Start);
            Assert.AreEqual(expectedUpper, result.Value.End);
            inputStream.Received(expectedPopCalls).Pop();
        }
示例#3
0
        public void TryParseIntegerInterval_ThrowsArgumentNullException_WhenStreamIsNll()
        {
            var parser = new PrimitiveParser(_alphabet);

            Assert.Throws <ArgumentNullException>(() => parser.TryParseIntegerInterval(null));
        }