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); }
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); }
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); }
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); }