Beispiel #1
0
        public void When_One_Target_Exists_For_Mvc_Then_Returns_Type_Of_Target_For_Mvc()
        {
            var aGuid = Guid.NewGuid();
            var aFakeTarget = new FakeTarget(aGuid);

            var referenceFinderMock = new Mock<ITagTargetReferenceFinder>();
            var finderMock = new Mock<ITaggedTypeNameFinder>();
            var loaderFactoryMock = new Mock<ITagTargetLoaderFactory>();

            finderMock
                .Setup(x => x.FindTaggedTypeNames(new Tag("Mvc")))
                .Returns(new List<string>()
                         {
                             aFakeTarget.GetType().FullName
                         });

            var targetFinder = new TagFinder(referenceFinderMock.Object, finderMock.Object, loaderFactoryMock.Object);

            List<Type> targetTypes = targetFinder.FindTaggedTypes(new Tag("Mvc"));

            Assert.That((
                from type in targetTypes
                where type.Equals(typeof(FakeTarget))
                select type
                ).Any());
        }
Beispiel #2
0
        public void When_FakeTarget_For_Mvc_Exists_Then_Returns_Target()
        {
            var aGuid = Guid.NewGuid();
            var aTarget = new FakeTarget(aGuid);

            var referenceFinderMock = new Mock<ITagTargetReferenceFinder>();
            referenceFinderMock
                .Setup(x => x.FindByTag(new Tag("Mvc"), typeof(FakeTarget)))
                .Returns(new List<TagTargetReference>() {
                    new TagTargetReference() { FullTypeName = typeof(FakeTarget).FullName, Id = aGuid }
                });

            var finderMock = new Mock<ITaggedTypeNameFinder>();

            var fakeLoaderMock = new Mock<ITagTargetLoader>();
            fakeLoaderMock
                .Setup(x => x.Load(aGuid))
                .Returns(aTarget);

            var loaderFactoryMock = new Mock<ITagTargetLoaderFactory>();
            loaderFactoryMock
                .Setup(x => x.GetLoader(typeof(FakeTarget).FullName))
                .Returns(fakeLoaderMock.Object);

            finderMock
                .Setup(x => x.FindTaggedTypeNames(new Tag("Mvc")))
                .Returns(new List<string>() { typeof(FakeTarget).FullName });

            var finder = new TagFinder(referenceFinderMock.Object, finderMock.Object, loaderFactoryMock.Object);
            var targets = finder.FindTaggedTargets(new Tag("Mvc"), typeof(FakeTarget));

            Assert.That(targets.Any());
        }
Beispiel #3
0
        public void When_No_Target_Exists_For_Mvc_Then_Returns_Empty_Type_List()
        {
            var referenceFinderMock = new Mock<ITagTargetReferenceFinder>();
            var finderMock = new Mock<ITaggedTypeNameFinder>();
            var loaderFactoryMock = new Mock<ITagTargetLoaderFactory>();

            finderMock
                .Setup(x => x.FindTaggedTypeNames(new Tag("Mvc")))
                .Returns(new List<string>());

            var targetFinder = new TagFinder(referenceFinderMock.Object, finderMock.Object, loaderFactoryMock.Object);

            List<Type> targetTypes = targetFinder.FindTaggedTypes(new Tag("Mvc"));

            Assert.That(targetTypes, Is.Empty);
        }