public void NumberScannerInteger()
        {
            var source  = "12345678";
            var scanner = new StringScanner(source);

            Assert.IsTrue(scanner.MoveNext());
            var tokenizer = new NumberTokenizer();
            var result    = tokenizer.Next(scanner);

            Assert.IsInstanceOf <NumberToken>(result);
            Assert.AreEqual(12345678.0, ((NumberToken)result).Value);
        }
        public void NumberScannerScientificDotShouldStop()
        {
            var source  = "1e1.2";
            var scanner = new StringScanner(source);

            Assert.IsTrue(scanner.MoveNext());
            var tokenizer = new NumberTokenizer();
            var result    = tokenizer.Next(scanner);

            Assert.IsInstanceOf <NumberToken>(result);
            Assert.AreEqual(10.0, ((NumberToken)result).Value);
        }
        public void NumberScannerScientificMinus()
        {
            var source  = "1e-1";
            var scanner = new StringScanner(source);

            Assert.IsTrue(scanner.MoveNext());
            var tokenizer = new NumberTokenizer();
            var result    = tokenizer.Next(scanner);

            Assert.IsInstanceOf <NumberToken>(result);
            Assert.AreEqual(0.1, ((NumberToken)result).Value);
        }
        public void NumberScannerBinary()
        {
            var source  = "0b01100011";
            var scanner = new StringScanner(source);

            Assert.IsTrue(scanner.MoveNext());
            var tokenizer = new NumberTokenizer();
            var result    = tokenizer.Next(scanner);

            Assert.IsInstanceOf <NumberToken>(result);
            Assert.AreEqual(99, ((NumberToken)result).Value);
        }
        public void NumberScannerZeroFloat()
        {
            var source  = "0.012340";
            var scanner = new StringScanner(source);

            Assert.IsTrue(scanner.MoveNext());
            var tokenizer = new NumberTokenizer();
            var result    = tokenizer.Next(scanner);

            Assert.IsInstanceOf <NumberToken>(result);
            Assert.AreEqual(0.012340, ((NumberToken)result).Value);
        }
Exemple #6
0
        public void NumberScannerLargeValue()
        {
            var source  = "9223372036854775807";
            var scanner = new StringScanner(source);

            Assert.IsTrue(scanner.MoveNext());
            var tokenizer = new NumberTokenizer();
            var result    = tokenizer.Next(scanner);

            Assert.IsInstanceOf <NumberToken>(result);
            Assert.AreEqual(9223372036854776000.0, ((NumberToken)result).Value);
        }