Esempio n. 1
0
        public void BasicMap2T()
        {
            ICoffeeMapper mapper         = CreateMapperWithExampleMapping();
            ExampleClass1 exampleObject1 = GetObject1();
            ExampleClass2 result         = mapper.Map <ExampleClass1, ExampleClass2>(exampleObject1);

            Assert.AreEqual(exampleObject1.A, result.A);
        }
Esempio n. 2
0
        public void NoMappingFoundException()
        {
            ClassMappingInstructionHolder mappingInstructions = new ClassMappingInstructionHolder();
            ICoffeeMapper mapper         = new CoffeeMapper(mappingInstructions);
            ExampleClass1 exampleObject1 = GetObject1();

            Assert.ThrowsException <NoMappingFoundException>
                (() => mapper.Map <ExampleClass2>(exampleObject1));
        }
Esempio n. 3
0
        public void SelfRegistrationTest()
        {
            DependencyProvider provider;
            DependenciesConfig config = new DependenciesConfig();

            config.Register <ExampleClass1, ExampleClass1>(true);
            provider = new DependencyProvider(config);
            ExampleClass1 actual = provider.Resolve <ExampleClass1>();

            Assert.IsNotNull(actual);
        }
Esempio n. 4
0
        public void BasicMap0T()
        {
            ICoffeeMapper mapper         = CreateMapperWithExampleMapping();
            ExampleClass1 exampleObject1 = GetObject1();
            object        objResult      = mapper.Map(exampleObject1, typeof(ExampleClass1), typeof(ExampleClass2));

            Assert.IsInstanceOfType(objResult, typeof(ExampleClass2));
            ExampleClass2 result = (ExampleClass2)objResult;

            Assert.AreEqual(exampleObject1.A, result.A);
        }
Esempio n. 5
0
        public void TestCreateFunction2c()
        {
            string     n            = nameof(ExampleClass1.AppendTextAndGet);
            MethodInfo m            = typeof(ExampleClass1).GetMethod(n, new Type[] { typeof(string) });
            Func2      appendAndGet = Accelerator.CreateFunction2(m);

            var o = new ExampleClass1();

            Assert.AreEqual("ABC", o.AppendTextAndGet("ABC"));
            Assert.AreEqual("ABC", o.Text);
            Assert.AreEqual("ABCXYZ", (string)appendAndGet(o, "XYZ"));
            Assert.AreEqual("ABCXYZ", o.Text);
        }
Esempio n. 6
0
        public void ClassMappingAutoDiscoversBasicPropertyWithMismatchTypes()
        {
            ClassMappingInstructionHolder mappingInstructions = new ClassMappingInstructionHolder();

            mappingInstructions.AddMapping <ExampleClass1, ExampleClassWithIntProperty>(new ClassMappingInstructionOptions {
                AutoAddPropertiesWithSameName = true
            });
            ICoffeeMapper mapper               = new CoffeeMapper(mappingInstructions);
            ExampleClass1 exampleObject1       = GetObject1();
            ExampleClassWithIntProperty result = mapper.Map <ExampleClassWithIntProperty>(exampleObject1);

            Assert.AreEqual(exampleObject1.A, result.A);
        }
