コード例 #1
0
ファイル: ReportVisitor.cs プロジェクト: timonela/mb-unit
        public virtual void VisitNamespace(ReportNamespace ns)
		{
			foreach(ReportFixture fixture in ns.Fixtures)
				VisitFixture(fixture);

			foreach(ReportNamespace childNs in ns.Namespaces)
				VisitNamespace(childNs);
		}
コード例 #2
0
        public virtual void VisitNamespace(ReportNamespace ns)
        {
            foreach (ReportFixture fixture in ns.Fixtures)
            {
                VisitFixture(fixture);
            }

            foreach (ReportNamespace childNs in ns.Namespaces)
            {
                VisitNamespace(childNs);
            }
        }
コード例 #3
0
        private ReportFixture AddFixture(Fixture fixture)
        {
            ReportFixture reportFixture = this.fixtures[fixture] as ReportFixture;

            if (reportFixture != null)
            {
                return(reportFixture);
            }

            reportFixture      = new ReportFixture();
            reportFixture.Name = fixture.Name;
            reportFixture.Type = fixture.Type.FullName;

            // store in table
            this.fixtures[fixture] = reportFixture;

            // add to corresponding namespace
            ReportNamespace ns = AddNamespace(fixture.Type);

            ns.Fixtures.AddReportFixture(reportFixture);

            return(reportFixture);
        }
コード例 #4
0
		static void RecurseNameSpaces(ReportNamespace reportNamespace, ITeamCityMessageProvider messageProvider)
		{
			foreach (ReportFixture reportFixture in reportNamespace.Fixtures)
			{
				foreach (ReportRun run in reportFixture.Runs)
				{
					messageProvider.TestStarted(run.Name);

					if (run.Result == ReportRunResult.Ignore || run.Result == ReportRunResult.Skip)
					{
						messageProvider.TestIgnored(run.Name, run.Result.ToString());
					}
					else if (run.Result == ReportRunResult.Failure)
					{
						ExceptionInfo exceptionInfo = GetExceptionInfo(run.Exception);

						messageProvider.TestFailed(run.Name, exceptionInfo);
					}

					if (!string.IsNullOrEmpty(run.ConsoleOut))
					{
						messageProvider.TestOutputStream(run.Name, run.ConsoleOut);
					}
					if (!string.IsNullOrEmpty(run.ConsoleError))
					{
						messageProvider.TestErrorStream(run.Name, run.ConsoleError);
					}

					messageProvider.TestFinished(run.Name, TimeSpan.FromSeconds(run.Duration));
				}
			}

			foreach (ReportNamespace child in reportNamespace.Namespaces)
			{
				RecurseNameSpaces(child, messageProvider);
			}
		}
コード例 #5
0
ファイル: Reportnamespace.cs プロジェクト: timonela/mb-unit
 /// <summary />
 /// <remarks />
 public void RemoveReportNamespace(ReportNamespace o) {
     this.List.Remove(o);
 }
コード例 #6
0
ファイル: Reportnamespace.cs プロジェクト: timonela/mb-unit
 /// <summary />
 /// <remarks />
 public bool ContainsReportNamespace(ReportNamespace o) {
     return this.List.Contains(o);
 }
コード例 #7
0
ファイル: Reportnamespace.cs プロジェクト: timonela/mb-unit
 /// <summary />
 /// <remarks />
 public void AddReportNamespace(ReportNamespace o) {
     this.List.Add(o);
 }
コード例 #8
0
        private ReportNamespace AddNamespace(Type fixtureType)
        {
            // get assembly
            ReportAssembly ra = AddAssembly(fixtureType.Assembly);

            // get namespace
            string ns = fixtureType.Namespace;
            if (ns==null || ns.Length==0)
                ns="";

            string[] partialNs = partialNs=ns.Split('.');

            // find root
            string rootName = partialNs[0];
            ReportNamespace parent = null;
            foreach(ReportNamespace rns in ra.Namespaces)
            {
                if (rns.Name == rootName)
                {
                    parent = rns;
                    break;
                }
            }

            // if not found add new
            if (parent == null)
            {
                parent = new ReportNamespace();
                parent.Name = rootName;
                ra.Namespaces.AddReportNamespace(parent);
                this.namespaces.Add(parent.Name,parent);
            }

            // add childn amespaces
            string currentNs = parent.Name;
            for(int i = 1;i<partialNs.Length;++i)
            {
                currentNs+=String.Format(".{0}",partialNs[i]);
                // if !contained, add
                if (!this.namespaces.Contains(currentNs))
                {
                    ReportNamespace rns = new ReportNamespace();
                    rns.Name =currentNs;

                    // add in table
                    this.namespaces.Add(currentNs,rns);
                    parent.Namespaces.AddReportNamespace(rns);
                    parent = rns;
                }
                else
                {
                    // add to parent
                    parent = (ReportNamespace)this.namespaces[currentNs];
                }
            }

            return (ReportNamespace)this.namespaces[ns];
        }
コード例 #9
0
ファイル: Reportassembly.cs プロジェクト: tmauldin/mb-unit
 /// <summary />
 /// <remarks />
 public void RemoveReportNamespace(ReportNamespace o)
 {
     this.List.Remove(o);
 }
コード例 #10
0
ファイル: Reportassembly.cs プロジェクト: tmauldin/mb-unit
 /// <summary />
 /// <remarks />
 public bool ContainsReportNamespace(ReportNamespace o)
 {
     return(this.List.Contains(o));
 }
コード例 #11
0
ファイル: Reportassembly.cs プロジェクト: tmauldin/mb-unit
 /// <summary />
 /// <remarks />
 public void AddReportNamespace(ReportNamespace o)
 {
     this.List.Add(o);
 }
コード例 #12
0
        private ReportNamespace AddNamespace(Type fixtureType)
        {
            // get assembly
            ReportAssembly ra = AddAssembly(fixtureType.Assembly);

            // get namespace
            string ns = fixtureType.Namespace;

            if (ns == null || ns.Length == 0)
            {
                ns = "";
            }

            string[] partialNs = partialNs = ns.Split('.');

            // find root
            string          rootName = partialNs[0];
            ReportNamespace parent   = null;

            foreach (ReportNamespace rns in ra.Namespaces)
            {
                if (rns.Name == rootName)
                {
                    parent = rns;
                    break;
                }
            }

            // if not found add new
            if (parent == null)
            {
                parent      = new ReportNamespace();
                parent.Name = rootName;
                ra.Namespaces.AddReportNamespace(parent);
                this.namespaces.Add(parent.Name, parent);
            }

            // add childn amespaces
            string currentNs = parent.Name;

            for (int i = 1; i < partialNs.Length; ++i)
            {
                currentNs += String.Format(".{0}", partialNs[i]);
                // if !contained, add
                if (!this.namespaces.Contains(currentNs))
                {
                    ReportNamespace rns = new ReportNamespace();
                    rns.Name = currentNs;

                    // add in table
                    this.namespaces.Add(currentNs, rns);
                    parent.Namespaces.AddReportNamespace(rns);
                    parent = rns;
                }
                else
                {
                    // add to parent
                    parent = (ReportNamespace)this.namespaces[currentNs];
                }
            }

            return((ReportNamespace)this.namespaces[ns]);
        }
コード例 #13
0
ファイル: DoxReport.cs プロジェクト: timonela/mb-unit
			public override void VisitNamespace(ReportNamespace ns)
			{
				writer.WriteLine("{0}",ns.Name);
				base.VisitNamespace (ns);
			}