Exemplo n.º 1
0
 public override TestResult Run(EventListener listener, ITestFilter filter)
 {
     using (new DirectorySwapper(Path.GetDirectoryName(TestFixtureBuilder.GetAssemblyPath(FixtureType))))
     {
         return(base.Run(listener, filter));
     }
 }
Exemplo n.º 2
0
        public void Add(object fixture)
        {
            Test test = TestFixtureBuilder.BuildFrom(fixture);

            if (test != null)
            {
                Add(test);
            }
        }
Exemplo n.º 3
0
        public LegacySuite(Type fixtureType) : base(fixtureType)
        {
            PropertyInfo suiteProperty = GetSuiteProperty(fixtureType);

            if (suiteProperty == null)
            {
                throw new ArgumentException("Invalid argument to LegacySuite constructor", "fixtureType");
            }

            this.fixtureSetUp    = NUnitFramework.GetFixtureSetUpMethod(fixtureType);
            this.fixtureTearDown = NUnitFramework.GetFixtureTearDownMethod(fixtureType);

            MethodInfo method = suiteProperty.GetGetMethod(true);

            if (method.GetParameters().Length == 0)
            {
                Type returnType = method.ReturnType;

                if (returnType.FullName == "NUnit.Core.TestSuite")
                {
                    TestSuite suite = (TestSuite)suiteProperty.GetValue(null, new Object[0]);
                    foreach (Test test in suite.Tests)
                    {
                        this.Add(test);
                    }
                }
                else if (typeof(IEnumerable).IsAssignableFrom(returnType))
                {
                    foreach (object obj in (IEnumerable)suiteProperty.GetValue(null, new object[0]))
                    {
                        Type type = obj as Type;
                        if (type != null && TestFixtureBuilder.CanBuildFrom(type))
                        {
                            this.Add(TestFixtureBuilder.BuildFrom(type));
                        }
                        else
                        {
                            this.Add(obj);
                        }
                    }
                }
                else
                {
                    this.RunState     = RunState.NotRunnable;
                    this.IgnoreReason = "Suite property must return either TestSuite or IEnumerable";
                }
            }
            else
            {
                this.RunState     = RunState.NotRunnable;
                this.IgnoreReason = "Suite property may not be indexed";
            }
        }
 public AssemblyReader(Assembly assembly)
 {
     this.assemblyPath = TestFixtureBuilder.GetAssemblyPath(assembly);
     CalcHeaderOffsets();
 }