예제 #1
0
        public void PopulateFacade(TestTreeNodeFacade rfacade)
        {
            try
            {
                if (rfacade == null)
                {
                    throw new ArgumentNullException("rfacade");
                }
                if (this.facade != null)
                {
                    this.facade.Changed -= new ResultEventHandler(rfacade.Changed);
                }

                this.facade          = new RemotedTestTreeNodeFacade();
                this.facade.Changed += new ResultEventHandler(rfacade.Changed);
                foreach (Fixture fixture in this.Explorer.FixtureGraph.Fixtures)
                {
                    foreach (RunPipeStarter starter in fixture.Starters)
                    {
                        starter.Listeners.Add(this.facade);
                        rfacade.AddPipe(starter.Pipe.Identifier);
                    }
                }
            }
            catch (Exception ex)
            {
                ReportException          rex  = ReportException.FromException(ex);
                ReportExceptionException rexe = new ReportExceptionException(
                    "Error while populating facade of " + this.TestAssembly.FullName,
                    rex);
                throw rexe;
            }
        }
예제 #2
0
 public void PopulateFacade(TestTreeNodeFacade facade)
 {
     if (facade == null)
     {
         throw new ArgumentNullException("facade");
     }
     foreach (TreeTestDomain td in this.list)
     {
         td.TestTree.PopulateFacade(facade);
     }
 }
예제 #3
0
 public void PopulateChildTree(TreeView tree, TestTreeNodeFacade facade)
 {
     foreach (TreeTestDomain td in this.list)
     {
         UnitTreeNode node = this.factory.CreateUnitTreeNode(
             td.TestTree.ParentNode.Name,
             TestNodeType.Populator,
             td.Identifier,
             td.TestTree.ParentNode.Identifier
             );
         tree.Invoke(new AddNodeDelegate(tree.Nodes.Add), new Object[] { node });
         td.PopulateChildTree(node, facade);
     }
 }
예제 #4
0
        protected void CreateTree(UnitTreeNode node, TestTreeNodeFacade facade, TestTreeNode testNode)
        {
            if (testNode.IsTest)
            {
                facade.AddNode(testNode.PipeIdentifier, node);
            }

            foreach (TestTreeNode childNode in testNode.Nodes)
            {
                UnitTreeNode cnode = this.factory.CreateUnitTreeNode(
                    childNode.Name,
                    childNode.NodeType,
                    this.Identifier,
                    childNode.Identifier
                    );
                this.factory.AddChildUnitTreeNode(node, cnode);
                this.CreateTree(cnode, facade, childNode);
            }
        }
예제 #5
0
        protected void CreateTree(UnitTreeNode node, TestTreeNodeFacade facade, TestTreeNode testNode)
        {
            if (testNode.IsTest)
            {
                facade.AddNode(testNode.PipeIdentifier, node);
            }

            foreach (TestTreeNode childNode in testNode.Nodes)
            {
                UnitTreeNode cnode = this.factory.CreateUnitTreeNode(
                    childNode.Name,
                    childNode.NodeType,
                    this.Identifier,
                    childNode.Identifier
                    );
                this.factory.AddChildUnitTreeNode(node, cnode);
                this.CreateTree(cnode, facade, childNode);
            }
        }
예제 #6
0
 public void PopulateChildTree(UnitTreeNode root, TestTreeNodeFacade facade)
 {
     CreateTree(root, facade, this.TestTree.ParentNode);
 }
 public void PopulateFacade(TestTreeNodeFacade facade)
 {
     if (facade==null)
         throw new ArgumentNullException("facade");
     foreach(TreeTestDomain td in this.list)
     {
         td.TestTree.PopulateFacade(facade);
     }
 }
 public void PopulateChildTree(TreeView tree,TestTreeNodeFacade facade)
 {
     foreach(TreeTestDomain td in this.list)
     {
         UnitTreeNode node = this.factory.CreateUnitTreeNode(
             td.TestTree.ParentNode.Name,
             TestNodeType.Populator,
             td.Identifier,
             td.TestTree.ParentNode.Identifier
             );
         tree.Invoke(new AddNodeDelegate(tree.Nodes.Add),new Object[]{node});
         td.PopulateChildTree(node,facade);
     }
 }
        public ReflectorTreeView()
        {
            this.testDomains=new TreeTestDomainCollection(this);
            // This call is required by the Windows.Forms Form Designer.
            InitializeComponent();

            Application.AddMessageFilter(this);
            DragAcceptFiles(this.Handle, true);

            this.state = new UnitTreeViewState(this.typeTree,
                new UnitTreeViewState.UpdateTreeNodeDelegate(this.UpdateNode)
                );

            this.treeNodeFacade= new TestTreeNodeFacade();
            this.reflectionImageList = new ReflectionImageList(this.treeImageList);

            this.createNode = new UnitTreeNodeCreatorDelegate(this.CreateNode);
            this.addChildNode = new AddChildNodeDelegate(this.AddChildNode);

            this.testDomains.Watcher.AssemblyChangedEvent+=new MbUnit.Core.Remoting.AssemblyWatcher.AssemblyChangedHandler(Watcher_AssemblyChangedEvent);

            this.SetStyle(ControlStyles.DoubleBuffer,true);
            this.SetStyle(ControlStyles.ResizeRedraw,true);
        }
예제 #10
0
        public void PopulateFacade(TestTreeNodeFacade rfacade)
        {
            try
            {
                if (rfacade==null)
                    throw new ArgumentNullException("rfacade");
                if (this.facade != null)
                {
                    this.facade.Changed -= new ResultEventHandler(rfacade.Changed);
                }

                this.facade=new RemotedTestTreeNodeFacade();
                this.facade.Changed += new ResultEventHandler(rfacade.Changed);
                foreach (Fixture fixture in this.Explorer.FixtureGraph.Fixtures)
                {
                    foreach (RunPipeStarter starter in fixture.Starters)
                    {
                        starter.Listeners.Add(this.facade);
                        rfacade.AddPipe(starter.Pipe.Identifier);
                    }
                }
            }
            catch (Exception ex)
            {
                ReportException rex = ReportException.FromException(ex);
                ReportExceptionException rexe = new ReportExceptionException(
                    "Error while populating facade of " + this.TestAssembly.FullName,
                    rex);
                throw rexe;
            }
        }
예제 #11
0
 public void PopulateChildTree(UnitTreeNode root, TestTreeNodeFacade facade)
 {
     CreateTree(root, facade, this.TestTree.ParentNode);
 }