package fitnesse.components;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;
import static org.mockito.Matchers.any;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
import java.util.ArrayList;
import java.util.List;
import org.junit.Before;
import fitnesse.wiki.InMemoryPage;
import fitnesse.wiki.PageCrawler;
import fitnesse.wiki.PathParser;
import fitnesse.wiki.WikiPage;
public class CompositePageFinderTestCase {
protected PageFinder delegate;
protected CompositePageFinder sut;
protected WikiPage page;
PageCrawler crawler;
protected WikiPage pageOne;
protected WikiPage pageTwo;
protected WikiPage pageThree;
public CompositePageFinderTestCase() {
super();
}
@Before
public void init() throws Exception {
delegate = mock(PageFinder.class);
page = InMemoryPage.makeRoot("RooT");
crawler = page.getPageCrawler();
pageOne = crawler.addPage(page, PathParser.parse("PageOne"), "this is page one ^ChildPage");
pageTwo = crawler.addPage(page, PathParser.parse("PageTwo"), "I am Page Two my brother is PageOne . SomeMissingPage");
pageThree = crawler.addPage(page, PathParser.parse("PageThree"), "This is !-PageThree-!, I Have \n!include PageTwo");
crawler.addPage(pageTwo, PathParser.parse("ChildPage"), "I will be a virtual page to .PageOne ");
}
protected void setupMockWithEmptyReturnValue() throws Exception {
when(delegate.search(any(WikiPage.class))).thenReturn(
new ArrayList<WikiPage>());
}
protected List<WikiPage> setupWikiPageList(WikiPage... pages) {
List<WikiPage> returned = new ArrayList<WikiPage>();
for (WikiPage page : pages) {
returned.add(page);
}
return returned;
}
protected void assertFoundResultsEqualsExpectation(List<WikiPage> expected2, List<WikiPage> results) {
assertEquals(expected2.size(), results.size());
assertTrue(results.containsAll(expected2));
}
}