コード例 #1
0
        public PolymorphicSubLinkedSourcesTests()
        {
            var loadLinkProtocolBuilder = new LoadLinkProtocolBuilder();

            loadLinkProtocolBuilder.For <WithPolymorphicSubLinkedSource>()
            .LoadLinkPolymorphicList(
                linkedSource => linkedSource.Model.Subs,
                linkedSource => linkedSource.Subs,
                link => link.GetType(),
                includes => includes.Include <SubContentWithImageLinkedSource>().AsNestedLinkedSourceFromModel(
                    typeof(SubContentWithImage),
                    link => (SubContentWithImage)link,
                    (linkedSource, referenceIndex, childLinkedSource) =>
                    childLinkedSource.Contextualization = linkedSource.Model.Contextualizations[referenceIndex]
                    )
                .Include <SubContentWithoutReferencesLinkedSource>().AsNestedLinkedSourceFromModel(
                    typeof(SubContentWithoutReferences),
                    link => (SubContentWithoutReferences)link,
                    (linkedSource, referenceIndex, childLinkedSource) =>
                    childLinkedSource.Contextualization = linkedSource.Model.Contextualizations[referenceIndex]
                    )
                );

            loadLinkProtocolBuilder.For <SubContentWithImageLinkedSource>()
            .LoadLinkReferenceById(
                linkedSource => linkedSource.Model.ImageId,
                linkedSource => linkedSource.Image);

            _sut = loadLinkProtocolBuilder.Build(() => new ReferenceLoaderStub());
        }
コード例 #2
0
        public PolymorphicSubLinkedSourceTests()
        {
            var loadLinkProtocolBuilder = new LoadLinkProtocolBuilder();

            loadLinkProtocolBuilder.For <LinkedSource>()
            .LoadLinkPolymorphic(
                linkedSource => linkedSource.Model.Target,
                linkedSource => linkedSource.Target,
                link => link.Type,
                includes => includes.Include <PdfReferenceLinkedSource>().AsNestedLinkedSourceFromModel(
                    "pdf",
                    link => link,
                    (linkedSource, referenceIndex, childLinkedSource) =>
                    childLinkedSource.Contextualization = "From the level below:" + linkedSource.Model.Id
                    )
                .Include <WebPageReferenceLinkedSource>().AsNestedLinkedSourceFromModel(
                    "web-page",
                    link => link.GetAsBlogPostReference()
                    )
                );

            loadLinkProtocolBuilder.For <WebPageReferenceLinkedSource>()
            .LoadLinkReferenceById(
                linkedSource => linkedSource.Model.ImageId,
                linkedSource => linkedSource.Image);

            _sut = loadLinkProtocolBuilder.Build(() => new ReferenceLoaderStub());
        }
コード例 #3
0
        public PolymorphicNestedLinkedSourcesTests()
        {
            var loadLinkProtocolBuilder = new LoadLinkProtocolBuilder();

            loadLinkProtocolBuilder.For <WithNestedPolymorphicContentsLinkedSource>()
            .LoadLinkPolymorphicList(
                linkedSource => linkedSource.Model.ContentContextualizations,
                linkedSource => linkedSource.Contents,
                link => link.ContentType,
                includes => includes.Include <PersonWithoutContextualizationLinkedSource>().AsNestedLinkedSourceById(
                    "person",
                    link => (string)link.Id)
                .Include <ImageWithContextualizationLinkedSource>().AsNestedLinkedSourceById(
                    "image",
                    link => (string)link.Id,
                    (linkedSource, referenceIndex, childLinkedSource) =>
            {
                var contextualization = linkedSource.Model.ContentContextualizations[referenceIndex];
                childLinkedSource.ContentContextualization = contextualization;
            }
                    )
                );

            _sut = loadLinkProtocolBuilder.Build(() => new ReferenceLoaderStub());
        }
        public PolymorphicList_WithDependenciesBetweenItemsTests()
        {
            var loadLinkProtocolBuilder = new LoadLinkProtocolBuilder();

            loadLinkProtocolBuilder.For <LinkedSource>()
            .LoadLinkPolymorphicList(
                linkedSource => linkedSource.Model.PolyLinks,
                linkedSource => linkedSource.PolyLinks,
                link => link.Type,
                includes => includes.Include <Image>().AsReferenceById(
                    "image",
                    link => link.Id
                    )
                .Include <PersonLinkedSource>().AsNestedLinkedSourceById(
                    "person",
                    link => link.Id
                    )
                );
            loadLinkProtocolBuilder.For <PersonLinkedSource>()
            .LoadLinkReferenceById(
                linkedSource => linkedSource.Model.SummaryImageId,
                linkedSource => linkedSource.SummaryImage);

            _sut = loadLinkProtocolBuilder.Build(() => new ReferenceLoaderStub());
        }
