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