public void LicenseExpressionTokenizer_TokenizesComplexExpressions(string[] values)
        {
            var expression = values[0];
            var tokenizer  = new LicenseExpressionTokenizer(expression);
            var tokens     = tokenizer.Tokenize().ToArray();

            Assert.Equal(values.Length - 1, tokens.Length);
            for (var i = 0; i < tokens.Length; i++)
            {
                Assert.Equal(tokens[i].Value, values[i + 1]);
            }
        }
        public void LicenseExpressionTokenizer_TokenizesSimpleExpressionCorrectly(string value, string type)
        {
            Enum.TryParse(type, out LicenseTokenType tokenType);

            var tokenizer = new LicenseExpressionTokenizer(value);

            var tokens = tokenizer.Tokenize().ToArray();

            Assert.Equal(1, tokens.Length);
            var token = tokens[0];

            Assert.Equal(value, token.Value);
            Assert.Equal(tokenType, token.TokenType);
        }
 public void LicenseExpressionTokenizer_DoesNotThrowForNonEmptyStrings(string value)
 {
     var tokenizer = new LicenseExpressionTokenizer(value);
 }
        public void LicenseExpressionTokenizer_ReturnsFalseForExpressionsWithInvalidCharacters(string infix, bool match)
        {
            var tokenizer = new LicenseExpressionTokenizer(infix);

            Assert.Equal(match, tokenizer.HasValidCharacters());
        }