public void GivenAnyCondition_ActiveByIndex_MustBeActived() { var prov = new NullIProposalProvider(); var f = new ValueServiceScopeFactory { Factory = new Dictionary <Type, Func <object> > { [typeof(NullIProposalProvider)] = () => prov } }; var eng = new ProposalEngine(f); eng.Add(new NullProposalDescription { DescritionUri = new Uri("http://localhost:4200"), Name = "any", ProviderType = typeof(NullIProposalProvider) }); Assert.AreEqual(1, eng.Count); var obj = eng.Active(0); Assert.IsNotNull(obj.Provider); Assert.AreEqual(prov, obj.Provider); obj.Dispose(); }
public void ActiveNoImplement_IProposalProvider_Type_MustThrowException() { var prov = new object(); var f = new ValueServiceScopeFactory { Factory = new Dictionary <Type, Func <object> > { [typeof(object)] = () => prov } }; var eng = new ProposalEngine(f); Assert.ThrowsException <InvalidCastException>(() => eng.Active(typeof(object))); }
public void ActiveType_TypeMustActived() { var prov = new NullIProposalProvider(); var f = new ValueServiceScopeFactory { Factory = new Dictionary <Type, Func <object> > { [typeof(NullIProposalProvider)] = () => prov } }; var eng = new ProposalEngine(f); Assert.AreEqual(f, eng.ServiceScopeFactory); var obj = eng.Active(typeof(NullIProposalProvider)); Assert.IsNotNull(obj.Provider); Assert.IsNotNull(obj.Scope); Assert.AreEqual(prov, obj.Provider); obj.Dispose(); }
public void GivenAnyCondition_ActiveOutOfRang_MustThrowException(int count, int index) { var prov = new NullIProposalProvider(); var f = new ValueServiceScopeFactory { Factory = new Dictionary <Type, Func <object> > { [typeof(NullIProposalProvider)] = () => prov } }; var eng = new ProposalEngine(f); for (int i = 0; i < count; i++) { eng.Add(new NullProposalDescription { DescritionUri = new Uri("http://localhost:420" + i), Name = "any" + i, ProviderType = typeof(NullIProposalProvider) }); } Assert.ThrowsException <ArgumentOutOfRangeException>(() => eng.Active(index)); }