Example #1
0
        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));
        }
Example #2
0
        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);
        }