378 auto testCase = [](SegL segmentation
383 OptInt startSpec{startNew},
386 invokeSplitSplice (segmentation, startSpec, afterSpec);
387 CHECK (segmentation == expectedResult);
388 CHECK (segmentation.isValid());
391 testCase (SegL{}, -23,24,
"├[-100~-23[[-23_24[[24~100[┤"_expect);
394 testCase (SegL{5,10}, 2,3,
"├[-100~2[[2_3[[3~5[[5_10[[10~100[┤"_expect);
395 testCase (SegL{5,10}, 4,5,
"├[-100~4[[4_5[[5_10[[10~100[┤"_expect);
396 testCase (SegL{5,10}, 4,8,
"├[-100~4[[4_8[[8_10[[10~100[┤"_expect);
397 testCase (SegL{5,10}, 5,8,
"├[-100~5[[5_8[[8_10[[10~100[┤"_expect);
398 testCase (SegL{5,10}, 6,8,
"├[-100~5[[5_6[[6_8[[8_10[[10~100[┤"_expect);
399 testCase (SegL{5,10}, 7,10,
"├[-100~5[[5_7[[7_10[[10~100[┤"_expect);
400 testCase (SegL{5,10}, 9,13,
"├[-100~5[[5_9[[9_13[[13~100[┤"_expect);
401 testCase (SegL{5,10}, 10,13,
"├[-100~5[[5_10[[10_13[[13~100[┤"_expect);
402 testCase (SegL{5,10}, 13,23,
"├[-100~5[[5_10[[10~13[[13_23[[23~100[┤"_expect);
405 testCase (SegL{5,10}, 5,10,
"├[-100~5[[5_10[[10~100[┤"_expect);
408 testCase (SegL{5,10}, 3,10,
"├[-100~3[[3_10[[10~100[┤"_expect);
409 testCase (SegL{5,10}, 3,23,
"├[-100~3[[3_23[[23~100[┤"_expect);
410 testCase (SegL{5,10}, 5,23,
"├[-100~5[[5_23[[23~100[┤"_expect);
421 auto testCase = [](SegL segmentation
426 invokeSplitSplice (segmentation, startNew, afterNew);
427 CHECK (segmentation == expectedResult);
428 CHECK (segmentation.isValid());
430 auto x = std::nullopt;
432 testCase (SegL{}, 3,2,
"├[-100~2[[2_3[[3~100[┤"_expect);
434 testCase (SegL{}, 3,x,
"├[-100~3[[3_100[┤"_expect);
435 testCase (SegL{}, x,5,
"├[-100_5[[5~100[┤"_expect);
437 testCase (SegL{4,6}, 5,x,
"├[-100~4[[4_5[[5_6[[6~100[┤"_expect);
438 testCase (SegL{4,6}, x,5,
"├[-100~4[[4_5[[5_6[[6~100[┤"_expect);
440 testCase (SegL{4,6}, 3,x,
"├[-100~3[[3_4[[4_6[[6~100[┤"_expect);
441 testCase (SegL{4,6}, x,3,
"├[-100_3[[3~4[[4_6[[6~100[┤"_expect);
442 testCase (SegL{4,6}, 4,x,
"├[-100~4[[4_6[[6~100[┤"_expect);
443 testCase (SegL{4,6}, x,4,
"├[-100_4[[4_6[[6~100[┤"_expect);
445 testCase (SegL{4,6}, 7,x,
"├[-100~4[[4_6[[6~7[[7_100[┤"_expect);
446 testCase (SegL{4,6}, x,7,
"├[-100~4[[4_6[[6_7[[7~100[┤"_expect);
447 testCase (SegL{4,6}, 6,x,
"├[-100~4[[4_6[[6_100[┤"_expect);
448 testCase (SegL{4,6}, x,6,
"├[-100~4[[4_6[[6~100[┤"_expect);
450 testCase (SegL{}, x,x,
"├[-100_100[┤"_expect);
451 testCase (SegL{4}, x,x,
"├[-100~4[[4_100[┤"_expect);
452 testCase (SegL{4,6}, x,x,
"├[-100~4[[4_6[[6_100[┤"_expect);
454 testCase (SegL{4,5,6,8}, 3,6,
"├[-100~3[[3_6[[6_8[[8~100[┤"_expect);
455 testCase (SegL{4,5,6,8}, 4,6,
"├[-100~4[[4_6[[6_8[[8~100[┤"_expect);
456 testCase (SegL{4,5,6,8}, 4,7,
"├[-100~4[[4_7[[7_8[[8~100[┤"_expect);
457 testCase (SegL{4,5,6,8}, 3,7,
"├[-100~3[[3_7[[7_8[[8~100[┤"_expect);
458 testCase (SegL{4,5,6,8}, 3,8,
"├[-100~3[[3_8[[8~100[┤"_expect);
459 testCase (SegL{4,5,6,8}, 4,8,
"├[-100~4[[4_8[[8~100[┤"_expect);
460 testCase (SegL{4,5,6,8}, 4,9,
"├[-100~4[[4_9[[9~100[┤"_expect);
461 testCase (SegL{4,5,6,8}, 5,9,
"├[-100~4[[4_5[[5_9[[9~100[┤"_expect);
462 testCase (SegL{4,5,6,8}, 5,x,
"├[-100~4[[4_5[[5_6[[6_8[[8~100[┤"_expect);
463 testCase (SegL{4,5,7,8}, x,6,
"├[-100~4[[4_5[[5_6[[6_7[[7_8[[8~100[┤"_expect);