public void apply_polymorphism_to_services() { FrameworkServiceContainer c = new FrameworkServiceContainer(); ServiceB b = new ServiceB(); ServiceC d = new ServiceC(); c.AddService(typeof(ServiceB), b); c.AddService(typeof(ServiceC), d); Assert.That(c.GetServices<ServiceB>().Count(), Is.EqualTo(2)); Assert.That(c.GetServices<ServiceB>(), Contains.Item(d)); }
public void add_multiple_services() { FrameworkServiceContainer c = new FrameworkServiceContainer(); ServiceA a1 = new ServiceA(); ServiceA a2 = new ServiceA(); c.AddService(typeof(ServiceA), a1); c.AddService("other", a2); Assert.That(c.GetServices<ServiceA>(), Contains.Item(a1)); Assert.That(c.GetServices<ServiceA>(), Contains.Item(a2)); }
public void dedupe_by_name_services() { FrameworkServiceContainer c = new FrameworkServiceContainer(); ServiceA a1 = new ServiceA(); c.AddService("hello", a1); c.AddService("other", a1); Assert.That(c.GetServices<ServiceA>().Count(), Is.EqualTo(1)); }
public void dedupe_by_type_services_polymorphic() { FrameworkServiceContainer c = new FrameworkServiceContainer(); ServiceC d = new ServiceC(); c.AddService(typeof(ServiceB), d); c.AddService(typeof(ServiceC), d); Assert.That(c.GetServices<ServiceB>().Count(), Is.EqualTo(1)); }