public void TestFindMatch()
        {
            var actual = new MethodMatching().FindMatch(
                new MethodStub("DemoMethod"),
                new TypeStub("TargetType", "Demo.TargetType", new MethodStub("DemoMethod"))).Name;

            var expected = "DemoMethod";
            Assert.AreEqual(expected, actual);
        }
        public void TestFindMatchGenerics()
        {
            var actual = new MethodMatching().FindMatch(
                new MethodStub("DemoMethod", genericTypes: new[] { "System.IComparable" }),
                new TypeStub("TargetType", "Demo.TargetType", new MethodStub("DemoMethod", genericTypes: new[] { "System.IComparable" }))).Name;

            var expected = "DemoMethod";
            Assert.AreEqual(expected, actual);
        }
        public void TestFindMatchParameters()
        {
            var stringType = new TypeStub("String", "System.String");
            var actual = new MethodMatching().FindMatch(
                new MethodStub("DemoMethod", parameters: new[] { new Parameter(ParameterVariant.In, stringType) }),
                new TypeStub(
                    "TargetType",
                    "Demo.TargetType",
                    new MethodStub("DemoMethod", parameters: new[] { new Parameter(ParameterVariant.In, stringType) }))).Name;

            var expected = "DemoMethod";
            Assert.AreEqual(expected, actual);
        }
        public void TestFindMatchParamsParameterReal()
        {
            var firstAssemblyPath = new Uri(typeof(StringFormat).Assembly.CodeBase).AbsolutePath;
            var secondAssemblyPath = new Uri(typeof(string).Assembly.CodeBase).AbsolutePath;

            var methodFromFirst = new Assembly(firstAssemblyPath).FindType("MockEverythingTests.Engine.Browsers.StringFormat").FindMethods(MemberType.Static).Single();
            var typeFromSecond = new Assembly(secondAssemblyPath).FindType("System.String");

            var actual = new MethodMatching().FindMatch(methodFromFirst, typeFromSecond).Name;

            var expected = "Format";
            Assert.AreEqual(expected, actual);
        }