본문 바로가기

패스트캠퍼스

패스트캠퍼스 환급챌린지 50일차 : 9개 도메인 프로젝트로 끝내는 백엔드 웹 개발 (Java/Spring) 초격차 패키지 Online 강의 후기

본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성하였습니다.

공부 시작 시각 인증

공부 시작 시각 인증

수강 인증 사진

수강 인증 사진

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);
    }
}

학습 인증샷

학습 인증샷

공부 종료 시각 인증

공부 종료 시각 인증

https://bit.ly/4hTSJNB