Exemplo n.º 1
0
        public void AlgorithmProgram()
        {
            var program     = new AlgorithmProgram("MyApp");
            var firstClass  = new AlgorithmClassDeclaration("FirstClass");
            var secondClass = new AlgorithmClassDeclaration("SecondClass");

            program.Classes.Add(firstClass);
            program.Classes.Add(secondClass);

            Assert.ThrowsException <RankException>(() => { program.UpdateEntryPointPath(); });
            Assert.IsNull(program.EntryPointPath);
            Assert.AreEqual(program.GetEntryPointMethodCount(), 0);
            Assert.IsNull(program.GetEntryPointMethod());

            secondClass.Members.Add(new AlgorithmEntryPointMethod());

            program.UpdateEntryPointPath();

            Assert.AreEqual(program.EntryPointPath, "SecondClass");
            Assert.AreEqual(program.GetEntryPointMethodCount(), 1);
            Assert.IsNotNull(program.GetEntryPointMethod());

            secondClass.Members.Add(new AlgorithmEntryPointMethod());

            Assert.ThrowsException <RankException>(() => { program.UpdateEntryPointPath(); });
            Assert.AreEqual(program.EntryPointPath, "SecondClass");
            Assert.AreEqual(program.GetEntryPointMethodCount(), 2);
            Assert.IsNotNull(program.GetEntryPointMethod());
        }