package com.jaspersoft.jasperserver.jaxrs.client.apiadapters.reporting;
import org.mockito.internal.util.reflection.Whitebox;
import org.powermock.api.mockito.PowerMockito;
import org.powermock.core.classloader.annotations.PrepareForTest;
import org.powermock.modules.testng.PowerMockTestCase;
import org.testng.annotations.Test;
import static org.testng.Assert.assertEquals;
import static org.testng.Assert.assertSame;
import static org.testng.Assert.assertTrue;
@PrepareForTest(PageRange.class)
public class PageRangeTest extends PowerMockTestCase {
@Test
public void should_set_fields_with_proper_params() throws Exception {
/* Given */
PageRange rangeSpy = PowerMockito.spy(new PageRange(10L, 20L));
PowerMockito.whenNew(PageRange.class).withArguments(10L, 20L).thenReturn(rangeSpy);
/* When */
PageRange retrieved = new PageRange(10L, 20L);
/* Then */
long startIndex = (Long) Whitebox.getInternalState(retrieved, "startIndex");
long endIndex = (Long) Whitebox.getInternalState(retrieved, "endIndex");
assertSame(retrieved, rangeSpy);
assertTrue(startIndex == 10L);
assertTrue(endIndex == 20L);
}
@Test
public void should_return_proper_string_when_startIndex_is_diff_Then_endIndex() {
PageRange range = new PageRange(10L, 20L);
String retrieved = range.getRange();
assertEquals(retrieved, "10-20");
}
@Test
public void should_return_proper_string_when_startIndex_is_the_same_as_endIndex() {
PageRange range = new PageRange(250L, 250L);
String retrieved = range.getRange();
assertEquals(retrieved, "250");
}
}