18
18
package com .navercorp .fixturemonkey .junit .jupiter .extension ;
19
19
20
20
import static org .assertj .core .api .BDDAssertions .then ;
21
- import static org .junit .jupiter .api .Assertions .assertAll ;
22
- import static org .junit .jupiter .api .Assertions .assertEquals ;
23
- import static org .junit .jupiter .api .Assertions .assertNotNull ;
24
- import static org .junit .jupiter .api .Assertions .assertTrue ;
25
21
26
- import java .util .Collections ;
22
+ import java .util .Arrays ;
27
23
import java .util .HashSet ;
28
24
import java .util .List ;
29
25
import java .util .Set ;
30
26
31
- import javax .validation .constraints .NotBlank ;
32
- import javax .validation .constraints .NotNull ;
33
-
34
- import org .junit .jupiter .api .AfterEach ;
35
- import org .junit .jupiter .api .BeforeAll ;
36
27
import org .junit .jupiter .api .RepeatedTest ;
37
- import org .junit .jupiter .api .Test ;
38
28
import org .junit .jupiter .api .extension .ExtendWith ;
39
- import org .slf4j .Logger ;
40
- import org .slf4j .LoggerFactory ;
41
-
42
- import ch .qos .logback .classic .Level ;
43
- import ch .qos .logback .classic .LoggerContext ;
44
- import ch .qos .logback .classic .spi .ILoggingEvent ;
45
- import ch .qos .logback .core .read .ListAppender ;
46
- import lombok .Data ;
47
29
48
30
import com .navercorp .fixturemonkey .FixtureMonkey ;
49
31
import com .navercorp .fixturemonkey .api .type .TypeReference ;
52
34
@ ExtendWith (FixtureMonkeySeedExtension .class )
53
35
class FixtureMonkeySeedExtensionTest {
54
36
private static final FixtureMonkey SUT = FixtureMonkey .create ();
55
- private static ListAppender <ILoggingEvent > EVENT_APPENDER ;
56
-
57
- @ BeforeAll
58
- static void setup () {
59
- LoggerContext loggerContext = (LoggerContext )LoggerFactory .getILoggerFactory ();
60
-
61
- EVENT_APPENDER = new ListAppender <>();
62
- EVENT_APPENDER .setContext (loggerContext );
63
- EVENT_APPENDER .start ();
64
-
65
- loggerContext .getLogger (Logger .ROOT_LOGGER_NAME ).addAppender (EVENT_APPENDER );
66
- loggerContext .getLogger (Logger .ROOT_LOGGER_NAME ).setLevel (Level .ERROR );
67
-
68
- }
69
-
70
- @ AfterEach
71
- void tearDown () {
72
- EVENT_APPENDER .list .clear ();
73
- }
74
-
75
- @ Seed (1234L )
76
- @ Test
77
- void testWithSeed () {
78
- boolean logFound = false ;
79
- try {
80
- Product product = SUT .giveMeBuilder (Product .class )
81
- .set ("id" , 1000L )
82
- .set ("productName" , "Book" )
83
- .sample ();
84
-
85
- assertAll (
86
- () -> assertNotNull (product ),
87
- () -> assertEquals (2000L , (long )product .getId ()),
88
- () -> assertEquals ("Computer" , product .getProductName ())
89
- );
90
- } catch (AssertionError e ) {
91
- List <ILoggingEvent > logs = EVENT_APPENDER .list ;
92
- logFound = logs .stream ()
93
- .anyMatch (event -> event .getFormattedMessage ()
94
- .contains ("Test Method [testWithSeed] failed with seed: " ));
95
- }
96
- assertTrue (logFound , "Expected log message found." );
97
- }
98
37
99
38
@ Seed (1 )
100
39
@ RepeatedTest (100 )
101
40
void seedReturnsSame () {
102
- String expected = "섨ꝓ仛禦催ᘓ蓊類౺阹瞻塢飖獾ࠒ⒐፨婵얎⽒竻·俌欕悳잸횑ٻ킐結 " ;
41
+ String expected = "✠ 섨ꝓ仛禦催ᘓ蓊類౺阹瞻塢飖獾ࠒ⒐፨" ;
103
42
104
43
String actual = SUT .giveMeOne (String .class );
105
44
@@ -109,7 +48,7 @@ void seedReturnsSame() {
109
48
@ Seed (1 )
110
49
@ RepeatedTest (100 )
111
50
void latterValue () {
112
- String expected = "聩ዡ㘇뵥刲禮ᣮ鎊熇捺셾壍Ꜻꌩ垅凗❉償粐믩࠱哠횛 " ;
51
+ String expected = "欕悳잸 " ;
113
52
SUT .giveMeOne (String .class );
114
53
115
54
String actual = SUT .giveMeOne (String .class );
@@ -120,7 +59,10 @@ void latterValue() {
120
59
@ Seed (1 )
121
60
@ RepeatedTest (100 )
122
61
void containerReturnsSame () {
123
- List <String > expected = Collections .singletonList ("仛禦催ᘓ蓊類౺阹瞻塢飖獾ࠒ⒐፨婵얎⽒竻·俌欕悳잸횑ٻ킐結" );
62
+ List <String > expected = Arrays .asList (
63
+ "仛禦催ᘓ蓊類౺阹瞻塢飖獾ࠒ⒐፨婵얎⽒竻·俌欕悳잸횑ٻ킐結" ,
64
+ "塸聩ዡ㘇뵥刲禮ᣮ鎊熇捺셾壍Ꜻꌩ垅凗❉償粐믩࠱哠"
65
+ );
124
66
125
67
List <String > actual = SUT .giveMeOne (new TypeReference <List <String >>() {
126
68
});
@@ -131,7 +73,9 @@ void containerReturnsSame() {
131
73
@ Seed (1 )
132
74
@ RepeatedTest (100 )
133
75
void containerMattersOrder () {
134
- Set <String > expected = new HashSet <>(Collections .singletonList ("仛禦催ᘓ蓊類౺阹瞻塢飖獾ࠒ⒐፨婵얎⽒竻·俌欕悳잸횑ٻ킐結" ));
76
+ Set <String > expected = new HashSet <>(
77
+ Arrays .asList ("仛禦催ᘓ蓊類౺阹瞻塢飖獾ࠒ⒐፨婵얎⽒竻·俌欕悳잸횑ٻ킐結" , "塸聩ዡ㘇뵥刲禮ᣮ鎊熇捺셾壍Ꜻꌩ垅凗❉償粐믩࠱哠" )
78
+ );
135
79
136
80
Set <String > actual = SUT .giveMeOne (new TypeReference <Set <String >>() {
137
81
});
@@ -150,12 +94,4 @@ void multipleContainerReturnsDiff() {
150
94
151
95
then (firstSet ).isNotEqualTo (secondList );
152
96
}
153
-
154
- @ Data
155
- private static class Product {
156
- @ NotNull
157
- private Long id ;
158
- @ NotBlank
159
- private String productName ;
160
- }
161
97
}
0 commit comments