Example #1
0
        /*
         * a
         * |\
         * | b
         * |/
         * c
         */
        /// <summary>
        /// Zwraca ma³y przep³yw procesów pokazuj¹cy kompozyt niebêd¹cy
        /// drzewem (ani przy okazji cyklem). W tym przep³ywie A zawiera C i B,
        /// a B zawiera C.
        /// </summary>
        /// <returns></returns>
        public static ProcessComponent Abc()
        {
            ProcessSequence a = new ProcessSequence("a");
            ProcessSequence b = new ProcessSequence("b");
            ProcessStep     c = new ProcessStep("c");

            a.Add(c);
            a.Add(b);
            b.Add(c);
            return(a);
        }
Example #2
0
        /// <summary>
        /// Test procesu powtarzanego raz: "umyæ, sp³ukaæ, powtórzyæ".
        /// </summary>
        public void TestShampoo()
        {
            ProcessStep     shampoo = new ProcessStep("umyæ");
            ProcessStep     rinse   = new ProcessStep("sp³ukaæ");
            ProcessSequence once    = new ProcessSequence("powtórzyæ");

            once.Add(shampoo);
            once.Add(rinse);
            ProcessSequence instructions =
                new ProcessSequence("instrukcje");

            instructions.Add(once);
            instructions.Add(once);
            Assertion.AssertEquals(2, instructions.GetStepCount());
        }
Example #3
0
        /*
         *   abc
         *  /   \
         * a     bc
         *      /  \
         *     b    c
         */
        /// <summary>
        /// Test zwyk³ego drzewka.
        /// </summary>
        public void TestTree()
        {
            ProcessStep     a  = new ProcessStep("a");
            ProcessStep     b  = new ProcessStep("b");
            ProcessStep     c  = new ProcessStep("c");
            ProcessSequence bc = new ProcessSequence("bc");

            bc.Add(b);
            bc.Add(c);
            ProcessSequence abc = new ProcessSequence("abc");

            abc.Add(a);
            abc.Add(bc);
            Assertion.AssertEquals(3, abc.GetStepCount());
        }
Example #4
0
        public void TestShampoo()
        {
            ProcessStep     shampoo = new ProcessStep("shampoo");
            ProcessStep     rinse   = new ProcessStep("rinse");
            ProcessSequence once    = new ProcessSequence("once");

            once.Add(shampoo);
            once.Add(rinse);
            ProcessSequence instructions =
                new ProcessSequence("instructions");

            instructions.Add(once);
            instructions.Add(once);
            Assert.AreEqual(2, instructions.GetStepCount());
        }
Example #5
0
        /// <summary>
        /// Zwraca ma³y przep³yw procesów pokazuj¹cy kompozyt niebêd¹cy
        /// drzewem. W tym przep³ywie A zawiera B, B zawiera C, a C zawiera A.
        /// </summary>
        /// <returns>ma³y przep³yw procesów pokazuj¹cy kompozyt niebêd¹cy drzewem</returns>
        public static ProcessComponent Cycle()
        {
            ProcessSequence a = new ProcessSequence("a");
            ProcessSequence b = new ProcessSequence("b");
            ProcessSequence c = new ProcessSequence("c");

            a.Add(b);
            b.Add(c);
            c.Add(a);
            return(a);
        }