public void SystemsReactivatesSystemsRecursively()
        {
            var system = CreateReactiveSystem(_ctx);

            _systems.Add(system);

            var parentSystems = new Systems();

            parentSystems.Add(_systems);

            parentSystems.Initialize();

            Assert.AreEqual(1, system.DidInitialize);

            parentSystems.Deactivate();
            parentSystems.Activate();
            parentSystems.Update();

            Assert.AreEqual(0, system.DidExecute);

            _ctx.CreateEntity().AddComponentA();
            _systems.Execute();

            Assert.AreEqual(1, system.DidExecute);
        }
        public void SystemsActivatesReactiveSystems()
        {
            var system = CreateReactiveSystem(_ctx);

            _systems.Add(system);

            _systems.Initialize();

            Assert.AreEqual(1, system.DidInitialize);

            _systems.Deactivate();
            _systems.Activate();
            _systems.Execute();

            Assert.AreEqual(0, system.DidExecute);

            _ctx.CreateEntity().AddComponentA();
            _systems.Execute();

            Assert.AreEqual(1, system.DidExecute);
        }