public void Undo_text_replacement()
        {
            Viewer.Text = "";
            for (char letter = '1'; letter <= '3'; letter++)
            {
                ProcessChar(letter);
            }
            Viewer.SelectAll();
            for (char letter = 'a'; letter <= 'c'; letter++)
            {
                ProcessChar(letter);
            }
            Assert.AreEqual(Viewer.Text, @"abc");

            ProcessKey(Keys.Control | Keys.Z);
            Assert.AreEqual(Viewer.Text, "123");

            for (char letter = 'A'; letter <= 'C'; letter++)
            {
                ProcessChar(letter);
            }

            ProcessKey(Keys.Control | Keys.Z);
            Assert.AreEqual(Viewer.Text, "123");
        }