public void TestInnerQuiet()
        {
            InnerQuiet     iq = new InnerQuiet();
            BasicTouch     bt = new BasicTouch();
            BasicSynthesis bs = new BasicSynthesis();

            State state = Utility.CreateDefaultState();

            state.MaxQuality = 1500;
            state.Quality    = 0;

            State afteriq = iq.Activate(state, true);

            Assert.IsTrue(afteriq.InnerQuietIsActive);
            Assert.AreEqual <uint>(0, afteriq.InnerQuietStacks);

            State afterbt = bt.Activate(afteriq, true);

            Assert.AreEqual <uint>(1, afterbt.InnerQuietStacks);
            Assert.IsTrue(Compute.Control(afterbt) > Compute.Control(afteriq));
            Assert.IsTrue(Compute.Quality(afterbt, 100) > Compute.Quality(afteriq, 100));

            State afterbs = bs.Activate(afterbt, true);

            Assert.AreEqual <uint>(1, afterbs.InnerQuietStacks);
            Assert.AreEqual <uint>(Compute.Control(afterbt), Compute.Control(afterbs));
            Assert.AreEqual <uint>(Compute.Quality(afterbt, 100), Compute.Quality(afterbs, 100));
        }