// Copyright (c) Microsoft Open Technologies, Inc. All rights reserved. See License.txt in the project root for license information. namespace System.Data.Entity.TestHelpers { using System.Collections.Generic; using Xunit.Sdk; internal class PartialTrustClassCommand : ITestClassCommand { private readonly ITestClassCommand _classCommand = new TestClassCommand(); public int ChooseNextTest(ICollection testsLeftToRun) { return _classCommand.ChooseNextTest(testsLeftToRun); } public Exception ClassFinish() { return _classCommand.ClassFinish(); } public Exception ClassStart() { return _classCommand.ClassStart(); } public IEnumerable EnumerateTestCommands(IMethodInfo testMethod) { foreach (var testCommand in _classCommand.EnumerateTestCommands(testMethod)) { if (testMethod.HasAttribute(typeof(FullTrustAttribute)) || testCommand is PartialTrustCommand) { yield return testCommand; continue; } yield return new PartialTrustCommand(testCommand); } } public IEnumerable EnumerateTestMethods() { return _classCommand.EnumerateTestMethods(); } public bool IsTestMethod(IMethodInfo testMethod) { return _classCommand.IsTestMethod(testMethod); } public object ObjectUnderTest { get { return _classCommand.ObjectUnderTest; } } public ITypeInfo TypeUnderTest { get { return _classCommand.TypeUnderTest; } set { _classCommand.TypeUnderTest = value; } } } }