public void TheGameObjectWillBeMarkedNotToBeDestroyedOnLevelLoad()
        {
            TestHierarchy h = new TestHierarchy();

            Assert.That(Application.dontDestroyOnLoad, !Contains.Item(h.childOfChild));
            UnityObject.DontDestroyOnLoad(h.childOfChild);

            Assert.That(Application.dontDestroyOnLoad, Contains.Item(h.childOfChild));
        }
        public void OnAComponentItsGameObjectWillBeMarkedNotToBeDestroyedOnLevelLoad()
        {
            TestHierarchy h  = new TestHierarchy();
            TestComponent tc = new TestComponent();

            h.childOfChild.AddComponent(tc);

            Assert.That(Application.dontDestroyOnLoad, !Contains.Item(h.childOfChild));
            UnityObject.DontDestroyOnLoad(tc);

            Assert.That(Application.dontDestroyOnLoad, Contains.Item(h.childOfChild));
        }