Пример #1
0
        public void floating()
        {
            var tokenizer = new StringTokenizer("37.12e3 + 4.E2");

            tokenizer.GetNextToken().Should().Be(TokenType.Double);
            tokenizer.MatchInteger(out _).Should().BeFalse();
            tokenizer.MatchDouble(out var d).Should().BeTrue();
            d.Should().BeApproximately(37.12e3, double.Epsilon);
            tokenizer.CurrentToken.Should().Be(TokenType.Plus);
            tokenizer.GetNextToken().Should().Be(TokenType.Double);
            tokenizer.MatchDouble(out d).Should().BeTrue();
            d.Should().BeApproximately(4E2, double.Epsilon);
        }
Пример #2
0
        public void list_of_numbers(string toParse)
        {
            var           t      = new StringTokenizer(toParse);
            List <double> values = new List <double>();

            t.GetNextToken();
            while (t.CurrentToken != TokenType.EndOfInput)
            {
                Assert.That(t.CurrentToken == TokenType.Number);
                double v;
                Assert.That(t.MatchDouble(out v));
                values.Add(v);
            }
            CollectionAssert.AreEqual(toParse.Split(' ').Select(s => Double.Parse(s)).ToList(), values);
        }