public void Scan_NotInRangeFollowedByLiteral_LiteralIsIgnored() { var token = RangeToken.Scan("[!a-c]de"); Assert.NotNull(token); Assert.Equal("[!a-c]", token.Value); }
ResolveRange(RangeToken r) { string key = _spreadSheet.ConvertAddress(_baseCell.Address, r.Value); if (_cells.ContainsKey(key)) { return(new VariableToken(_cells[key].Variable)); } object range = _spreadSheet.GetCellValue(_baseCell.Address, key); if (range.GetType().IsArray) { throw new ArgumentException(); } if (range.GetType() == typeof(bool)) { return(new BooleanToken((bool)range)); } else if (range.GetType() == typeof(string)) { return(new StringToken((string)range)); } else if (range.GetType() == typeof(double)) { return(new NumberToken((double)range)); } else { throw new ArgumentException(); } }
public void SetStateTokenizeRange() { var lexer = new Lexer(); var tokens = lexer.Tokenize("[a-"); var expected = new RangeToken(); Assert.AreEqual(tokens.Last(), expected); }
ResolveRange(RangeToken r) { if (_dependencies != null) { _dependencies.Add(r); return(new NullToken()); } return(_baseCell.Worksheet[r.Value]); }
public void Scan_RangeWithExclamationMark_RangeToken() { var token = RangeToken.Scan("[!a-c]"); Assert.NotNull(token); Assert.Equal(RangeType.NotInRange, token.Type); Assert.Equal('a', token.LowerBound); Assert.Equal('c', token.UpperBound); Assert.Equal("[!a-c]", token.Value); }
public void Scan_Range_RangeToken() { var token = RangeToken.Scan("[a-c]"); Assert.NotNull(token); Assert.Equal(RangeType.InRange, token.Type); Assert.Equal('a', token.LowerBound); Assert.Equal('c', token.UpperBound); Assert.Equal("[a-c]", token.Value); }
public void Scan_MissingOpeningBrace_Null() { Assert.Null(RangeToken.Scan("ab-c]")); }
public void Scan_IncompleteRange_Exception(string s) { Assert.Throws <OscLexerException>(() => RangeToken.Scan(s)); }
public RangeSyntax(RangeToken token) : base(token) { }