public void NetworkMutatorShouldThrowOnDoubleApply()
        {
            DummyMutator mutator = new DummyMutator();

            mutator.Apply();
            mutator.Apply();
        }
        public void NetworkMutatorOkCaseTest()
        {
            DummyMutator mutator = new DummyMutator();

            Assert.AreEqual(0, mutator.appliesCounter);
            Assert.AreEqual(0, mutator.revertsCounter);

            mutator.Apply();
            Assert.AreEqual(1, mutator.appliesCounter);
            Assert.AreEqual(0, mutator.revertsCounter);

            mutator.Revert();
            Assert.AreEqual(1, mutator.appliesCounter);
            Assert.AreEqual(1, mutator.revertsCounter);
        }
 ///     
 /// there should be no changes after applying remove and revering it       
 /// </summary>
 [TestMethod]
 /// on graph like:
 /// 
 /// parent1 ---> _nodeToBeRemoved -> output
 ///              /|