For each service, we have to consider the service classes themselves, any interfaces they implement and interfaces used to extend them. In the following sections, the IService interface, used by all services, is not shown. It is public and must remain so.
Classes are almost all public due to history and legacy of the NUnit project. Initial assumption is that the classes should all be internal. Interfaces require individual analysis.
Some interfaces are currently defined in the NUnit engine API. These can't be changed until we create our own definitions in the TestCentric API. Actions needed on these interfaces are listed as "Deferred".
ExtensionService
Status: Public class implementing public interface IExtensionService.
Action: Make class internal. Keep interface public. DONE
ProjectService
Status: Public class implementing public interface `IProjectService. DONEAction: Make class internal. Keep interface public. DONE
ResultService
Status: Public class implementing public interface `IResultService.
Action: Make class internal. Keep interface public. DONE
RuntimeFrameworkService
Status: Public class implementing public interfaces IRuntimeFrameworkService and IAvailableRuntimes.
Action: Make class internal. Keep IAvailableRuntimes public. DONEDeferred: Make IRuntimeFrameworkService internal.
TestAgency
Status: Public class implementing public interfaces ITestAgentProvider and ITestAgency.
Action: Make class internal. Keep ITestAgency public. Make ITestAgentProvider internal. DONE
TestAgentService
Status: Internal class implementing public interface ITestAgentInfo.
Action: No change.
TestEventDispatcher
Status: Public class implementing public interface ITestEventListener. Extensible using same interface.
Action: Make class internal. Keep interface public. DONE
TestFilterService
Status: Public class implementing public interface ITestFilterService.
Action: Make class internal. Keep interface public. DONE
TestFrameworkService
Status: Public class implementing public interface `ITestFrameworkService.
Action: Make class internal. Make interface internal. DONE
TestPackageAnalyzer
Status: Public class, no interface.
Action: Make class internal. DONE
TestRunnerFactory
Status: Public class implementing public interface `ITestRunnerFactory.
Action: Make class internal. Make interface internal. DONE
For each service, we have to consider the service classes themselves, any interfaces they implement and interfaces used to extend them. In the following sections, the
IService
interface, used by all services, is not shown. It is public and must remain so.Classes are almost all public due to history and legacy of the NUnit project. Initial assumption is that the classes should all be internal. Interfaces require individual analysis.
Some interfaces are currently defined in the NUnit engine API. These can't be changed until we create our own definitions in the TestCentric API. Actions needed on these interfaces are listed as "Deferred".
ExtensionService
Status: Public class implementing public interface
IExtensionService
. Action: Make class internal. Keep interface public. DONEProjectService
Status: Public class implementing public interface `IProjectService. DONE Action: Make class internal. Keep interface public. DONE
ResultService
Status: Public class implementing public interface `IResultService. Action: Make class internal. Keep interface public. DONE
RuntimeFrameworkService
Status: Public class implementing public interfaces
IRuntimeFrameworkService
andIAvailableRuntimes
. Action: Make class internal. KeepIAvailableRuntimes
public. DONE Deferred: MakeIRuntimeFrameworkService
internal.TestAgency
Status: Public class implementing public interfaces
ITestAgentProvider
andITestAgency
. Action: Make class internal. KeepITestAgency
public. MakeITestAgentProvider
internal. DONETestAgentService
Status: Internal class implementing public interface
ITestAgentInfo
. Action: No change.TestEventDispatcher
Status: Public class implementing public interface
ITestEventListener
. Extensible using same interface. Action: Make class internal. Keep interface public. DONETestFilterService
Status: Public class implementing public interface
ITestFilterService
. Action: Make class internal. Keep interface public. DONETestFrameworkService
Status: Public class implementing public interface `ITestFrameworkService. Action: Make class internal. Make interface internal. DONE
TestPackageAnalyzer
Status: Public class, no interface. Action: Make class internal. DONE
TestRunnerFactory
Status: Public class implementing public interface `ITestRunnerFactory. Action: Make class internal. Make interface internal. DONE