private Task UnregisterSomething() { return(Task.Run(() => { var actual = _target.Unregister <IBar>(); try { _target.Register <IBar>(ioc => new SimpleBar()); } catch { // already registered is fine to throw exception } })); }
public static void Register <T, C>() where C : T, new() { if (!_instance.CanResolve <T>()) { _instance.Register <T>(ins => new C()); } }
private Task UnregisterSomething() { return(Task.Run(() => { var actual = _target.Unregister <IBar>(); Debug.WriteLine(Thread.CurrentThread.ManagedThreadId + " Unregistered: " + actual); try { _target.Register <IBar>(ioc => new SimpleBar()); Debug.WriteLine(Thread.CurrentThread.ManagedThreadId + " Re-registered."); } catch { Debug.WriteLine(Thread.CurrentThread.ManagedThreadId + " Already re-registered."); } })); }
public void GivenTypeNotRegisteredWhenRegisteredWithNullThenShouldThrowArgumentNullException() { var expected = false; try { _target.Register <IBar>(null); } catch (ArgumentNullException) { expected = true; } Assert.IsTrue(expected, "Test failed: container did not throw argument null exception for empty registration."); }
public void GivenTypeNotRegisteredWhenRegisteredWithNullThenShouldThrowArgumentNullException() { _target.Register <IBar>(null); }