コード例 #5
0
        public PolymorphicMixtedTests()
        {
            var loadLinkProtocolBuilder = new LoadLinkProtocolBuilder();

            loadLinkProtocolBuilder.For <LinkedSource>()
            .LoadLinkPolymorphic(
                linkedSource => linkedSource.Model.TargetReference,
                linkedSource => linkedSource.Target,
                link => link.GetType(),
                includes => includes.Include <Person>().AsReferenceById(
                    typeof(int),
                    link => link.ToString()
                    )
                .Include <PersonLinkedSource>().AsNestedLinkedSourceById(
                    typeof(string),
                    link => link.ToString()
                    )
                .Include <PersonLinkedSource>().AsNestedLinkedSourceFromModel(
                    typeof(Person),
                    link => (Person)link
                    )
                );
            loadLinkProtocolBuilder.For <PersonLinkedSource>()
            .LoadLinkReferenceById(
                linkedSource => linkedSource.Model.SummaryImageId,
                linkedSource => linkedSource.SummaryImage);

            _sut = loadLinkProtocolBuilder.Build(() => new ReferenceLoaderStub());
        }
コード例 #6
0
ファイル: DebugModeTests.cs プロジェクト: fynnen/LinkIt
        public DebugModeTests()
        {
            var loadLinkProtocolBuilder = new LoadLinkProtocolBuilder();

            loadLinkProtocolBuilder.For <BlogPostLinkedSource>()
            .LoadLinkNestedLinkedSourceById(
                linkedSource => linkedSource.Model.AuthorId,
                linkedSource => linkedSource.Author)
            .LoadLinkNestedLinkedSourceById(
                linkedSource => linkedSource.Model.MediaId,
                linkedSource => linkedSource.Media);
            loadLinkProtocolBuilder.For <PersonLinkedSource>()
            .LoadLinkReferenceById(
                linkedSource => linkedSource.Model.SummaryImageId,
                linkedSource => linkedSource.SummaryImage);
            loadLinkProtocolBuilder.For <MediaLinkedSource>()
            .LoadLinkReferenceById(
                linkedSource => linkedSource.Model.SummaryImageId,
                linkedSource => linkedSource.SummaryImage);

            var blogPostConfig = new ReferenceTypeConfig <BlogPost, string>(
                ids => ids.Select(GetBlogPost),
                reference => reference.Id
                );

            _sut = loadLinkProtocolBuilder.Build(() => new ReferenceLoaderStub(blogPostConfig));
        }
コード例 #7
0
        public LoadLinkPrimitiveModelTests()
        {
            var loadLinkProtocolBuilder = new LoadLinkProtocolBuilder();

            loadLinkProtocolBuilder.For <PrimitiveLinkedSource>()
            .LoadLinkReferenceById(
                linkedSource => linkedSource.Model,
                linkedSource => linkedSource.Media);
            _sut = loadLinkProtocolBuilder.Build(() => new ReferenceLoaderStub());
        }
コード例 #8
0
        public LoadLinkModelTests()
        {
            var loadLinkProtocolBuilder = new LoadLinkProtocolBuilder();

            loadLinkProtocolBuilder.For <SingleReferenceLinkedSource>()
            .LoadLinkReferenceById(
                linkedSource => linkedSource.Model.SummaryImageId,
                linkedSource => linkedSource.SummaryImage);
            _sut = loadLinkProtocolBuilder.Build(() => new ReferenceLoaderStub());
        }
コード例 #9
0
        public OptionalReferenceTests()
        {
            var loadLinkProtocolBuilder = new LoadLinkProtocolBuilder();

            loadLinkProtocolBuilder.For <LinkedSource>()
            .LoadLinkReferenceById(
                linkedSource => linkedSource.Model.MediaId,
                linkedSource => linkedSource.Media
                );

            _sut = loadLinkProtocolBuilder.Build(() => new ReferenceLoaderStub());
        }
コード例 #10
0
        public MultipleReferencesTypeTests()
        {
            var loadLinkProtocolBuilder = new LoadLinkProtocolBuilder();

            loadLinkProtocolBuilder.For <MultipleReferencesTypeLinkedSource>()
            .LoadLinkReferenceById(
                linkedSource => linkedSource.Model.SummaryImageId,
                linkedSource => linkedSource.SummaryImage)
            .LoadLinkReferenceById(
                linkedSource => linkedSource.Model.AuthorId,
                linkedSource => linkedSource.Author);

            _sut = loadLinkProtocolBuilder.Build(() => new ReferenceLoaderStub());
        }
