Example #1
0
        public void testLaunchSequence()
        {
            var lo = new LocalOperations("m1", lf, appInitializedDetectorFactory );

            lo.SelectPlan( PlanRepo.plans["p1"] );

            // start the plan
            lo.StartPlan();

            var t = 0.0;

            Assert.AreEqual( 0, lf.appsLaunched.Count, "nothing started without tick" );

            lo.tick( t );

            Assert.AreEqual( "m1.b", getOrder(lf.appsLaunched), "'b' started as first app" );

            t += 1.0;
            lo.tick( t );

            Assert.AreEqual( "m1.b", getOrder(lf.appsLaunched), "'a' waiting, not yet starting (separ. interval of b is 2.0)" );

            t += 1.0;
            lo.tick( t );

            Assert.AreEqual( "m1.b,m1.a", getOrder(lf.appsLaunched), "'a' started" );

            t += 1.0;
            lo.tick( t );

            Assert.AreEqual( "m1.b,m1.a,m1.c", getOrder(lf.appsLaunched), "'c' started" );

            t += 1.0;
            lo.tick( t );

            Assert.AreEqual( "m1.b,m1.a,m1.c,m1.d", getOrder(lf.appsLaunched), "'d' started as last app" );

            Assert.AreEqual( "m1.a,m1.b,m1.c,m1.d", getAppsWithMatchingState(lo, st => st.Running ), "all aps running" );
        }
Example #2
0
        public void testRunApp()
        {
            var lo = new LocalOperations("m1", lf, appInitializedDetectorFactory );

            lo.SelectPlan( PlanRepo.plans["p1"] );

            AppState st;

            st = lo.GetAppState( ads["a"].AppIdTuple );
            Assert.AreEqual( st.Started, false, "not yet launched" );
            Assert.AreEqual( st.Running, false, "not yet running" );
            Assert.AreEqual( st.Killed, false, "not yet killed");
            Assert.AreEqual(st.Initialized, false, "not yet initialized");

            lo.LaunchApp( ads["a"].AppIdTuple );
            lo.tick( 10.0 );

            st = lo.GetAppState( ads["a"].AppIdTuple );
            Assert.AreEqual( st.Started, true, "launched" );
            Assert.AreEqual( st.Running, true, "running" );
            Assert.AreEqual(st.Killed, false, "not yet killed");
            Assert.AreEqual(st.Initialized, true, "initialized");

            lo.KillApp( ads["a"].AppIdTuple );
            lo.tick( 10.0 );

            st = lo.GetAppState( ads["a"].AppIdTuple );
            Assert.AreEqual( st.Started, true, "started after kill" );
            Assert.AreEqual(st.Killed, true, "killed after kill");
            Assert.AreEqual(st.Running, false, "not running after kill");
            Assert.AreEqual( st.Initialized, false, "not initialized after kill" );
        }
Example #3
0
        public void testStopPlan()
        {
            var lo = new LocalOperations("m1", lf, appInitializedDetectorFactory );

            var plan =  PlanRepo.plans["p1"];
            lo.SelectPlan( plan );
            lo.StartPlan();
            for(int i=0; i < 10; i++ ) lo.tick(i); // give enought ticks to start all
            Assert.AreEqual( "m1.a,m1.b,m1.c,m1.d", getAppsWithMatchingState(lo, st => st.Running ), "all aps running after Start()" );

            lo.KillPlan();
            lo.tick(20.0);
            Assert.AreEqual( "", getAppsWithMatchingState(lo, st => st.Running ), "no app running after Stop()" );
        }