コード例 #1
0
        public void ProjectTryResolveTest()
        {
            var man = new FakeProjectManager();

            var project1 = new MyFakeTypeProject(typeof(string));
            var project2 = new MyFakeNameProject(typeof(string), "string");

            man.Register(project1);
            man.Register(project2);

            var result3 = man.TryResolve(typeof(string), out var project3);
            var result4 = man.TryResolve(typeof(string), "string", out var project4);

            result3.ShouldBeTrue();
            result4.ShouldBeTrue();

            project3.ShouldNotBeNull();
            project4.ShouldNotBeNull();

            project3.Class.ShouldBe(ProjectClass.Typed);
            project4.Class.ShouldBe(ProjectClass.Named);

            project3.Type.ShouldBe(typeof(string));
            project4.Type.ShouldBe(typeof(string));

            project3.Name.ShouldBe("System.String");
            project4.Name.ShouldBe("string");
        }
コード例 #2
0
        public void ProjectTryResolveWithUnregisterTypeTest()
        {
            var man = new FakeProjectManager();

            var project1 = new MyFakeTypeProject(typeof(string));
            var project2 = new MyFakeNameProject(typeof(string), "string");

            man.Register(project1);
            man.Register(project2);

            var result3 = man.TryResolve(typeof(int), out var project3);
            var result4 = man.TryResolve(typeof(int), "int", out var project4);

            result3.ShouldBeFalse();
            result4.ShouldBeFalse();

            project3.ShouldBeNull();
            project4.ShouldBeNull();
        }