From eb2475958025dc1fcb1f772fb109c584306d9591 Mon Sep 17 00:00:00 2001 From: Chris Cameron Date: Thu, 5 Oct 2017 15:15:49 -0400 Subject: [PATCH] Implementing ServiceProviderTests --- .../Services/ServiceProviderTest.cs | 83 +++++++++++++++++-- 1 file changed, 76 insertions(+), 7 deletions(-) diff --git a/ICD.Common.Utils.Tests/Services/ServiceProviderTest.cs b/ICD.Common.Utils.Tests/Services/ServiceProviderTest.cs index fa367bf..a0fa93a 100644 --- a/ICD.Common.Utils.Tests/Services/ServiceProviderTest.cs +++ b/ICD.Common.Utils.Tests/Services/ServiceProviderTest.cs @@ -1,4 +1,6 @@ -using NUnit.Framework; +using System; +using ICD.Common.Services; +using NUnit.Framework; namespace ICD.Common.Utils.Tests.Services { @@ -8,37 +10,104 @@ namespace ICD.Common.Utils.Tests.Services [Test] public void GetServiceGenericTest() { - Assert.Inconclusive(); + Assert.Throws(() => ServiceProvider.GetService()); + + ServiceProvider.AddService(this); + + Assert.AreEqual(this, ServiceProvider.GetService()); + + // Cleanup + ServiceProvider.RemoveService(this); } [Test] public void GetServiceTest() { - Assert.Inconclusive(); + Assert.Throws(() => ServiceProvider.GetService(typeof(ServiceProviderTest))); + + ServiceProvider.AddService(typeof(ServiceProviderTest), "Test"); + + Assert.AreEqual("Test", ServiceProvider.GetService(typeof(ServiceProviderTest))); + + // Cleanup + ServiceProvider.RemoveService(typeof(ServiceProviderTest), "Test"); } [Test] public void TryGetServiceGenericTest() { - Assert.Inconclusive(); + Assert.IsNull(ServiceProvider.TryGetService()); + + ServiceProvider.AddService(this); + + Assert.AreEqual(this, ServiceProvider.TryGetService()); + + // Cleanup + ServiceProvider.RemoveService(this); } [Test] public void TryGetServiceTest() { - Assert.Inconclusive(); + Assert.IsNull(ServiceProvider.TryGetService(typeof(ServiceProviderTest))); + + ServiceProvider.AddService(typeof(ServiceProviderTest), "Test"); + + Assert.AreEqual("Test", ServiceProvider.TryGetService(typeof(ServiceProviderTest))); + + // Cleanup + ServiceProvider.RemoveService(typeof(ServiceProviderTest), "Test"); } [Test] public void AddServiceGenericTest() { - Assert.Inconclusive(); + Assert.IsNull(ServiceProvider.TryGetService()); + + ServiceProvider.AddService(typeof(ServiceProviderTest), this); + Assert.AreEqual(this, ServiceProvider.GetService()); + + Assert.Throws(() => ServiceProvider.AddService(this)); + + // Cleanup + ServiceProvider.RemoveService(typeof(ServiceProviderTest), this); } [Test] public void AddServiceTest() { - Assert.Inconclusive(); + Assert.IsNull(ServiceProvider.TryGetService(typeof(ServiceProviderTest))); + + ServiceProvider.AddService(typeof(ServiceProviderTest), "Test"); + Assert.AreEqual("Test", ServiceProvider.GetService(typeof(ServiceProviderTest))); + + Assert.Throws(() => ServiceProvider.AddService(typeof(ServiceProviderTest), "Test")); + + // Cleanup + ServiceProvider.RemoveService(typeof(ServiceProviderTest), "Test"); + } + + [Test] + public void RemoveServiceGenericTest() + { + Assert.IsFalse(ServiceProvider.RemoveService(this)); + + ServiceProvider.AddService(this); + + Assert.IsFalse(ServiceProvider.RemoveService(new ServiceProviderTest())); + Assert.IsTrue(ServiceProvider.RemoveService(this)); + } + + [Test] + public void RemoveServiceTest() + { + Assert.IsFalse(ServiceProvider.RemoveService(typeof(ServiceProviderTest), "Test")); + + ServiceProvider.AddService(typeof(ServiceProviderTest), "Test"); + + Assert.IsFalse(ServiceProvider.RemoveService(typeof(string), "Test")); + Assert.IsFalse(ServiceProvider.RemoveService(typeof(ServiceProviderTest), "Test2")); + Assert.IsTrue(ServiceProvider.RemoveService(typeof(ServiceProviderTest), "Test")); } } }