Test작성

Test작성 시 관례적으로 테스트 파일 + Test를 붙여 이름 지음

MemoryMemberRepositoryTest.kt

package com.study.springstudy.repository

import com.study.springstudy.domain.Member
import org.assertj.core.api.Assertions.*
import org.junit.jupiter.api.AfterEach
import org.junit.jupiter.api.Test
class MemoryMemberRepositoryTest {
    val repository: MemoryMemberRepository = MemoryMemberRepository();

    @AfterEach
    fun afterEach() {
        repository.clearStore()
    }

    @Test
    fun save() {
        val member: Member = Member(null, "SeungMin")

        repository.save(member)

        val result: Member? = repository.findById(member.id as Long)

        if(result is Member) {
            assertThat(member).isEqualTo(result)
        }
    }

    @Test
    fun findByName() {
        val member1:Member = Member(null, "SeungMin")
        repository.save(member1)

        val member2:Member = Member(null, "DaBin")
        repository.save(member2)

        val result: Member? = repository.findByName("SeungMin")
        assertThat(result).isEqualTo(member1)
    }

    @Test
    fun findAll() {
        val member1:Member = Member(null, "SeungMin")
        repository.save(member1)

        val member2:Member = Member(null, "DaBin")
        repository.save(member2)

        val result: List<Member> = repository.findAll()
        assertThat(result.size).isEqualTo(2)
    }

}