public async Task Setup()
 {
     _part    = 2;
     Iterator = new Mock <IPartialCollectionIterator>(MockBehavior.Strict);
     Iterator.SetupGet(_ => _.FirstPartIri).Returns(() => new Iri($"page:{_part = 1}"));
     Iterator.SetupGet(_ => _.LastPartIri).Returns(() => new Iri($"page:{_part = 4}"));
     Iterator.SetupGet(_ => _.CurrentPartIri).Returns(() => MakePartIri(0));
     Iterator.SetupGet(_ => _.NextPartIri).Returns(() => MakePartIri(1));
     Iterator.SetupGet(_ => _.PreviousPartIri).Returns(() => MakePartIri(-1));
     Iterator.Setup(_ => _.GetFirstPart()).ReturnsAsync(new[] { Resource.Of <IResource>(new Iri("item:1")).Object });
     Iterator.Setup(_ => _.GetLastPart()).ReturnsAsync(new[] { Resource.Of <IResource>(new Iri("item:4")).Object });
     InitialCollection = new Mock <ICollection>(MockBehavior.Strict);
     InitialCollection.SetupGet(_ => _.Iri).Returns(new Iri("collection"));
     InitialCollection.SetupGet(_ => _.Members).Returns(new HashSet <IResource>()
     {
         Resource.Of <IResource>(new Iri("item:2")).Object
     });
     InitialCollection.SetupGet(_ => _.View).Returns(() => Resource.Of <IPartialCollectionView>(new Iri($"page:{_part}")).Object);
     InitialCollection.Setup(_ => _.GetIterator()).Returns(Iterator.Object);
     Crawler = PartialCollectionCrawler.From(InitialCollection.Object);
     ScenarioSetup();
     await TheTest();
 }
Example #2
0
 public async Task should_follow_all_links_and_gather_all_members()
 {
     (await PartialCollectionCrawler.From(People).GetMembers()).Should().HaveCount(2);
 }