#region Copyright (c) 2002-2003, James W. Newkirk, Michael C. Two, Alexei A. Vorontsov, Charlie Poole, Philip A. Craig
/************************************************************************************
'
' Copyright © 2002-2003 James W. Newkirk, Michael C. Two, Alexei A. Vorontsov, Charlie Poole
' Copyright © 2000-2003 Philip A. Craig
'
' This software is provided 'as-is', without any express or implied warranty. In no
' event will the authors be held liable for any damages arising from the use of this
' software.
'
' Permission is granted to anyone to use this software for any purpose, including
' commercial applications, and to alter it and redistribute it freely, subject to the
' following restrictions:
'
' 1. The origin of this software must not be misrepresented; you must not claim that
' you wrote the original software. If you use this software in a product, an
' acknowledgment (see the following) in the product documentation is required.
'
' Portions Copyright © 2003 James W. Newkirk, Michael C. Two, Alexei A. Vorontsov, Charlie Poole
' or Copyright © 2000-2003 Philip A. Craig
'
' 2. Altered source versions must be plainly marked as such, and must not be
' misrepresented as being the original software.
'
' 3. This notice may not be removed or altered from any source distribution.
'
'***********************************************************************************/
#endregion
namespace NUnit.Core
{
using System;
using System.Collections;
///
/// TestSuiteResult
///
///
[Serializable]
public class TestSuiteResult : TestResult
{
private ArrayList results = new ArrayList();
public TestSuiteResult(ITest test, string name) : base(test, name)
{
Executed = false;
}
public void AddResult(TestResult result)
{
results.Add(result);
}
public override bool IsSuccess
{
get
{
bool result = true;
foreach(TestResult testResult in results)
result &= testResult.IsSuccess;
return result;
}
}
///
/// A suite is considered as failing if it is marked as a failure - usually
/// because TestFixtureSetUp or TestFixtureTearDown failed - or if one of the
/// tests it contains failed.
///
public override bool IsFailure
{
get
{
if ( base.IsFailure )
return true;
foreach(TestResult testResult in results)
if ( testResult.IsFailure )
return true;
return false;
}
}
public override bool AllTestsExecuted
{
get
{
if (!this.Executed)
return false;
foreach( TestResult testResult in results )
{
if ( !testResult.AllTestsExecuted )
return false;
}
return true;
}
}
public IList Results
{
get { return results; }
}
public override void Accept(ResultVisitor visitor)
{
visitor.Visit(this);
}
}
}