예제 #1
0
        public void Resolve_DecimalValueWithCommaAsSeparator_ShouldFail()
        {
            // Setup test
            var stream   = new CharStream("1,2".ToCharArray());
            var resolver = new NumberResolver();
            var tokens   = new HashSet <Token>();

            // Perform test
            var result = resolver.TryResolve(stream, tokens);

            // Validate result
            Assert.False(result);
        }
예제 #2
0
        public void Resolve_IntegerFollowedByLetter_ShouldFail()
        {
            // Setup test
            var stream   = new CharStream("12a".ToCharArray());
            var resolver = new NumberResolver();
            var tokens   = new HashSet <Token>();

            // Perform test
            var result = resolver.TryResolve(stream, tokens);

            // Validate result
            Assert.False(result);
            Assert.Equal(0, stream.CurrentIndex);
        }
예제 #3
0
        public void Resolve_DecimalValue_ShouldMoveStreamToEof()
        {
            // Setup test
            var stream   = new CharStream("1.2".ToCharArray());
            var resolver = new NumberResolver();
            var tokens   = new HashSet <Token>();

            // Perform test
            var result = resolver.TryResolve(stream, tokens);

            // Validate result
            Assert.True(result);
            var token = tokens.First();

            Assert.Equal(TokenTypes.Decimal, token.Type);
            Assert.Equal(new decimal(1.2), token.Value);
            Assert.Equal(CharStream.EofChar, stream.Current);
        }
예제 #4
0
        public void Resolve_IntegerFollowedBySpace_ShouldMoveStreamToSpace()
        {
            // Setup test
            var stream   = new CharStream("12 a".ToCharArray());
            var resolver = new NumberResolver(' ');
            var tokens   = new HashSet <Token>();

            // Perform test
            var result = resolver.TryResolve(stream, tokens);

            // Validate result
            Assert.True(result);
            var token = tokens.First();

            Assert.Equal(TokenTypes.Integer, token.Type);
            Assert.Equal(12, token.Value);
            Assert.Equal(' ', stream.Current);
        }