File tree 4 files changed +50
-4
lines changed
test/java/com/wonu606/storage
4 files changed +50
-4
lines changed Original file line number Diff line number Diff line change 2
2
3
3
import com .wonu606 .app .App ;
4
4
import com .wonu606 .calculator .storage .Persistence ;
5
+ import com .wonu606 .calculator .storage .ResultStore ;
5
6
import com .wonu606 .calculator .strategy .Strategy ;
6
7
import com .wonu606 .io .Input ;
7
8
import com .wonu606 .io .Print ;
9
+ import com .wonu606 .util .Message ;
8
10
import java .io .IOException ;
9
11
import java .util .ArrayList ;
10
12
import java .util .List ;
13
15
public class CalculatorApp implements App {
14
16
15
17
private final List <Strategy > strategies = new ArrayList <>();
16
- private final Persistence store ;
18
+ private final Persistence store = new ResultStore () ;
17
19
Input input ;
18
20
Print printer ;
19
21
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 5
5
6
6
import com .wonu606 .calculator .model .CalculationResult ;
7
7
import com .wonu606 .calculator .storage .Persistence ;
8
+ import com .wonu606 .calculator .storage .ResultStore ;
9
+ import com .wonu606 .util .Message ;
8
10
import java .util .ArrayList ;
9
11
import java .util .List ;
10
12
import org .junit .jupiter .api .BeforeEach ;
13
15
14
16
public class ResultStoreTest {
15
17
16
- private Persistence store ;
18
+ private Persistence store = new ResultStore () ;
17
19
18
20
@ BeforeEach
19
21
void setUp () {
@@ -49,7 +51,7 @@ void testFindNumberLessThan1() {
49
51
50
52
assertThatThrownBy (() -> store .findResult (0 ))
51
53
.isInstanceOf (IllegalArgumentException .class )
52
- .hasMessageContaining ("잘못된 순번입니다." );
54
+ .hasMessageContaining (Message . INVALID_ORDER );
53
55
}
54
56
55
57
@ Test
@@ -60,7 +62,7 @@ void testFindNumberMoreThanSize() {
60
62
61
63
assertThatThrownBy (() -> store .findResult (store .findAllResult ().size () + 1 ))
62
64
.isInstanceOf (IllegalArgumentException .class )
63
- .hasMessageContaining ("잘못된 순번입니다." );
65
+ .hasMessageContaining (Message . INVALID_ORDER );
64
66
}
65
67
66
68
@ Test
You can’t perform that action at this time.
0 commit comments