@@ -10,12 +10,14 @@ import org.utbot.testcheckers.withSolverTimeoutInMillis
1010import org.utbot.testcheckers.withoutMinimization
1111import org.utbot.testing.CodeGeneration
1212import org.utbot.testing.DoNotCalculate
13+ import org.utbot.testing.FullWithAssumptions
1314import org.utbot.testing.UtValueTestCaseChecker
1415import org.utbot.testing.atLeast
1516import org.utbot.testing.between
1617import org.utbot.testing.ignoreExecutionsNumber
1718import org.utbot.testing.isException
1819import org.utbot.testing.keyMatch
20+ import java.util.Locale
1921
2022internal class StringExamplesTest : UtValueTestCaseChecker (
2123 testClass = StringExamples : :class,
@@ -161,7 +163,7 @@ internal class StringExamplesTest : UtValueTestCaseChecker(
161163 { v, _ -> v == null },
162164 { v, r -> v != null && v.startsWith(" 1234567890" ) && r!! .startsWith(" 12a4567890" ) },
163165 { v, r -> v != null && v[0 ] == ' x' && r!! [0 ] == ' x' },
164- { v, r -> v != null && v.toLowerCase( ) == r }
166+ { v, r -> v != null && v.lowercase( Locale .getDefault() ) == r }
165167 )
166168 }
167169
@@ -245,7 +247,7 @@ internal class StringExamplesTest : UtValueTestCaseChecker(
245247 check(
246248 StringExamples ::concat,
247249 between(1 .. 2 ),
248- { fst, snd, r -> fst == null || snd == null && r == fst + snd },
250+ { fst, snd, r -> ( fst == null || snd == null ) && r == fst + snd },
249251 { fst, snd, r -> r == fst + snd },
250252 )
251253 }
@@ -327,9 +329,9 @@ internal class StringExamplesTest : UtValueTestCaseChecker(
327329 check(
328330 StringExamples ::isValidUuid,
329331 ignoreExecutionsNumber,
330- { uuid, r -> uuid == null || uuid.length == 0 && r == false },
331- { uuid, r -> uuid.length > 0 && uuid.isBlank() && r == false },
332- { uuid, r -> uuid.length > 0 && uuid.isNotBlank() && r == false },
332+ { uuid, r -> uuid == null || uuid.isEmpty() && r == false },
333+ { uuid, r -> uuid.isNotEmpty() && uuid.isBlank() && r == false },
334+ { uuid, r -> uuid.isNotEmpty() && uuid.isNotBlank() && r == false },
333335 { uuid, r -> uuid.length > 1 && uuid.isNotBlank() && ! uuid.matches(pattern) && r == false },
334336 { uuid, r -> uuid.length > 1 && uuid.isNotBlank() && uuid.matches(pattern) && r == true },
335337 )
@@ -347,15 +349,29 @@ internal class StringExamplesTest : UtValueTestCaseChecker(
347349 )
348350 }
349351
352+ @Test
353+ fun testSplitExample () {
354+ check(
355+ StringExamples ::splitExample,
356+ ignoreExecutionsNumber,
357+ { s, r -> s.all { it.isWhitespace() } && r == 0 },
358+ { s, r -> s.none { it.isWhitespace() } && r == 1 },
359+ { s, r -> s[0 ].isWhitespace() && s.any { ! it.isWhitespace() } && r == 2 },
360+ { s, r -> ! s[0 ].isWhitespace() && s[2 ].isWhitespace() && r == 1 },
361+ { s, r -> ! s[0 ].isWhitespace() && s[1 ].isWhitespace() && ! s[2 ].isWhitespace() && r == 2 },
362+ coverage = FullWithAssumptions (assumeCallsNumber = 2 )
363+ )
364+ }
365+
350366 @Test
351367 fun testIsBlank () {
352368 check(
353369 StringExamples ::isBlank,
354370 ge(4 ),
355371 { cs, r -> cs == null && r == true },
356- { cs, r -> cs.length == 0 && r == true },
357- { cs, r -> cs.length > 0 && cs.isBlank() && r == true },
358- { cs, r -> cs.length > 0 && cs.isNotBlank() && r == false },
372+ { cs, r -> cs.isEmpty() && r == true },
373+ { cs, r -> cs.isNotEmpty() && cs.isBlank() && r == true },
374+ { cs, r -> cs.isNotEmpty() && cs.isNotBlank() && r == false },
359375 summaryNameChecks = listOf (
360376 keyMatch(" testIsBlank_StrLenEqualsZero" ),
361377 keyMatch(" testIsBlank_NotCharacterIsWhitespace" ),
@@ -541,9 +557,9 @@ internal class StringExamplesTest : UtValueTestCaseChecker(
541557 check(
542558 StringExamples ::endsWith,
543559 between(5 .. 6 ),
544- { s , suffix, r -> suffix == null },
545- { s , suffix, r -> suffix != null && suffix.length < 2 },
546- { s, suffix, r -> suffix != null && suffix.length >= 2 && s == null },
560+ { _ , suffix, _ -> suffix == null },
561+ { _ , suffix, _ -> suffix != null && suffix.length < 2 },
562+ { s, suffix, _ -> suffix != null && suffix.length >= 2 && s == null },
547563 { s, suffix, r -> suffix != null && suffix.length >= 2 && s != null && s.endsWith(suffix) && r == true },
548564 { s, suffix, r -> suffix != null && suffix.length >= 2 && s != null && ! s.endsWith(suffix) && r == false }
549565 )
@@ -609,10 +625,10 @@ internal class StringExamplesTest : UtValueTestCaseChecker(
609625 checkWithException(
610626 StringExamples ::compareCodePoints,
611627 between(8 .. 10 ),
612- { s, t, i , r -> s == null && r.isException<NullPointerException >() },
613- { s, t , i, r -> s != null && i < 0 || i >= s.length && r.isException<StringIndexOutOfBoundsException >() },
614- { s, t, i , r -> s != null && t == null && r.isException<NullPointerException >() },
615- { s , t, i, r -> t != null && i < 0 || i >= t.length && r.isException<StringIndexOutOfBoundsException >() },
628+ { s, _, _ , r -> s == null && r.isException<NullPointerException >() },
629+ { s, _ , i, r -> s != null && i < 0 || i >= s.length && r.isException<StringIndexOutOfBoundsException >() },
630+ { s, t, _ , r -> s != null && t == null && r.isException<NullPointerException >() },
631+ { _ , t, i, r -> t != null && i < 0 || i >= t.length && r.isException<StringIndexOutOfBoundsException >() },
616632 { s, t, i, r -> s != null && t != null && s.codePointAt(i) < t.codePointAt(i) && i == 0 && r.getOrThrow() == 0 },
617633 { s, t, i, r -> s != null && t != null && s.codePointAt(i) < t.codePointAt(i) && i != 0 && r.getOrThrow() == 1 },
618634 { s, t, i, r -> s != null && t != null && s.codePointAt(i) >= t.codePointAt(i) && i == 0 && r.getOrThrow() == 2 },
@@ -625,7 +641,7 @@ internal class StringExamplesTest : UtValueTestCaseChecker(
625641 check(
626642 StringExamples ::toCharArray,
627643 eq(2 ),
628- { s, r -> s == null },
644+ { s, _ -> s == null },
629645 { s, r -> s.toCharArray().contentEquals(r) }
630646 )
631647 }
0 commit comments