public void CircularDependency_Singleton() { Dojector.Reset(); Dojector.Bind <ICircularDependency1>(typeof(CircularDependency1), BindingConfig.Singleton); Dojector.Bind <ICircularDependency2>(typeof(CircularDependency2), BindingConfig.Singleton); Assert.ThrowsException <InvalidOperationException>(() => Dojector.Resolve()); }
public void Debind_NullInstance() { Dojector.Debind <IChild1>(); IChild1 child1 = Factory.Get <IChild1>(); Assert.IsNull(child1, "Child1 was debound but is not null on retrieval"); }
private void BindToIOC() { Dojector.Bind <IRankCalculator>(typeof(RankCalculator)); Dojector.Bind <IDojoAuditor>(typeof(DojoAuditor)); Dojector.Bind <ITestAuditor>(typeof(TestAuditor)); Dojector.Bind <IScoreKeeper>(typeof(ScoreKeeper)); }
public void Setup() { Dojector.Bind <IChild1>(typeof(Child1)); Dojector.Bind <IChild2>(typeof(Child2)); Dojector.Bind <IParent>(typeof(Parent)); Dojector.Bind <INestedParent>(typeof(NestedParent)); }
public void Initialize() { Dojector.Bind <IEfficiencyCalculator>(typeof(EfficiencyCalculator)); Dojector.Bind <IEfficiencyRankCollection>(typeof(EfficiencyRankCollection)); Dojector.Bind <IBenchmarkEngine>(typeof(BenchmarkEngine)); HasBeenInitialized = true; }
public void Initialize() { Dojector.Bind <ITestRunner>(typeof(TestRunner)); Dojector.Bind <ITestExecutionContext>(typeof(TestExecutionContext)); Dojector.Bind <IUnderTestAttribute>(typeof(UnderTestAttribute)); HasBeenInitialized = true; }
public void Initialize() { Dojector.Bind <IReflectionUtility>(typeof(ReflectionUtility)); Dojector.Bind <IAttributeUtility>(typeof(AttributeUtility)); Dojector.Bind <ILog>(typeof(Log)); HasBeenInitialized = true; }
public void Binding() { Dojector.Bind <IBattleAttribute>(typeof(BattleAttribute)); Dojector.Bind <ISenseiAttribute>(typeof(SenseiAttribute)); Dojector.Bind <IWrittenByAttribute>(typeof(WrittenByAttribute)); Dojector.Bind <IEfficiencyCalculator>(typeof(EfficiencyCalculator)); Dojector.Bind <IEfficiencyRankCollection>(typeof(EfficiencyRankCollection)); Dojector.Bind <IBenchmarkEngine>(typeof(BenchmarkEngine)); }
public void MissingDependency() { Dojector.Reset(); Dojector.Bind <IChild2>(typeof(Child2)); Dojector.Bind <IParent>(typeof(Parent)); Dojector.Bind <INestedParent>(typeof(NestedParent)); Assert.ThrowsException <InvalidOperationException>(() => Factory.Get <INestedParent>()); }
public void Parent_MultipleConstructors() { Dojector.Bind <IParent>(typeof(ParentMultipleConstructors)); IParent parent = Factory.Get <IParent>(); IChild1 child1 = parent.Child1; IChild2 child2 = parent.Child2; Assert.IsNotNull(parent, "Parent is null"); Assert.IsNotNull(child1, "Child 1 is null"); Assert.IsNotNull(child2, "Child 2 is null"); }
public void Singleton_NoDependencies() { Dojector.Reset(); Dojector.Bind <IChild1>(typeof(Child1), BindingConfig.Singleton); IChild1 instance1 = Factory.Get <IChild1>(); IChild1 instance2 = Factory.Get <IChild1>(); Assert.IsNotNull(instance1, "Instance 1 is null"); Assert.IsNotNull(instance2, "Instance 2 is null"); Assert.IsTrue(instance1.Name == instance2.Name, $"Instance names do not match. Instance1: {instance1.Name}, instance2: {instance2.Name}"); instance1.Name = "Changed"; Assert.IsTrue(instance1.Name == instance2.Name, $"Instance names do not match after change. Instance1: {instance1.Name}, instance2: {instance2.Name}"); }
public void Initialize() { Dojector.Bind <IBattleOutcome>(typeof(BattleOutcome)); Dojector.Bind <IEfficiencyResult>(typeof(EfficiencyResult)); Dojector.Bind <IPlayer>(typeof(Player)); Dojector.Bind <IPlayerBattleResult>(typeof(PlayerBattleResult)); Dojector.Bind <IBattleAttribute>(typeof(BattleAttribute)); Dojector.Bind <ISenseiAttribute>(typeof(SenseiAttribute)); Dojector.Bind <IWrittenByAttribute>(typeof(WrittenByAttribute)); Dojector.Bind <IBattleCollection>(typeof(BattleCollection), BindingConfig.Singleton); Dojector.Bind <IBattleRepository>(typeof(BattleRepository), BindingConfig.Singleton); Dojector.Bind <IPlayerRepository>(typeof(PlayerRepository), BindingConfig.Singleton); HasBeenInitialized = true; }
public void NullImplementation() { Assert.ThrowsException <InvalidOperationException>(() => Dojector.Bind <IChild1>(null)); }
public void InvalidBind_Backwards() { Assert.ThrowsException <InvalidCastException>(() => Dojector.Bind <Child1>(typeof(IChild1))); }
public void InvalidBind_ImplementationAsInterface() { Assert.ThrowsException <InvalidCastException>(() => Dojector.Bind <IChild1>(typeof(IChild1))); }
public void InvalidBind_NonInterfaceType() { Assert.ThrowsException <InvalidCastException>(() => Dojector.Bind <Child1>(typeof(Child1))); }
public void InvalidBind_NonImplementation() { Assert.ThrowsException <InvalidCastException>(() => Dojector.Bind <IChild1>(typeof(Child2))); }
public void Cleanup() { Dojector.Reset(); }
public void Initialize() { Dojector.Bind <IPlayerService>(typeof(PlayerService)); Dojector.Bind <IBattleService>(typeof(BattleService)); }
public void Debind_BrokenDependency() { Dojector.Debind <IChild1>(); Assert.ThrowsException <InvalidOperationException>(() => Factory.Get <IParent>()); }