public void BackgroundPageMapper_WithRepeatAll_RepeatsAllPages(int numBackgroundPages, int[] expectedPages) { _backgroundSettings.Repetition = BackgroundRepetition.RepeatAllPages; var pageMapper = new BackgroundPageMapper(numBackgroundPages, _backgroundSettings, 0, 0); CollectionAssert.AreEqual(expectedPages, GetPageSequence(expectedPages.Length, pageMapper)); }
public void BackgroundPageMapper_WithRepeatLast_AddsLastPageAfterFirstIteration(int numBackgroundPages, int[] expectedPages) { _backgroundSettings.Repetition = BackgroundRepetition.RepeatLastPage; var pageMapper = new BackgroundPageMapper(numBackgroundPages, _backgroundSettings, 0, 0); CollectionAssert.AreEqual(expectedPages, GetPageSequence(expectedPages.Length, pageMapper)); }
public void GetBackgroundPage_ForInvalidPage_ThrowsArgumentException(int invalidPageNumber) { int numPages = 1; var pageMapper = new BackgroundPageMapper(1, new BackgroundPage(), 0, 0); int bgPage; Assert.Throws <ArgumentException>(() => pageMapper.GetBackgroundPageNumber(invalidPageNumber, numPages, out bgPage)); }
public void BackgroundPageMapper_WithRepeatAllAndSkipAttachment_RepeatsAllPagesWithoutAttachment(int numBackgroundPages, int[] expectedPages) { _backgroundSettings.Repetition = BackgroundRepetition.RepeatAllPages; _backgroundSettings.OnAttachment = false; var pageMapper = new BackgroundPageMapper(numBackgroundPages, _backgroundSettings, 0, 3); CollectionAssert.AreEqual(expectedPages, GetPageSequence(expectedPages.Length, pageMapper)); }
private int MapPage(int page, int numPages, BackgroundPageMapper mapper) { int bgPage; if (!mapper.GetBackgroundPageNumber(page, numPages, out bgPage)) { return(-1); } return(bgPage); }
private IEnumerable <int> GetPageSequence(int numPages, BackgroundPageMapper backgroundPageMapper) { return(Enumerable .Range(1, numPages) .Select(p => MapPage(p, numPages, backgroundPageMapper))); }