public void TestReplaceToken()
        {
            LocalisationParser parser = new LocalisationParser("TestReplaceToken.txt");

            parser.ReplaceToken("doesn't work");
            Assert.AreEqual("A bee C", parser.Context);
            Assert.IsTrue(parser.NextToken());

            Assert.IsTrue(parser.NextToken());
            Assert.AreEqual("bee", parser.Token);
            Assert.AreEqual(2, parser.Offset);
            parser.ReplaceToken("B");
            Assert.AreEqual("B", parser.Token);
            Assert.AreEqual(2, parser.Offset);
            Assert.AreEqual("A B C", parser.Context);

            Assert.IsTrue(parser.NextToken());
            Assert.AreEqual("A B C", parser.Context);
            Assert.AreEqual(1, parser.Line);

            Assert.IsTrue(parser.NextToken());
            Assert.AreEqual("ok", parser.String);
            parser.ReplaceToken("nok");
            Assert.AreEqual("nok", parser.Token);
            Assert.AreEqual("nok // \"nok\"", parser.Context);
            Assert.AreEqual(2, parser.Line);

            Assert.IsTrue(parser.NextToken());
            Assert.AreEqual(@"'\5'", parser.Token);
            parser.ReplaceToken("'5'");
            Assert.AreEqual("'5'", parser.Token);
            Assert.AreEqual("'5' /* '5' */", parser.Context);
            Assert.AreEqual(3, parser.Line);

            Assert.IsTrue(parser.NextToken());
            Assert.AreEqual(4, parser.Line);
            Assert.AreEqual("@\"mul", parser.Context);
            parser.ReplaceToken("YIP");
            Assert.AreEqual(4, parser.Line);
            Assert.AreEqual("YIPPEE", parser.Context);

            Assert.IsTrue(parser.NextToken());
            Assert.AreEqual(4, parser.Line);
            Assert.AreEqual("PEE", parser.Token);

            Assert.IsTrue(parser.NextToken());
            Assert.AreEqual(5, parser.Line);
            Assert.AreEqual("@\"not\"multi", parser.Context);
            parser.ReplaceToken("DO\nIT\nGOOD");
            Assert.AreEqual(5, parser.Line);
            Assert.AreEqual("DO", parser.Context);

            Assert.IsTrue(parser.NextToken());
            Assert.AreEqual("multi", parser.Token);
            Assert.AreEqual(7, parser.Line);
            Assert.AreEqual("GOODmulti", parser.Context);

            Assert.IsTrue(parser.NextToken());
            Assert.AreEqual(8, parser.Line);
            Assert.AreEqual("@\"", parser.Context);
            parser.ReplaceToken("\n\n");
            Assert.AreEqual(8, parser.Line);
            Assert.AreEqual("", parser.Context);

            Assert.IsTrue(parser.NextToken());
            Assert.AreEqual("OK", parser.Token);
            Assert.AreEqual(13, parser.Line);

            Assert.IsFalse(parser.NextToken());
        }