Esempio n. 7
0
        public void ClassMappingWithoutAutoDiscoversBasicProperty()
        {
            ClassMappingInstructionHolder mappingInstructions = new ClassMappingInstructionHolder();

            mappingInstructions.AddMapping <ExampleClass1, ExampleClass2>(new ClassMappingInstructionOptions {
                AutoAddPropertiesWithSameName = false
            });
            ICoffeeMapper mapper         = new CoffeeMapper(mappingInstructions);
            ExampleClass1 exampleObject1 = GetObject1();
            ExampleClass2 result         = mapper.Map <ExampleClass2>(exampleObject1);

            Assert.AreEqual(null, result.A);
        }
        public void TestCreateAction2a()
        {
            string  n   = nameof(ExampleClass1.Increment);
            Action2 inc = Accelerator.CreateAction2(typeof(ExampleClass1).GetMethod(n, new[] { typeof(int) }));

            var o = new ExampleClass1();

            o.Increment(1);
            Assert.AreEqual(1, o.Value);
            inc(o, 3);
            Assert.AreEqual(4, o.Value);
            inc(o, 11);
            Assert.AreEqual(15, o.Value);
        }
        public void TestCreateAction1a()
        {
            string  n   = nameof(ExampleClass1.Increment);
            Action1 inc = Accelerator.CreateAction1(typeof(ExampleClass1).GetMethod(n, Type.EmptyTypes));

            var o = new ExampleClass1();

            o.Increment();
            Assert.AreEqual(1, o.Value);
            inc(o);
            Assert.AreEqual(2, o.Value);
            inc(o);
            inc(o);
            Assert.AreEqual(4, o.Value);
        }
Esempio n. 10
0
        public void CycleDependencyTest()
        {
            DependencyProvider provider;
            DependenciesConfig config = new DependenciesConfig();

            config.Register <ExampleClass1, ExampleClass1>(false);
            config.Register <ExampleClass2, ExampleClass2>(true);
            config.Register <ExampleClass3, ExampleClass3>(true);

            provider = new DependencyProvider(config);
            ExampleClass1 actual = provider.Resolve <ExampleClass1>();

            Assert.IsNotNull(actual);
            Assert.AreEqual(null, actual.example.example.example);
        }
Esempio n. 11
0
        public void TestCreateFunction1a()
        {
            string     n         = nameof(ExampleClass1.IncrementAndGet);
            MethodInfo m         = typeof(ExampleClass1).GetMethod(n, Type.EmptyTypes);
            Func1      incAndGet = Accelerator.CreateFunction1(m);

            var o = new ExampleClass1();

            Assert.AreEqual(0, o.Value);
            Assert.AreEqual(1, o.IncrementAndGet());
            Assert.AreEqual(1, o.Value);
            Assert.AreEqual(2, (int)incAndGet(o));
            Assert.AreEqual(2, o.Value);
            Assert.AreEqual(3, (int)incAndGet(o));
            Assert.AreEqual(4, (int)incAndGet(o));
            Assert.AreEqual(4, o.Value);
        }
Esempio n. 12
0
        public static void DoSomething()
        {
            var exampleObject = new ExampleClass1();

            // System.Type typeOfXyz = exampleObject.GetType();
            // System.Reflection.MemberInfo memberInfo = typeOfXyz.GetMethod("DoHoge");
            // var pre = Attribute.GetCustomAttributes(memberInfo, typeof (DeclaredExceptionAttribute));
            // DeclaredExceptionAttribute[] hoges = (DeclaredExceptionAttribute[])pre;
            // foreach (var hoge in hoges)
            // {
            //     Console.Write(hoge.exceptionType);
            // }

            // var stackTrace = new AlternativeStackTrace(1);
            // Console.WriteLine(stackTrace);

            // Error<Exception> a = (Error<Exception>)new Exception("abc");
            // Console.WriteLine(a.stackTrace);

            Exceptional <int> ret1 = exampleObject.DoHoge(returnsError: false);

            Console.WriteLine($"ret1 は {ret1}.");

            var ret2 = exampleObject.DoHoge(returnsError: true);

            Console.WriteLine($"ret2 は {ret2}.");

            var ret3 = exampleObject.DoHoge(returnsError: true);

            if (ret3.hasError)
            {
                Console.WriteLine(ret3.error.stackTrace);
            }

            int ret4 = exampleObject.DoHoge(returnsError: false);

            Console.WriteLine($"ret4 は {ret4}.");

            // int ret5 = exampleObject.DoHoge(returnsError: true);

            // 終了待機
            Console.ReadKey();
        }