/// <summary> /// Initializes a new instance of the <see cref="TestFrameworkProxy"/> class. /// </summary> /// <param name="testAssemblyObject">The test assembly (expected to implement <see cref="IAssemblyInfo"/>).</param> /// <param name="sourceInformationProviderObject">The source information provider (expected to implement <see cref="ISourceInformationProvider"/>).</param> /// <param name="diagnosticMessageSinkObject">The diagnostic message sink (expected to implement <see cref="IMessageSink"/>).</param> public TestFrameworkProxy(object testAssemblyObject, object sourceInformationProviderObject, object diagnosticMessageSinkObject) { var testAssembly = (IAssemblyInfo)testAssemblyObject; var sourceInformationProvider = (ISourceInformationProvider)sourceInformationProviderObject; var diagnosticMessageSink = new MessageSinkWrapper((IMessageSink)diagnosticMessageSinkObject); var testFrameworkType = GetTestFrameworkType(testAssembly, diagnosticMessageSink); InnerTestFramework = CreateInnerTestFramework(testFrameworkType, diagnosticMessageSink); SourceInformationProvider = sourceInformationProvider; }