패스트캠퍼스 환급챌린지 50일차 : 9개 도메인 프로젝트로 끝내는 백엔드 웹 개발 (Java/Spring) 초격차 패키지 Online 강의 후기
이태우(1990년)2025. 4. 23. 23:31
본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성하였습니다.
공부 시작 시각 인증
공부 시작 시각 인증
수강 인증 사진
수강 인증 사진
Pageable.java
package org.fastcampus.common.domain;
import lombok.Getter;
import lombok.Setter;
@Getter
@Setter
public class Pageable {
private int pageIndex;
private int pageSize;
public Pageable() {
this.pageIndex = 1;
this.pageSize = 10;
}
public Pageable(int pageIndex, int pageSize) {
if (pageIndex < 1) {
throw new IllegalArgumentException("pageIndex must be greater than 0");
}
this.pageIndex = pageIndex;
this.pageSize = pageSize;
}
public int getOffset() {
return (pageIndex - 1) * pageSize;
}
public int getLimit() {
return pageSize;
}
}
PageableTest.java
package org.fastcampus.common.domain;
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.*;
class PageableTest {
@Test
void givenPageableIndexIsNull_whenGetOffset_thenShouldBeReturn0() {
// given
Pageable pageable = new Pageable();
// when
int offset = pageable.getOffset();
int limit = pageable.getLimit();
// then
assertEquals(0, offset);
assertEquals(10, limit);
}
@Test
void givenPageableIndexIs2Size10_whenGetOffset_thenShouldBeReturn10() {
// given
Pageable pageable = new Pageable(2, 10);
// when
int offset = pageable.getOffset();
int limit = pageable.getLimit();
// then
assertEquals(10, offset);
assertEquals(10, limit);
}
}