示例#1
0
        public void Can_Remove_Method_From_Container()
        {
            var test             = new TestClass();
            var containerManager = new ContainerManager();

            containerManager.AddMethodToContainer("container", () => test.SimpleMethod(0, null), "methodName");
            var method = containerManager.GetMethodsInContainer("container").First();

            containerManager.RemoveMethod(method.MethodId);
            var methods = containerManager.GetMethodsInContainer("container");

            methods.Length.Should().Be(0);
        }
示例#2
0
        public void Can_Set_Enum_Parameter()
        {
            var testClass        = new TestClass();
            var containerManager = new ContainerManager();

            containerManager.AddMethodToContainer("container", () => testClass.SetEnumValue(0), "methodName");

            var method          = containerManager.GetMethodsInContainer("container").Single();
            var parameterValues = new Dictionary <string, string>
            {
                { "value", "Specified" },
            };

            containerManager.ExecuteMethod(method.MethodId, parameterValues);

            testClass.EnumProperty.Should().Be(TestClass.TestEnum.Specified);
        }
示例#3
0
        public void Can_Execute_Static_Method()
        {
            var testClass        = new TestClass();
            var containerManager = new ContainerManager();

            containerManager.AddMethodToContainer("container", () => StaticTestMethod(0), "methodName");

            var method          = containerManager.GetMethodsInContainer("container").Single();
            var parameterValues = new Dictionary <string, string>
            {
                { "value", "1" },
            };

            containerManager.ExecuteMethod(method.MethodId, parameterValues);

            StaticInt.Should().Be(1);
        }
示例#4
0
        public void Can_Execute_Method()
        {
            var testClass        = new TestClass();
            var containerManager = new ContainerManager();

            containerManager.AddMethodToContainer("container", () => testClass.SimpleMethod(0, null), "methodName");

            var method          = containerManager.GetMethodsInContainer("container").Single();
            var parameterValues = new Dictionary <string, string>
            {
                { "param1", "1" },
                { "param2", "two" }
            };

            containerManager.ExecuteMethod(method.MethodId, parameterValues);

            testClass.IntProperty.Should().Be(1);
            testClass.StringProperty.Should().Be("two");
        }
示例#5
0
        public void Can_Add_Methods_To_Container_Manager()
        {
            var testClass = new TestClass();

            var containerManager = new ContainerManager();

            containerManager.AddMethodToContainer("container", () => testClass.SimpleMethod(0, null), "methodName");

            var methods = containerManager.GetMethodsInContainer("container");

            methods.Should().NotBeNull();
            methods.Length.Should().Be(1);
            methods[0].Should().NotBeNull();
            methods[0].MethodId.Should().NotBeEmpty();
            methods[0].Name.Should().Be("methodName");
            methods[0].Parameters.Should().NotBeNull();
            methods[0].Parameters.Length.Should().Be(2);
            methods[0].Parameters[0].ParameterName.Should().Be("param1");
            methods[0].Parameters[0].TypeName.Should().Be(typeof(int).FullName);
            methods[0].Parameters[1].ParameterName.Should().Be("param2");
            methods[0].Parameters[1].TypeName.Should().Be(typeof(string).FullName);
        }
示例#6
0
 public MethodReference[] GetMethodsInContainer(string containerName)
 {
     return(_containerManager.GetMethodsInContainer(containerName));
 }