Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[개발자 비상근무] 리나 미션 제출합니다. #20

Open
wants to merge 6 commits into
base: leena-main
Choose a base branch
from
Open
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
test: for work order and week test
1jeongg committed Mar 12, 2024

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
commit 4be7b1b38883831cd18caf342ea0c2f17fc11c89
24 changes: 24 additions & 0 deletions kotlin-oncall/src/test/kotlin/oncall/WorkOrderServiceTest.kt
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
package oncall

import oncall.data.OncallInformationDTO
import oncall.data.Week
import org.junit.jupiter.api.Assertions.assertEquals
import org.junit.jupiter.api.Test

class WorkOrderServiceTest {

@Test
fun `근무자 순서 정하기` () {
val weekdayWorker = listOf("준팍","도밥","고니","수아","루루","글로","솔로스타","우코","슬링키","참새","도리")
val holidayWorker = listOf("수아","루루","글로","솔로스타","우코","슬링키","참새","도리","준팍","도밥","고니")

val oncallInformationDTO = OncallInformationDTO(5, Week.MONDAY, weekdayWorker, holidayWorker)
val result = WorkOrderService(oncallInformationDTO).getWorkerList()
val expected = listOf("준팍", "도밥", "고니", "수아", "루루", "수아", "글로", "루루", "글로")

for (index in expected.indices) {
assertEquals(expected[index], result[index])
}
}

}
17 changes: 4 additions & 13 deletions kotlin-oncall/src/test/kotlin/oncall/util/ValidationTest.kt
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package oncall.util

import oncall.data.Week
import org.assertj.core.api.Assertions.assertThatNoException
import org.junit.jupiter.api.Test
import org.junit.jupiter.api.assertThrows
@@ -14,7 +15,7 @@ class ValidationTest {
fun `배정 월, 시작요일 유효성 체크 성공`() {
val size = 2
val month = 1
val week = "월"
val week = Week.MONDAY
validationChecker.checkDate(size, month, week)
assertThatNoException()
}
@@ -24,7 +25,7 @@ class ValidationTest {
assertThrows<IllegalArgumentException> {
val size = 3
val month = 1
val week = "월"
val week = Week.MONDAY
validationChecker.checkDate(size, month, week)
}
}
@@ -34,17 +35,7 @@ class ValidationTest {
assertThrows<IllegalArgumentException> {
val size = 2
val month = 0
val week = "월"
validationChecker.checkDate(size, month, week)
}
}

@Test
fun `배정 월, 시작요일 유효성 체크 실패 - 시작 요일 문제`() {
assertThrows<IllegalArgumentException> {
val size = 2
val month = 2
val week = "안녕"
val week = Week.MONDAY
validationChecker.checkDate(size, month, week)
}
}
72 changes: 72 additions & 0 deletions kotlin-oncall/src/test/kotlin/oncall/util/WeekTest.kt
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
package oncall.util

import oncall.data.Week
import oncall.data.Week.Companion.getWeek
import oncall.data.Week.Companion.isHoliday
import org.junit.jupiter.api.Assertions.*
import org.junit.jupiter.api.Test

class WeekTest {

@Test
fun `isHoliday - 시작 요일 월`() {
val startWeek = Week.MONDAY

assertFalse(startWeek.isHoliday(1))
assertFalse(startWeek.isHoliday(2))
assertFalse(startWeek.isHoliday(3))
assertFalse(startWeek.isHoliday(4))
assertFalse(startWeek.isHoliday(5))
assertTrue(startWeek.isHoliday(6))
assertTrue(startWeek.isHoliday(7))
assertFalse(startWeek.isHoliday(8))
}

@Test
fun `isHoliday - 시작 요일 일`() {
val startWeek = Week.SUNDAY

assertTrue(startWeek.isHoliday(1))
assertFalse(startWeek.isHoliday(2))
assertFalse(startWeek.isHoliday(3))
assertFalse(startWeek.isHoliday(4))
assertFalse(startWeek.isHoliday(5))
assertFalse(startWeek.isHoliday(6))
assertTrue(startWeek.isHoliday(7))
assertTrue(startWeek.isHoliday(8))
}

@Test
fun `isHoliday - 시작 요일 금`() {
val startWeek = Week.FRIDAY

assertFalse(startWeek.isHoliday(1))
assertTrue(startWeek.isHoliday(2))
assertTrue(startWeek.isHoliday(3))
assertFalse(startWeek.isHoliday(4))
assertFalse(startWeek.isHoliday(5))
assertFalse(startWeek.isHoliday(6))
assertFalse(startWeek.isHoliday(7))
assertFalse(startWeek.isHoliday(8))
}

@Test
fun `getWeek - 요일`() {
val startWeek = Week.MONDAY
val month = 4
val weekList = listOf("월", "화", "수", "목", "금", "토", "일", "월")
for (date in 1..8) {
val result = startWeek.getWeek(month, date)
assertEquals(weekList[date-1], result)
}
}

@Test
fun `getWeek - 휴일`() {
val startWeek = Week.SUNDAY
val month = 5
val date = 5
val result = startWeek.getWeek(month, date)
assertEquals("목(휴일)", result)
}
}