public NUnitProjectTestSuite(DotNetProject project) : base(project.Name, project)
 {
     storeId              = Path.GetFileName(project.FileName);
     resultsPath          = MonoDevelop.NUnit.RootTest.GetTestResultsDirectory(project.BaseDirectory);
     ResultsStore         = new BinaryResultsStore(resultsPath, storeId);
     this.project         = project;
     project.NameChanged += OnProjectRenamed;
     IdeApp.ProjectOperations.EndBuild += OnProjectBuilt;
 }
		public XUnitProjectTestSuite (DotNetProject project): base (project.Name, project)
		{
			this.project = project;
			storeId = Path.GetFileName (project.FileName);
			resultsPath = GetTestResultsDirectory (project.BaseDirectory);
			ResultsStore = new BinaryResultsStore (resultsPath, storeId);
			project.NameChanged += new SolutionItemRenamedEventHandler (OnProjectRenamed);
			IdeApp.ProjectOperations.EndBuild += new BuildEventHandler (OnProjectBuilt);
		}
		public NUnitProjectTestSuite (DotNetProject project): base (project.Name, project)
		{
			storeId = Path.GetFileName (project.FileName);
			resultsPath = MonoDevelop.NUnit.RootTest.GetTestResultsDirectory (project.BaseDirectory);
			ResultsStore = new BinaryResultsStore (resultsPath, storeId);
			this.project = project;
			project.NameChanged += OnProjectRenamed;
			IdeApp.ProjectOperations.EndBuild += OnProjectBuilt;
		}
		public SolutionFolderTestGroup (SolutionFolder c): base (c.Name, c)
		{
			string storeId = c.ItemId;
			string resultsPath = MonoDevelop.NUnit.RootTest.GetTestResultsDirectory (c.BaseDirectory);
			ResultsStore = new BinaryResultsStore (resultsPath, storeId);
			
			combine = c;
			combine.ItemAdded += OnEntryChanged;
			combine.ItemRemoved += OnEntryChanged;
			combine.NameChanged += OnCombineRenamed;
		}
		public WorkspaceTestGroup (Workspace ws): base (ws.Name, ws)
		{
			string storeId = ws.Name;
			string resultsPath = MonoDevelop.NUnit.RootTest.GetTestResultsDirectory (ws.BaseDirectory);
			ResultsStore = new BinaryResultsStore (resultsPath, storeId);
			
			workspace = ws;
			workspace.ItemAdded += OnEntryChanged;
			workspace.ItemRemoved += OnEntryChanged;
			workspace.NameChanged += OnCombineRenamed;
		}
        public RootTest(NUnitAssemblyGroupProject project) : base(project.Name, project)
        {
            this.project = project;
            resultsPath  = GetTestResultsDirectory(project.BaseDirectory);
            ResultsStore = new BinaryResultsStore(resultsPath, Path.GetFileName(project.FileName));

            lastConfig = (NUnitAssemblyGroupProjectConfiguration)project.DefaultConfiguration;
            if (lastConfig != null)
            {
                lastConfig.AssembliesChanged += new EventHandler(OnAssembliesChanged);
            }
        }
        public SolutionFolderTestGroup(SolutionFolder c) : base(c.Name, c)
        {
            string storeId     = c.ItemId;
            string resultsPath = MonoDevelop.NUnit.RootTest.GetTestResultsDirectory(c.BaseDirectory);

            ResultsStore = new BinaryResultsStore(resultsPath, storeId);

            combine              = c;
            combine.ItemAdded   += OnEntryChanged;
            combine.ItemRemoved += OnEntryChanged;
            combine.NameChanged += OnCombineRenamed;
        }
        public WorkspaceTestGroup(Workspace ws) : base(ws.Name, ws)
        {
            string storeId     = ws.Name;
            string resultsPath = MonoDevelop.NUnit.RootTest.GetTestResultsDirectory(ws.BaseDirectory);

            ResultsStore = new BinaryResultsStore(resultsPath, storeId);

            workspace              = ws;
            workspace.ItemAdded   += OnEntryChanged;
            workspace.ItemRemoved += OnEntryChanged;
            workspace.NameChanged += OnCombineRenamed;
        }
		public SolutionFolderTestGroup (SolutionFolder c): base (c.Name, c)
		{
			string storeId = c.ItemId;
			string resultsPath = MonoDevelop.NUnit.RootTest.GetTestResultsDirectory (c.BaseDirectory);
			ResultsStore = new BinaryResultsStore (resultsPath, storeId);
			
			folder = c;
			folder.NameChanged += OnCombineRenamed;

			if (c.IsRoot) {
				folder.ParentSolution.SolutionItemAdded += OnEntryChanged;
				folder.ParentSolution.SolutionItemRemoved += OnEntryChanged;
				IdeApp.Workspace.ReferenceAddedToProject += OnReferenceChanged;
				IdeApp.Workspace.ReferenceRemovedFromProject += OnReferenceChanged;
			}
		}
        public SolutionFolderTestGroup(SolutionFolder c) : base(c.Name, c)
        {
            string storeId     = c.ItemId;
            string resultsPath = MonoDevelop.NUnit.RootTest.GetTestResultsDirectory(c.BaseDirectory);

            ResultsStore = new BinaryResultsStore(resultsPath, storeId);

            folder              = c;
            folder.NameChanged += OnCombineRenamed;

            if (c.IsRoot)
            {
                folder.ParentSolution.SolutionItemAdded      += OnEntryChanged;
                folder.ParentSolution.SolutionItemRemoved    += OnEntryChanged;
                IdeApp.Workspace.ReferenceAddedToProject     += OnReferenceChanged;
                IdeApp.Workspace.ReferenceRemovedFromProject += OnReferenceChanged;
            }
        }
		public RootTest (NUnitAssemblyGroupProject project): base (project.Name, project)
		{
			this.project = project;
			resultsPath = GetTestResultsDirectory (project.BaseDirectory);
			ResultsStore = new BinaryResultsStore (resultsPath, Path.GetFileName (project.FileName));
			
			lastConfig = (NUnitAssemblyGroupProjectConfiguration) project.DefaultConfiguration;
			if (lastConfig != null)
				lastConfig.AssembliesChanged += new EventHandler (OnAssembliesChanged);
		}