public void CollectsNoDefault() { var reg = new SMRegistry(); reg.Register <ITesti, t1>().AsSingleton().AsCollection(); reg.Register <ITesti, t2>().AsCollection(); var c = reg.GenerateContainer(); var all = c.Resolve <ITesti[]>(); Assert.Throws <StructureMap.StructureMapConfigurationException>(() => c.Resolve <ITesti>()); Assert.AreEqual(2, all.Length); }
public void OneFromManyImplimintationRegistrations() { var reg = new SMRegistry(); reg.Register <ITesti, t1>().AsSingleton().AsCollection(); reg.Register <ITesti, t1>().AsSingleton(); reg.Register <t1, t1>().AsSingleton(); var c = reg.GenerateContainer(); Assert.AreSame(c.Resolve <ITesti>(), c.Resolve <t1>()); Assert.AreSame(c.Resolve <ITesti[]>()[0], c.Resolve <t1>()); Assert.AreSame(c.Resolve <ITesti>(), c.Resolve <ITesti[]>()[0]); }
public void Collects() { var reg = new SMRegistry(); reg.Register <ITesti, t1>().AsSingleton().AsCollection(); reg.Register <ITesti, t2>().AsCollection(); reg.Register <ITesti, t3>(); var c = reg.GenerateContainer(); var all = c.Resolve <ITesti[]>(); Assert.AreEqual(2, all.Length); Assert.IsInstanceOf <t1>(all[1]); Assert.IsInstanceOf <t2>(all[0]); }
public void Compose() { var reg = new SMRegistry(); Root <IConfigSpec, ILocatorConfigSpec, IRegSpec, IContainerSpec> .Compose(reg); }