public unsafe void TestDeleteChildrenWithRunningGroup() { // test if children can be activated when their group is stopped var group = new QParallelAnimationGroup(); QVariantAnimation anim1 = new TestAnimation(); anim1.StartValue = new QVariant(0); anim1.EndValue = new QVariant(100); anim1.SetDuration(200); group.AddAnimation(anim1); Assert.AreEqual(anim1.Duration, group.Duration); group.Start(); Assert.AreEqual(QAbstractAnimation.State.Running, group.state); Assert.AreEqual(QAbstractAnimation.State.Running, anim1.state); System.Threading.Thread.Sleep(80); Assert.Greater(group.CurrentLoopTime, 0); group.RemoveAnimation(anim1); anim1 = null; Assert.AreEqual(0, group.AnimationCount); Assert.AreEqual(0, group.Duration); Assert.AreEqual(QAbstractAnimation.State.Stopped, group.state); Assert.AreEqual(0, group.CurrentLoopTime); }