
ํ๋ก๊ทธ๋๋ฐ ์ด๋ก
ํ๋ก๊ทธ๋๋ฐ ์ด๋ก ์ ์๋ก์ด ๋ฌธ์ ๊ฐ ๋ฐ์ํด๋ ํด๊ฒฐ์ฑ ์ ์ฐพ์ ์ ์๋๋ก ๋์์ค๋ค.
์ค์ ํ๋ก๊ทธ๋๋ฐ์์๋ ๋๋ ฅ์ด ์กด์ฌํ๋ค.
1. ๊ฐ์น
- ๊ฐ์น๋ ๋ชจ๋ ํ๋ก๊ทธ๋๋ฐ์ ์ ์ฉ๋๋ค.
- ์ปค๋ฎค๋ํ ์ด์ , ์ ์ฐ์ฑ ๋ฑ ๋ชจ๋ ์์ฌ ๊ฒฐ์ ์ ์ํฅ์ ๋ฏธ์น๋ค.
2. ์์น
- ์ง์ ์ ์ฉํ๊ธฐ ์ด๋ ค์ด ๊ฐ์น์ , ์ง์ฝ ์ ์ธ ํจํด ์ฌ์ด์ ๊ฐ๊ต ์ญํ ์ ํ๋ค.
- ํจํด ์ค ํ๋๋ฅผ ์ ํํด์ผ ํ ๋ ์์น์ ๋ฐ๋ฅธ๋ค.
ํจํด์ ์ง๊ธ ๋น์ฅ ๋ฌด์์ ํด์ผํ ์ง๋ฅผ ์๋ ค์ฃผ๊ณ , ๊ฐ์น๋ ์ฌ์ฉํด์ผ ํ๋ ๋๊ธฐ๋ฅผ ์๋ ค์ฃผ๋ฉฐ, ์์น์ ๋๊ธฐ๋ฅผ ํ๋์ผ๋ก ์ด๋ป๊ฒ ๋ฐ๊ฟ์ง๋ฅผ ์๋ ค์ค๋ค.
๊ฐ์น
์ธ๊ฐ์ง ๊ฐ์น๋ ์๋ก ์ถฉ๋ํ๋ ๊ฒฝ์ฐ๋ ์์ง๋ง ์ํธ ๋ณด์์ ์ธ ๊ฒฝ์ฐ๊ฐ ๋ง๋ค.
์ปค๋ฎค๋์ผ์ด์
๋ค๋ฅธ ๊ฐ๋ฐ์๊ฐ ๋ดค์ ๋์ ๊ด์ ์ผ๋ก ์ฝ๋๋ฅผ ์์ฑํ๋ผ
์ฝ๋๋ฅผ ์ฝ๊ฒ ์ดํดํ๊ณ , ์์ ํ๊ณ , ์ฌ์ฉํ ์ ์์ด์ผํ๋ค
์ด๋ ๊ฒ ์์ฑํ๋ฉด ์ถํ ์ฝ๋ ์์ ์์ ๋ด๊ฐ ์ด ์ฝ๋๋ฅผ ์ฝ๊ฒ ์ดํดํ ์ ์์ผ๋ฏ๋ก, ๊ฐ๋ฐ ๋น์ฉ์ด ๊ฐ์ํ๋ค.
๋ํ ํ์ธ์ ์์ ์์ ์๊ฐํ๋ค๋ณด๋ฉด ๋ ๋ง์ ์๊ฐ์ ํ๊ธฐ ๋๋ฌธ์ ์ฝ๋์ ์ง์ด ์ข์์ง๋ค.
๋จ์์ฑ
๋ถํ์ํ ๋ณต์ก๋๋ ์ํํธ์จ์ด์ ์์ ์ ์ด๋ ต๊ฒ ํ๊ธฐ ๋๋ฌธ์ ํ๋ก๊ทธ๋จ์ ๊ฐ์น๊ฐ ๋จ์ด์ง๋ค.
์ฝ๋์์ ๋ถํ์ํ ๋ถ๋ถ์ ์ ๊ฑฐํ๋ผ.
๊ณผ๋ํ ์์์ ์๋ฏธ์๋ ์ฝ๋๋ฅผ ์ ๊ฑฐํ๋ฉด ํ๋ก๊ทธ๋จ์ ๋จ์์ฑ์ ๋์ผ ์ ์๋ค.
์ปค๋ฎค๋์ผ์ด์ ๊ณผ ๋จ์์ฑ์ ํ์ ๊ด๊ณ์ ์๋ค.
์ปค๋ฎค๋์ผ์ด์ ์ ์ ๊ฒฝ์ ์ธ์๋ก ์ด๋ค ๋ถ๋ถ์ด ๊ณผ๋ํ๊ฒ ๋ณต์กํ ์ง ์๊ธฐ ์ฌ์ฐ๋ฉฐ, ๋จ์ํ ์๋ก ์์คํ ์ ์ดํดํ๊ธฐ ์ฝ๋ค.
์ ์ฐ์ฑ
์ ์ฐ์ฑ์ ์ํด์ ๋ณต์กํ ์ค๊ณ๋ฅผ ์ ๋นํํ ์ ์๋ค.
ํ์ง๋ง ์ด๋ฌํ ๋ณต์ก๋๊ฐ ์๋ฌด๋ฐ ์ด๋์ ๊ฐ์ ธ์ค์ง ์๋๋ค๋ฉด ๋จ์์ฑ์ ์ ํํด์ผํ๋ค.
์ค๊ณ ์ด๊ธฐ ์ ์ฐ์ฑ์ด ํ์ํ๋ค๊ณ ์๊ฐํ๋, ์ดํ ํ์ํ ์ํฉ์ด ์ค์ง ์์ ์ ์๋ค.
๊ทธ๋ ๊ธฐ ๋๋ฌธ์ ์ด๊ธฐ ์ค๊ณ ๋น์ฉ์ ๋ถํ์ํ๊ฒ ์ฆ๊ฐ์ํค๋ ๊ฒ๋ณด๋ค ๋น์ฅ์ ์ด๋์ ์ ํํ๋ ๊ฒ์ด ์ข๋ค.
์ถ์ธก์ ์๊ฑฐํด ์ค๊ณ์ ์ ์ฐ์ฑ์ ๋ถ์ฌํ๊ธฐ ๋ณด๋จ ๋จ์์ฑ์ ์ ์ฐํ๊ฒ ์ ์ฉํํ ํ ์คํธ๋ฅผ ์ฒ ์ ํ๊ฒ ํ๋ ๊ฒ์ด ํจ๊ณผ์ ์ด๋ค.
๋จ์์ฑ์ ์ ์ฐ์ฑ์ ์ด์ง์ํจ๋ค. ์๋ฅผ ๋ค์ด ์ต์ ์ ์ ๊ฑฐํ๋ฉด ํ๋ก๊ทธ๋จ์ ์์ ์ ๋์ฑ ๊ฐ๋จํด์ง๋ค.
์ปค๋ฎค๋์ผ์ด์ ์ ์ค์ํ๋ฉด ์ฝ๋๋ฅผ ์ดํดํ๊ธฐ ์ฌ์์ง๋ฏ๋ก ์์ ์ด ์ฌ์์ง๋ค. ์ด๋ก์จ ์ ์ฐ์ฑ์ด ์ฆ๋๋๋ค.
์์น
๊ฐ ํจํด์ ๊ฐ์น ์ค ํ๋ ์ด์์ ๋ดํํ๊ณ ์๋ค.
์์น์ ์ผ๋ฐ์ ์ธ ์๊ฐ์ ๋ด๊ณ ์์ผ๋ฉฐ, ํจํด์ ๊ทผ๊ฐ์ ์ด๋ฃฌ๋ค.
์์น์ ๋ช ํํ๊ฒ ์๊ณ ์๋ค๋ฉด ์๋ก์ด ํจํด๋ค์ ๋ง๋ค์ด๋ผ ์ ์๋ค.
๋ํ ํจํด์ ์ฌ์ฉํ๋ ๊ทผ๋ณธ์ ์ธ ์ด์ ๋ฅผ ์ ์ ์๋ค.
์ง์ญ์ ๋ณํ
์ฝ๋๋ฅผ ์์ ํ ๋ ํจ๊ป ๋ฐ๊ฟ์ผํ๋ ๋ถ๋ถ์ ์ต์ํํ๋ผ
์ง์ญ์ ๋ณํ๋ง์ ์ผ์ผํค๋ ์ฝ๋๋ ์ปค๋ฎค๋์ผ์ด์ ์ด ์ฝ๋ค.
์ต์ ์ค๋ณต
์ค๋ณต๋ ์ฝ๋๊ฐ ๋ง์ ์๋ก ์ฝ๋์ ์์ ์ด ์ด๋ ค์์ง๋ค.
์ด๋ค ๊ฐ๋ ์ ์์ ํ์ ๋ ํด๋์ค๋ฅผ 2๊ฐ ์ด์ ์์ ํด์ผํ๋ค๋ฉด, ์ด๋ ์ง์ญ์ ๋ณํ์ ์์น์ ์๋ฐฐํ๋ค.
ํ์ง๋ง ์ฝ๋์ ์ค๋ณต์ ์ํฉ์ ๋ฐ๋ผ ๋ถ๊ฐํผํ ์ ์๋ค.
๋ฐ๋ผ์ ์ ๋์ ์ผ๋ก ํผํ๊ธฐ ๋ณด๋จ ์ํ ์์๋ก ๋ณด๋ ๊ฒ์ด ์ข๋ค.
๋ก์ง๊ณผ ๋ฐ์ดํฐ์ ๊ฒฐํฉ
๋ฐ์ดํฐ์ ๊ทธ ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌํ๋ ๋ก์ง์ ๊ฐ์ ๋ฉ์๋ , ๊ฐ์ ๊ฐ์ฒด , ๊ฐ์ ํจํค์ง ๋ด์ ๋ฐฐ์นํ๋ผ
์ด๋ ๊ฒ ํ๋ฉด ํ๋ก๊ทธ๋จ์ ์์ ํ๋๋ผ๋ ๊ทธ ์ํฅ์ด ์ผ์ ์์ญ์ ๋จธ๋ฌผ๊ฒ ๋๋ค.
๋์นญ์ฑ
๋์นญ์ฑ์ ๋ฐ๋ผ ์์ด๋์ด๋ฅผ ์ผ๊ด๋ ๋ฐฉ์์ผ๋ก ํํํ์
๋ฉ์๋๋ฅผ ํ๋์ ๊ตฌํ์ผ๋ก ํตํฉํ ์ ์์ด์ ์ค๋ณต์ ์ ๊ฑฐํ ์ ์๋ค.
void process() {
input();
tally(); // ์ผ์น์ํค๋ค
output();
}
์ ์ธ์ ํํ
์ํ ์์๊ฐ ์ค์ํ ๊ตฌ๋ฌธ์ด๋ ์กฐ๊ฑด๋ถ ๊ตฌ๋ฌธ์ด ์๋ ๊ฒฝ์ฐ, ์ ์ธ์ ํํ์ ํตํด ์ฝ๋๋ฅผ ์์ฑํ๋ ๊ฒ์ด ์ข๋ค.
(์๋ง ์ด๋ ธํ ์ด์ ์ธ ๋ฏ)
@RunWith(Suite.class)
@TestClasses({
SimpleTest.class,
ComplicatedTest.class
}
)
class AllTests {
}
์ด๋ฐ ๋ฐฉ์์ผ๋ก ๋ด๋ถ๋ฅผ ๋ณผ ํ์์์ด ์ฝ๊ธฐ ์ฌ์ด ์ฝ๋๋ฅผ ์์ฑํ ์ ์๋ค.
๋ณํ์จ
๋ก์ง๊ณผ ๋ฐ์ดํฐ๋ฅผ ํจ๊ป ๊ด๋ฆฌํ๊ณ ๋ณํ์จ์ด ๋ค๋ฅธ ๋ก์ง๊ณผ ๋ฐ์ดํฐ๋ฅผ ๋ถ๋ฆฌํ๋ผ
๋ณํ์จ์ ์๊ฐ์ ๋์นญ์ฑ์ ํด๋นํ๋ค.
ํ๋์ ๊ฐ์ฒด์ ์๋ ๋ชจ๋ ํ๋๋ ๊ฐ๊ธ์ ํจ๊ป ๋ณํด์ผํ๋ค.
ํน์ ๋ฉ์๋๊ฐ ์ํ๋ ๋๋ง ์ฌ์ฉ๋๋ ํ๋๋ ๊ทธ ๋ฉ์๋์ ์ง์ญ ๋ณ์๋ก ์ ์ธ๋์ด์ผํ๋ค.
์๋ฅผ ๋ค์ด ํจ๊ป ๋ณํํ๋ ๋ ๊ฐ์ ํ๋(value, currency)๊ฐ ์๋ค๋ฉด ํ๋์ ๋์ฐ๋ฏธ ๊ฐ์ฒด(Money)์ ๋ฃ๋ ๊ฒ์ด ์ข๋ค.
setAmount(Money value) {
this.money = money;
}
'๊ฐ๋ฐ ์์ > ์ผํธ๋ฐฑ ๊ตฌํ ํจํด' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
์ผํธ๋ฐฑ ๊ตฌํ ํจํด 9์ฅ - ์ปฌ๋ ์ (1) | 2023.10.09 |
---|---|
์ผํธ๋ฐฑ์ ๊ตฌํ ํจํด 7์ฅ - ํ์ (0) | 2023.10.02 |
์ผํธ๋ฐฑ์ ๊ตฌํํจํด 6์ฅ - ์ํ (1) | 2023.10.02 |
์ผํธ๋ฐฑ์ ๊ตฌํ ํจํด 5์ฅ - ํด๋์ค(2) (0) | 2023.09.08 |
์ผํธ๋ฐฑ์ ๊ตฌํ ํจํด 5์ฅ - ํด๋์ค(1) (0) | 2023.09.08 |