コード例 #11
0
        public NestedLinkedSourcesTests()
        {
            var loadLinkProtocolBuilder = new LoadLinkProtocolBuilder();

            loadLinkProtocolBuilder.For <NestedLinkedSources>()
            .LoadLinkNestedLinkedSourcesByIds(
                linkedSource => linkedSource.Model.AuthorIds,
                linkedSource => linkedSource.Authors);
            loadLinkProtocolBuilder.For <PersonLinkedSource>()
            .LoadLinkReferenceById(
                linkedSource => linkedSource.Model.SummaryImageId,
                linkedSource => linkedSource.SummaryImage);

            _sut = loadLinkProtocolBuilder.Build(() => new ReferenceLoaderStub());
        }
コード例 #12
0
ファイル: ManyReferencesTests.cs プロジェクト: fynnen/LinkIt
        public ManyReferencesTests()
        {
            var loadLinkProtocolBuilder = new LoadLinkProtocolBuilder();

            loadLinkProtocolBuilder.For <ManyReferencesLinkedSource>()
            .LoadLinkReferenceById(
                linkedSource => linkedSource.Model.SummaryImageId,
                linkedSource => linkedSource.SummaryImage)
            .LoadLinkReferenceById(
                linkedSource => linkedSource.Model.AuthorImageId,
                linkedSource => linkedSource.AuthorImage)
            .LoadLinkReferencesByIds(
                linkedSource => linkedSource.Model.FavoriteImageIds,
                linkedSource => linkedSource.FavoriteImages);

            _sut = loadLinkProtocolBuilder.Build(() => new ReferenceLoaderStub());
        }
コード例 #13
0
        public NestedLinkedSourceTests()
        {
            var loadLinkProtocolBuilder = new LoadLinkProtocolBuilder();

            loadLinkProtocolBuilder.For <NestedLinkedSource>()
            .LoadLinkNestedLinkedSourceById(
                linkedSource => linkedSource.Model.AuthorDetailId,
                linkedSource => linkedSource.AuthorDetail)
            .LoadLinkReferenceById(
                linkedSource => linkedSource.Model.ClientSummaryId,
                linkedSource => linkedSource.ClientSummary);

            loadLinkProtocolBuilder.For <PersonLinkedSource>()
            .LoadLinkReferenceById(
                linkedSource => linkedSource.Model.SummaryImageId,
                linkedSource => linkedSource.SummaryImage);

            _referenceLoaderStub = new ReferenceLoaderStub();
            _sut = loadLinkProtocolBuilder.Build(() => _referenceLoaderStub);
        }
コード例 #14
0
        public PolymorphicReferencesTests()
        {
            var loadLinkProtocolBuilder = new LoadLinkProtocolBuilder();

            loadLinkProtocolBuilder.For <LinkedSource>()
            .LoadLinkPolymorphicList(
                linkedSource => linkedSource.Model.Target,
                linkedSource => linkedSource.Target,
                link => link.Type,
                includes => includes.Include <Image>().AsReferenceById(
                    "image",
                    link => link.Id
                    )
                .Include <Person>().AsReferenceById(
                    "person",
                    link => link.Id
                    )
                );

            _sut = loadLinkProtocolBuilder.Build(() => new ReferenceLoaderStub());
        }
コード例 #15
0
        public SubLinkedSourceTests()
        {
            var loadLinkProtocolBuilder = new LoadLinkProtocolBuilder();

            loadLinkProtocolBuilder.For <SubContentOwnerLinkedSource>()
            .LoadLinkNestedLinkedSourceFromModel(
                linkedSource => linkedSource.Model.SubContent,
                linkedSource => linkedSource.SubContent)
            .LoadLinkNestedLinkedSourceFromModel(
                linkedSource => linkedSource.Model.SubSubContent,
                linkedSource => linkedSource.SubSubContent);
            loadLinkProtocolBuilder.For <SubContentLinkedSource>()
            .LoadLinkNestedLinkedSourceFromModel(
                linkedSource => linkedSource.Model.SubSubContent,
                linkedSource => linkedSource.SubSubContent);
            loadLinkProtocolBuilder.For <SubSubContentLinkedSource>()
            .LoadLinkReferenceById(
                linkedSource => linkedSource.Model.SummaryImageId,
                linkedSource => linkedSource.SummaryImage);

            _sut = loadLinkProtocolBuilder.Build(() => new ReferenceLoaderStub());
        }