public void Test_3_5_6_Numbers_I() { // Scaled decimals Scanner lexer = this.GetLexer("123s"); object obj = lexer.GetToken(); Assert.IsInstanceOfType(obj, typeof(ScaledDecimalToken)); ScaledDecimalToken token = (ScaledDecimalToken)obj; Assert.IsTrue(token.IsValid); Assert.IsNull(token.ScanError); Assert.AreEqual(0, token.StartPosition.Position); Assert.AreEqual(3, token.StopPosition.Position); Assert.AreEqual(token.Value.Scale, 0); Assert.AreEqual(token.Value, new BigDecimal(123)); lexer = this.GetLexer("123.45s"); obj = lexer.GetToken(); Assert.IsInstanceOfType(obj, typeof(ScaledDecimalToken)); token = (ScaledDecimalToken)obj; Assert.IsTrue(token.IsValid); Assert.IsNull(token.ScanError); Assert.AreEqual(0, token.StartPosition.Position); Assert.AreEqual(6, token.StopPosition.Position); Assert.AreEqual(token.Value.Scale, 2); Assert.AreEqual(token.Value, new BigDecimal(12345, 2)); lexer = this.GetLexer("123s4"); obj = lexer.GetToken(); Assert.IsInstanceOfType(obj, typeof(ScaledDecimalToken)); token = (ScaledDecimalToken)obj; Assert.IsTrue(token.IsValid); Assert.IsNull(token.ScanError); Assert.AreEqual(0, token.StartPosition.Position); Assert.AreEqual(4, token.StopPosition.Position); Assert.AreEqual(token.Value.Scale, 4); Assert.AreEqual(token.Value, new BigDecimal(123)); lexer = this.GetLexer("123.45s4"); obj = lexer.GetToken(); Assert.IsInstanceOfType(obj, typeof(ScaledDecimalToken)); token = (ScaledDecimalToken)obj; Assert.IsTrue(token.IsValid); Assert.IsNull(token.ScanError); Assert.AreEqual(0, token.StartPosition.Position); Assert.AreEqual(7, token.StopPosition.Position); Assert.AreEqual(token.Value.Scale, 4); Assert.AreEqual(token.Value, new BigDecimal(12345, 2)); }
public void Test_3_5_6_Numbers_J() { // Scaled decimals Scanner lexer = this.GetLexer("123sabc"); object obj = lexer.GetToken(); Assert.IsInstanceOfType(obj, typeof(ScaledDecimalToken)); ScaledDecimalToken token = (ScaledDecimalToken)obj; Assert.IsTrue(token.IsValid); Assert.IsNull(token.ScanError); Assert.AreEqual(0, token.StartPosition.Position); Assert.AreEqual(3, token.StopPosition.Position); Assert.AreEqual(token.Value, new BigDecimal(123)); obj = lexer.GetToken(); Assert.IsInstanceOfType(obj, typeof(IdentifierToken)); Assert.AreEqual("abc", ((IdentifierToken)obj).Value); }