コード例 #1
0
    void when_systems()
    {
        context["fixtures"] = () => {
            it["starts StartSystemSpy"] = () => {
                var startSystem = new StartSystemSpy();
                startSystem.started.should_be_false();
                startSystem.Start();
                startSystem.started.should_be_true();
            };

            it["executes ExecuteSystemSpy"] = () => {
                var startSystem = new ExecuteSystemSpy();
                startSystem.executed.should_be_false();
                startSystem.Execute();
                startSystem.executed.should_be_true();
            };

            it["starts and executes StartExecuteSystemSpy"] = () => {
                var startSystem = new StartExecuteSystemSpy();
                startSystem.started.should_be_false();
                startSystem.executed.should_be_false();
                startSystem.Start();
                startSystem.Execute();
                startSystem.started.should_be_true();
                startSystem.executed.should_be_true();
            };

            it["executes ReactiveSystemSpy"] = () => {
                var system = createReactiveSystem();
                var spy    = (ReactiveSubSystemSpy)system.subsystem;
                spy.didExecute.should_be(0);
                spy.started.should_be_false();
                system.Execute();
                spy.didExecute.should_be(1);
                spy.started.should_be_false();
            };
        };

        context["systems"] = () => {
            Systems systems = null;
            before = () => {
                systems = new Systems();
            };

            it["returns systems when adding system"] = () => {
                systems.Add(new StartSystemSpy()).should_be_same(systems);
            };

            it["starts IStartSystem"] = () => {
                var system = new StartSystemSpy();
                systems.Add(system);
                systems.Start();
                system.started.should_be_true();
            };

            it["executes IExecuteSystem"] = () => {
                var system = new ExecuteSystemSpy();
                systems.Add(system);
                systems.Execute();
                system.executed.should_be_true();
            };

            it["starts and executes IStartSystem, IExecuteSystem"] = () => {
                var system = new StartExecuteSystemSpy();
                systems.Add(system);
                systems.Start();
                systems.Execute();
                system.started.should_be_true();
                system.executed.should_be_true();
            };

            it["starts and executes ReactiveSystem"] = () => {
                var system = createReactiveSystem();

                systems.Add(system);
                systems.Start();
                systems.Execute();
                systems.Execute();

                var spy = (ReactiveSubSystemSpy)system.subsystem;
                spy.didExecute.should_be(1);
                spy.started.should_be_true();
            };
        };
    }
コード例 #2
0
    void when_systems()
    {
        context["fixtures"] = () => {
            it["starts StartSystemSpy"] = () => {
                var startSystem = new StartSystemSpy();
                startSystem.started.should_be_false();
                startSystem.Start();
                startSystem.started.should_be_true();
            };

            it["executes ExecuteSystemSpy"] = () => {
                var startSystem = new ExecuteSystemSpy();
                startSystem.executed.should_be_false();
                startSystem.Execute();
                startSystem.executed.should_be_true();
            };

            it["starts and executes StartExecuteSystemSpy"] = () => {
                var startSystem = new StartExecuteSystemSpy();
                startSystem.started.should_be_false();
                startSystem.executed.should_be_false();
                startSystem.Start();
                startSystem.Execute();
                startSystem.started.should_be_true();
                startSystem.executed.should_be_true();
            };

            it["executes ReactiveSystemSpy"] = () => {
                var system = createReactiveSystem();
                var spy = (ReactiveSubSystemSpy)system.subsystem;
                spy.didExecute.should_be(0);
                spy.started.should_be_false();
                system.Execute();
                spy.didExecute.should_be(1);
                spy.started.should_be_false();
            };
        };

        context["systems"] = () => {
            Systems systems = null;
            before = () => {
                systems = new Systems();
            };

            it["returns systems when adding system"] = () => {
                systems.Add(new StartSystemSpy()).should_be_same(systems);
            };

            it["starts IStartSystem"] = () => {
                var system = new StartSystemSpy();
                systems.Add(system);
                systems.Start();
                system.started.should_be_true();
            };

            it["executes IExecuteSystem"] = () => {
                var system = new ExecuteSystemSpy();
                systems.Add(system);
                systems.Execute();
                system.executed.should_be_true();
            };

            it["starts and executes IStartSystem, IExecuteSystem"] = () => {
                var system = new StartExecuteSystemSpy();
                systems.Add(system);
                systems.Start();
                systems.Execute();
                system.started.should_be_true();
                system.executed.should_be_true();
            };

            it["starts and executes ReactiveSystem"] = () => {
                var system = createReactiveSystem();

                systems.Add(system);
                systems.Start();
                systems.Execute();
                systems.Execute();

                var spy = (ReactiveSubSystemSpy)system.subsystem;
                spy.didExecute.should_be(1);
                spy.started.should_be_true();
            };
        };
    }