public void TestGetAllServicesAscendingOrderAfterRemoval() { TestUtilities.InitializeMixedRealityToolkitAndCreateScenes(); ITestExtensionService3 service3 = new TestExtensionService3("Service3", 10, null); MixedRealityToolkit.Instance.RegisterService <ITestExtensionService3>(service3); ITestExtensionService1 service1 = new TestExtensionService1("Service1", 20, null); MixedRealityToolkit.Instance.RegisterService <ITestExtensionService1>(service1); ITestExtensionService2 service2 = new TestExtensionService2("Service2", 30, null); MixedRealityToolkit.Instance.RegisterService <ITestExtensionService2>(service2); MixedRealityToolkit.Instance.UnregisterService <ITestExtensionService2>(); // The order should be service3, service1 because: // service3 priority = 10 // service1 priority = 20 CollectionAssert.AreEqual( new List <IMixedRealityService>() { service3, service1 }, MixedRealityServiceRegistry.GetAllServices()); }
public void TestEnableServicesByType() { // Use the default profile, since we need an input system for this test. TestUtilities.InitializeMixedRealityToolkitAndCreateScenes(true); // Add test 1 services TestExtensionService1 service1 = new TestExtensionService1("Test07-01-1.2", 10, null); MixedRealityToolkit.Instance.RegisterService <ITestDataProvider1>(new TestDataProvider1(service1, "Test07-01-1.1", 10)); MixedRealityToolkit.Instance.RegisterService <ITestExtensionService1>(service1); // Add test 2 services MixedRealityToolkit.Instance.RegisterService <ITestInputDataProvider>(new TestInputDataProvider(CoreServices.InputSystem, "Test07-01-2.1", 10, null)); MixedRealityToolkit.Instance.RegisterService <ITestExtensionService2>(new TestExtensionService2("Test07-01-2.2", 10, null)); // Enable all test services MixedRealityToolkit.Instance.EnableAllServicesByType(typeof(ITestService)); // Tests var testServices = MixedRealityToolkit.Instance.GetServices <ITestService>(); foreach (var service in testServices) { Assert.IsTrue(service is ITestService); Assert.IsTrue((service as ITestService).IsEnabled); } }