Example #1
0
        public void TokenizeReturnsAllProducedTokens()
        {
            var tokenizer = new NumberListTokenizer();
            var result    = tokenizer.Tokenize("1 23 456");

            Assert.Equal(3, result.Count());
        }
Example #2
0
        public void TryTokenizeSucceedsIfTokenizationSucceeds()
        {
            var tokenizer = new NumberListTokenizer();
            var result    = tokenizer.TryTokenize("1 23 456");

            Assert.True(result.HasValue);
        }
Example #3
0
        public void TryTokenizeReportsCustomErrors()
        {
            var tokenizer = new NumberListTokenizer(useCustomErrors: true);
            var result    = tokenizer.TryTokenize("1 a");

            Assert.False(result.HasValue);
            Assert.Equal(result.FormatErrorMessageFragment(), "list must contain only numbers");
        }
Example #4
0
        public void TryTokenizeReportsFailures()
        {
            var tokenizer = new NumberListTokenizer();
            var result    = tokenizer.TryTokenize("1 a");

            Assert.False(result.HasValue);
            Assert.Equal(result.FormatErrorMessageFragment(), "unexpected `a`, expected digit");
        }
Example #5
0
        public void TokenizeThrowsOnFailure()
        {
            var tokenizer = new NumberListTokenizer();

            Assert.Throws <ParseException>(() => tokenizer.Tokenize("1 a"));
        }