Skip to content

Commit 9ec4346

Browse files
kail-isclaude
andcommitted
test: refactor CharacterCombinableArbitraryTest to use direct assertions
Replace boolean + allMatch patterns with direct value assertions for clearer test intent: - alphabetic, numeric, alphaNumeric tests - ascii, uppercase, lowercase, korean, emoji, whitespace tests - last method wins tests for better conflict resolution verification 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
1 parent 53f5e78 commit 9ec4346

File tree

1 file changed

+24
-50
lines changed

1 file changed

+24
-50
lines changed

fixture-monkey-api/src/test/java/com/navercorp/fixturemonkey/api/arbitrary/CharacterCombinableArbitraryTest.java

Lines changed: 24 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,6 @@
2121
import static org.assertj.core.api.BDDAssertions.then;
2222
import static org.assertj.core.api.BDDAssertions.thenThrownBy;
2323

24-
import java.util.stream.IntStream;
25-
2624
import org.junit.jupiter.api.Test;
2725

2826
import com.navercorp.fixturemonkey.api.exception.FixedValueFilterMissException;
@@ -53,100 +51,82 @@ void withRange() {
5351
@Test
5452
void alphabetic() {
5553
// when
56-
boolean allAlpha = IntStream.range(0, 100)
57-
.mapToObj(i -> CombinableArbitrary.chars().alphabetic().combined())
58-
.allMatch(Character::isLetter);
54+
Character actual = CombinableArbitrary.chars().alphabetic().combined();
5955

6056
// then
61-
then(allAlpha).isTrue();
57+
then(Character.isLetter(actual)).isTrue();
6258
}
6359

6460
@Test
6561
void numeric() {
6662
// when
67-
boolean allNumeric = IntStream.range(0, 100)
68-
.mapToObj(i -> CombinableArbitrary.chars().numeric().combined())
69-
.allMatch(c -> c >= '0' && c <= '9');
63+
Character actual = CombinableArbitrary.chars().numeric().combined();
7064

7165
// then
72-
then(allNumeric).isTrue();
66+
then(actual).isBetween('0', '9');
7367
}
7468

7569
@Test
7670
void alphaNumeric() {
7771
// when
78-
boolean allAlphaNumeric = IntStream.range(0, 100)
79-
.mapToObj(i -> CombinableArbitrary.chars().alphaNumeric().combined())
80-
.allMatch(Character::isLetterOrDigit);
72+
Character actual = CombinableArbitrary.chars().alphaNumeric().combined();
8173

8274
// then
83-
then(allAlphaNumeric).isTrue();
75+
then(Character.isLetterOrDigit(actual)).isTrue();
8476
}
8577

8678
@Test
8779
void ascii() {
8880
// when
89-
boolean allAscii = IntStream.range(0, 100)
90-
.mapToObj(i -> CombinableArbitrary.chars().ascii().combined())
91-
.allMatch(c -> c >= '\u0020' && c <= '\u007E');
81+
Character actual = CombinableArbitrary.chars().ascii().combined();
9282

9383
// then
94-
then(allAscii).isTrue();
84+
then(actual).isBetween('\u0020', '\u007E');
9585
}
9686

9787
@Test
9888
void uppercase() {
9989
// when
100-
boolean allUppercase = IntStream.range(0, 100)
101-
.mapToObj(i -> CombinableArbitrary.chars().uppercase().combined())
102-
.allMatch(c -> c >= 'A' && c <= 'Z');
90+
Character actual = CombinableArbitrary.chars().uppercase().combined();
10391

10492
// then
105-
then(allUppercase).isTrue();
93+
then(actual).isBetween('A', 'Z');
10694
}
10795

10896
@Test
10997
void lowercase() {
11098
// when
111-
boolean allLowercase = IntStream.range(0, 100)
112-
.mapToObj(i -> CombinableArbitrary.chars().lowercase().combined())
113-
.allMatch(c -> c >= 'a' && c <= 'z');
99+
Character actual = CombinableArbitrary.chars().lowercase().combined();
114100

115101
// then
116-
then(allLowercase).isTrue();
102+
then(actual).isBetween('a', 'z');
117103
}
118104

119105
@Test
120106
void korean() {
121107
// when
122-
boolean allKorean = IntStream.range(0, 100)
123-
.mapToObj(i -> CombinableArbitrary.chars().korean().combined())
124-
.allMatch(c -> c >= '\uAC00' && c <= '\uD7AF');
108+
Character actual = CombinableArbitrary.chars().korean().combined();
125109

126110
// then
127-
then(allKorean).isTrue();
111+
then(actual).isBetween('\uAC00', '\uD7AF');
128112
}
129113

130114
@Test
131115
void emoji() {
132116
// when
133-
boolean allEmoji = IntStream.range(0, 100)
134-
.mapToObj(i -> CombinableArbitrary.chars().emoji().combined())
135-
.allMatch(c -> c >= '\uD83D' && c <= '\uD83F');
117+
Character actual = CombinableArbitrary.chars().emoji().combined();
136118

137119
// then
138-
then(allEmoji).isTrue();
120+
then(actual).isBetween('\uD83D', '\uD83F');
139121
}
140122

141123
@Test
142124
void whitespace() {
143125
// when
144-
boolean allWhitespace = IntStream.range(0, 100)
145-
.mapToObj(i -> CombinableArbitrary.chars().whitespace().combined())
146-
.allMatch(Character::isWhitespace);
126+
Character actual = CombinableArbitrary.chars().whitespace().combined();
147127

148128
// then
149-
then(allWhitespace).isTrue();
129+
then(Character.isWhitespace(actual)).isTrue();
150130
}
151131

152132
@Test
@@ -277,33 +257,27 @@ void fixed() {
277257
@Test
278258
void lastMethodWinsKoreanOverAscii() {
279259
// when - korean() should take precedence over ascii()
280-
boolean allKorean = IntStream.range(0, 30)
281-
.mapToObj(i -> CombinableArbitrary.chars().ascii().korean().combined())
282-
.allMatch(c -> c >= '\uAC00' && c <= '\uD7AF');
260+
Character actual = CombinableArbitrary.chars().ascii().korean().combined();
283261

284262
// then
285-
then(allKorean).isTrue();
263+
then(actual).isBetween('\uAC00', '\uD7AF');
286264
}
287265

288266
@Test
289267
void lastMethodWinsRangeOverAlpha() {
290268
// when - withRange() should take precedence over alpha()
291-
boolean allInRange = IntStream.range(0, 30)
292-
.mapToObj(i -> CombinableArbitrary.chars().alphabetic().withRange('0', '9').combined())
293-
.allMatch(c -> c >= '0' && c <= '9');
269+
Character actual = CombinableArbitrary.chars().alphabetic().withRange('0', '9').combined();
294270

295271
// then
296-
then(allInRange).isTrue();
272+
then(actual).isBetween('0', '9');
297273
}
298274

299275
@Test
300276
void characterFilterWithSpecificCondition() {
301277
// when - filtering uppercase only
302-
boolean allUppercase = IntStream.range(0, 30)
303-
.mapToObj(i -> CombinableArbitrary.chars().alphabetic().filter(Character::isUpperCase).combined())
304-
.allMatch(Character::isUpperCase);
278+
Character actual = CombinableArbitrary.chars().alphabetic().filter(Character::isUpperCase).combined();
305279

306280
// then
307-
then(allUppercase).isTrue();
281+
then(Character.isUpperCase(actual)).isTrue();
308282
}
309283
}

0 commit comments

Comments
 (0)