### Question:
PaginationTemplateFactory { public PageSizeTemplate createPageSizeTemplate(Pagination pagination) { Preconditions.checkNotNull(pagination); return createPageSizeTemplate(pagination, defaultMinPageSize, defaultMaxPageSize); }  PageNumberTemplate createPageNumberTemplate(Pagination pagination); PageSizeTemplate createPageSizeTemplate(Pagination pagination); PageSizeTemplate createPageSizeTemplate(Pagination pagination, int minPageSize, int maxPageSize); void setDefaultMaxPageSize(int defaultMaxPageSize); void setDefaultMinPageSize(int defaultMinPageSize);  }### Answer:
@Test public void createPageSizeTemplate_DEFAULT_MIN_MAX() { Pagination pagination = new Pagination(20, 2); PageSizeTemplate pageSizeTemplate = paginationTemplateFactory.createPageSizeTemplate(pagination); assertEquals(new PageSizeTemplate(20, 10, 100), pageSizeTemplate); }
@Test public void createPageSizeTemplate_OVERRIDDEN_MIN_MAX() { Pagination pagination = new Pagination(20, 2); PageSizeTemplate pageSizeTemplate = paginationTemplateFactory.createPageSizeTemplate(pagination, 5, 200); assertEquals(new PageSizeTemplate(20, 5, 200), pageSizeTemplate); }
@Test(expected = NullPointerException.class) public void createPageSizeTemplate_NULL_CHECK() { paginationTemplateFactory.createPageSizeTemplate(null); }
@Test(expected = NullPointerException.class) public void createPageSizeTemplate_OVERRIDDEN_MIN_MAX_NULL_CHECK() { paginationTemplateFactory.createPageSizeTemplate(null, 1, 10); }
@Test(expected = IllegalArgumentException.class) public void createPageSizeTemplate_MIN_GREATER_THAN_MAX() { Pagination pagination = new Pagination(20, 2); paginationTemplateFactory.createPageSizeTemplate(pagination, 100, 50); }