File tree Expand file tree Collapse file tree 4 files changed +50
-4
lines changed
test/java/com/wonu606/storage Expand file tree Collapse file tree 4 files changed +50
-4
lines changed Original file line number Diff line number Diff line change 22
33import com .wonu606 .app .App ;
44import com .wonu606 .calculator .storage .Persistence ;
5+ import com .wonu606 .calculator .storage .ResultStore ;
56import com .wonu606 .calculator .strategy .Strategy ;
67import com .wonu606 .io .Input ;
78import com .wonu606 .io .Print ;
9+ import com .wonu606 .util .Message ;
810import java .io .IOException ;
911import java .util .ArrayList ;
1012import java .util .List ;
1315public class CalculatorApp implements App {
1416
1517 private final List <Strategy > strategies = new ArrayList <>();
16- private final Persistence store ;
18+ private final Persistence store = new ResultStore () ;
1719 Input input ;
1820 Print printer ;
1921
Original file line number Diff line number Diff line change 1+ package com .wonu606 .calculator .storage ;
2+
3+ import com .wonu606 .calculator .model .CalculationResult ;
4+ import com .wonu606 .util .Message ;
5+ import java .util .ArrayList ;
6+ import java .util .Arrays ;
7+ import java .util .List ;
8+
9+ public class ResultStore implements Persistence {
10+
11+ private final List <CalculationResult > store = new ArrayList <>();
12+
13+ @ Override
14+ public void saveResult (CalculationResult calculationResult ) {
15+ store .add (calculationResult );
16+ }
17+
18+ @ Override
19+ public CalculationResult findResult (int sequence ) {
20+ try {
21+ return store .get (sequence - 1 );
22+ } catch (IndexOutOfBoundsException exception ) {
23+ throw new IllegalArgumentException (Message .INVALID_ORDER );
24+ }
25+ }
26+
27+ @ Override
28+ public List <CalculationResult > findAllResult () {
29+ return new ArrayList <>(store );
30+ }
31+
32+ @ Override
33+ public void clear () {
34+ store .clear ();
35+ }
36+ }
Original file line number Diff line number Diff line change 1+ package com .wonu606 .util ;
2+
3+ public abstract class Message {
4+ public static final String INVALID_ORDER = "잘못된 순번입니다." ;
5+ public static final String INVALID_NUMBER = "잘못된 번호입니다." ;
6+ }
Original file line number Diff line number Diff line change 55
66import com .wonu606 .calculator .model .CalculationResult ;
77import com .wonu606 .calculator .storage .Persistence ;
8+ import com .wonu606 .calculator .storage .ResultStore ;
9+ import com .wonu606 .util .Message ;
810import java .util .ArrayList ;
911import java .util .List ;
1012import org .junit .jupiter .api .BeforeEach ;
1315
1416public class ResultStoreTest {
1517
16- private Persistence store ;
18+ private Persistence store = new ResultStore () ;
1719
1820 @ BeforeEach
1921 void setUp () {
@@ -49,7 +51,7 @@ void testFindNumberLessThan1() {
4951
5052 assertThatThrownBy (() -> store .findResult (0 ))
5153 .isInstanceOf (IllegalArgumentException .class )
52- .hasMessageContaining ("잘못된 순번입니다." );
54+ .hasMessageContaining (Message . INVALID_ORDER );
5355 }
5456
5557 @ Test
@@ -60,7 +62,7 @@ void testFindNumberMoreThanSize() {
6062
6163 assertThatThrownBy (() -> store .findResult (store .findAllResult ().size () + 1 ))
6264 .isInstanceOf (IllegalArgumentException .class )
63- .hasMessageContaining ("잘못된 순번입니다." );
65+ .hasMessageContaining (Message . INVALID_ORDER );
6466 }
6567
6668 @ Test
You can’t perform that action at this time.
0 commit comments