Ejemplo n.º 1
0
        public void TestMultiLayersWithNoInjectableDefaultConstructor()
        {
            TangImpl.Reset();

            ICsConfigurationBuilder cb = TangFactory.GetTang().NewConfigurationBuilder();

            cb.BindImplementation(typeof(IH), typeof(L1));
            IInjector i = TangFactory.GetTang().NewInjector(cb.Build());
            var       o = i.GetInstance <IH>();

            Assert.NotNull(o);

            ICsConfigurationBuilder cb2 = TangFactory.GetTang().NewConfigurationBuilder();

            cb2.BindImplementation(typeof(IH), typeof(M1));  // M1 doesn't have injectable default constructor, no implementation L1 is bound to M1
            IInjector i2  = TangFactory.GetTang().NewInjector(cb2.Build());
            string    msg = null;

            try
            {
                var o2 = i2.GetInstance <IH>();
                Assert.True(o2 is L1);
            }
            catch (Exception e)
            {
                // Cannot inject Org.Apache.REEF.Tang.Tests.Injection.IH, Org.Apache.REEF.Tang.Test, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null:
                // No known implementations / injectable constructors for Org.Apache.REEF.Tang.Tests.Injection.M1, Org.Apache.REEF.Tang.Test, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
                msg = e.Message;
            }
            Assert.NotNull(msg);
        }
Ejemplo n.º 2
0
 public TestClassHierarchy()
 {
     if (ns == null)
     {
         TangImpl.Reset();
         ns = TangFactory.GetTang().GetClassHierarchy(new string[] { FileNames.Examples, FileNames.Common, FileNames.Tasks });
     }
 }
Ejemplo n.º 3
0
 private void setup3()
 {
     TangImpl.Reset();
     try
     {
         ProtocolBufferClassHierarchy.Serialize("testProto.bin", ns);
         ns = ProtocolBufferClassHierarchy.DeSerialize("testProto.bin");
     }
     catch (IOException e)
     {
         Assert.Fail(string.Format(CultureInfo.CurrentCulture, "IOException when serialize/deserialize proto buffer file", e));
     }
 }
Ejemplo n.º 4
0
        public void TestMultiLayersWithLowerLayerFirst()
        {
            TangImpl.Reset();
            ICsConfigurationBuilder cb = TangFactory.GetTang().NewConfigurationBuilder();

            cb.BindImplementation(typeof(IH), typeof(L));
            IInjector i = TangFactory.GetTang().NewInjector(cb.Build());
            var       o = i.GetInstance <IH>();

            Assert.True(o is L);

            ICsConfigurationBuilder cb2 = TangFactory.GetTang().NewConfigurationBuilder();

            cb2.BindImplementation(typeof(IH), typeof(M));
            IInjector i2 = TangFactory.GetTang().NewInjector(cb2.Build());
            var       o2 = i2.GetInstance <IH>();

            Assert.True(o2 is M);
        }
Ejemplo n.º 5
0
        public void TestMultiLayersWithBindImpl()
        {
            TangImpl.Reset();

            ICsConfigurationBuilder cb = TangFactory.GetTang().NewConfigurationBuilder();

            cb.BindImplementation(typeof(IH), typeof(L));
            IInjector i = TangFactory.GetTang().NewInjector(cb.Build());
            var       o = i.GetInstance <IH>();

            Assert.IsTrue(o is L);

            ICsConfigurationBuilder cb2 = TangFactory.GetTang().NewConfigurationBuilder();

            cb2.BindImplementation(typeof(IH), typeof(M));
            cb2.BindImplementation(typeof(M), typeof(L)); //construcotr of L is explicitly bound
            IInjector i2 = TangFactory.GetTang().NewInjector(cb2.Build());
            var       o2 = i2.GetInstance <IH>();

            Assert.IsTrue(o2 is L);
        }
Ejemplo n.º 6
0
 public static void ClassSetup(TestContext context)
 {
     TangImpl.Reset();
 }
Ejemplo n.º 7
0
 private void setup2()
 {
     TangImpl.Reset();
     ns = new ProtocolBufferClassHierarchy(ProtocolBufferClassHierarchy.Serialize(ns));
 }
Ejemplo n.º 8
0
 private void setup1()
 {
     TangImpl.Reset();
     ns = TangFactory.GetTang().GetClassHierarchy(new string[] { FileNames.Examples, FileNames.Common, FileNames.Tasks });
 }
Ejemplo n.º 9
0
 public TestGeneric()
 {
     TangImpl.Reset();
 }
Ejemplo n.º 10
0
 public static void ClassSetup(TestContext context)
 {
     TangImpl.Reset();
     ns = TangFactory.GetTang().GetClassHierarchy(new string[] { FileNames.Examples, FileNames.Common, FileNames.Tasks });
 }