public void ParseError(IErrorCase @case)
        {
            var pos = @case.Start;

            Assert.Throws <FormatException>(() => SymbolAndPowerReader.Read(@case.Text, ref pos));
            Assert.AreEqual(@case.ExpectedEnd, pos);
        }
        public void TryParseError(IErrorCase @case)
        {
            var pos = @case.Start;

            Assert.AreEqual(false, SymbolAndPowerReader.TryRead(@case.Text, ref pos, out SymbolAndPower sap));
            Assert.AreEqual(default(SymbolAndPower), sap);
            Assert.AreEqual(@case.ExpectedEnd, pos);
        }
        public void TryTokenizeError(IErrorCase @case)
        {
            var pos     = @case.Start;
            var success = SymbolAndPowerReader.TryRead(@case.Text, ref pos, out IReadOnlyList <SymbolAndPower> actual);

            Assert.AreEqual(false, success);
            Assert.AreEqual(@case.Start, pos);
            CollectionAssert.AreEqual(null, actual);
        }