Beispiel #1
0
        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);
        }
Beispiel #2
0
        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]);
        }
Beispiel #3
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]);
        }
Beispiel #4
0
        public void Compose()
        {
            var reg = new SMRegistry();

            Root <IConfigSpec, ILocatorConfigSpec, IRegSpec, IContainerSpec> .Compose(reg);
        }