mirror of
https://github.com/ICDSystems/ICD.Common.Utils.git
synced 2026-04-13 20:47:24 +00:00
Implementing ServiceProviderTests
This commit is contained in:
parent
4e8d3e32c4
commit
eb24759580
1 changed files with 76 additions and 7 deletions
|
|
@ -1,4 +1,6 @@
|
||||||
using NUnit.Framework;
|
using System;
|
||||||
|
using ICD.Common.Services;
|
||||||
|
using NUnit.Framework;
|
||||||
|
|
||||||
namespace ICD.Common.Utils.Tests.Services
|
namespace ICD.Common.Utils.Tests.Services
|
||||||
{
|
{
|
||||||
|
|
@ -8,37 +10,104 @@ namespace ICD.Common.Utils.Tests.Services
|
||||||
[Test]
|
[Test]
|
||||||
public void GetServiceGenericTest()
|
public void GetServiceGenericTest()
|
||||||
{
|
{
|
||||||
Assert.Inconclusive();
|
Assert.Throws<ServiceNotFoundException>(() => ServiceProvider.GetService<ServiceProviderTest>());
|
||||||
|
|
||||||
|
ServiceProvider.AddService(this);
|
||||||
|
|
||||||
|
Assert.AreEqual(this, ServiceProvider.GetService<ServiceProviderTest>());
|
||||||
|
|
||||||
|
// Cleanup
|
||||||
|
ServiceProvider.RemoveService(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
[Test]
|
[Test]
|
||||||
public void GetServiceTest()
|
public void GetServiceTest()
|
||||||
{
|
{
|
||||||
Assert.Inconclusive();
|
Assert.Throws<ServiceNotFoundException>(() => ServiceProvider.GetService(typeof(ServiceProviderTest)));
|
||||||
|
|
||||||
|
ServiceProvider.AddService(typeof(ServiceProviderTest), "Test");
|
||||||
|
|
||||||
|
Assert.AreEqual("Test", ServiceProvider.GetService(typeof(ServiceProviderTest)));
|
||||||
|
|
||||||
|
// Cleanup
|
||||||
|
ServiceProvider.RemoveService(typeof(ServiceProviderTest), "Test");
|
||||||
}
|
}
|
||||||
|
|
||||||
[Test]
|
[Test]
|
||||||
public void TryGetServiceGenericTest()
|
public void TryGetServiceGenericTest()
|
||||||
{
|
{
|
||||||
Assert.Inconclusive();
|
Assert.IsNull(ServiceProvider.TryGetService<ServiceProviderTest>());
|
||||||
|
|
||||||
|
ServiceProvider.AddService(this);
|
||||||
|
|
||||||
|
Assert.AreEqual(this, ServiceProvider.TryGetService<ServiceProviderTest>());
|
||||||
|
|
||||||
|
// Cleanup
|
||||||
|
ServiceProvider.RemoveService(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
[Test]
|
[Test]
|
||||||
public void TryGetServiceTest()
|
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]
|
[Test]
|
||||||
public void AddServiceGenericTest()
|
public void AddServiceGenericTest()
|
||||||
{
|
{
|
||||||
Assert.Inconclusive();
|
Assert.IsNull(ServiceProvider.TryGetService<ServiceProviderTest>());
|
||||||
|
|
||||||
|
ServiceProvider.AddService(typeof(ServiceProviderTest), this);
|
||||||
|
Assert.AreEqual(this, ServiceProvider.GetService<ServiceProviderTest>());
|
||||||
|
|
||||||
|
Assert.Throws<InvalidOperationException>(() => ServiceProvider.AddService(this));
|
||||||
|
|
||||||
|
// Cleanup
|
||||||
|
ServiceProvider.RemoveService(typeof(ServiceProviderTest), this);
|
||||||
}
|
}
|
||||||
|
|
||||||
[Test]
|
[Test]
|
||||||
public void AddServiceTest()
|
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<InvalidOperationException>(() => 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"));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue