<<
path:
root/public/blog.git/html/modules/uniform/tests/010_char_class/negate.spec.jai
blob: 41244f4ad9a2dd9d435fff42229a362e05a23bd6
[raw]
[clear marker]
0converts_a_full_range_into_an_empty_one :: () {
2 defer uninit(*char_class);
3 add_range(*char_class, 0, Runemax);
7 assert_that(char_class.ranges.count, is(0));
10converts_an_empty_range_into_a_full_one :: () {
11 char_class: CharClass;
12 defer uninit(*char_class);
16 assert_that(char_class.ranges, contains_items(
17 make_range(0, Runemax),
18 is_equal = equal_range));
21// ToDo: report error if this still crashes with beta >=031
22// Simple_Range_Test_Args :: struct {
23// input: [] RuneRange;
24// expected: [] RuneRange;
27// converts_a_partial_range_into_the_rest_params :: Simple_Range_Test_Args.[
30// RuneRange.[.{0, Runemax}]
33// RuneRange.[.{0, Runemax}],
37// RuneRange.[.{0, 100}],
38// RuneRange.[.{101, Runemax}]
42Simple_Range_Test_Args :: struct {
47converts_a_partial_range_into_the_rest_params :: Simple_Range_Test_Args.[
58converts_a_partial_range_into_the_rest :: (args: Simple_Range_Test_Args) {
59 char_class: CharClass;
60 defer uninit(*char_class);
61 add_range(*char_class, args.input.lo, args.input.hi);
65 assert_that(char_class.ranges, contains_items(
67 is_equal = equal_range));
70converts_all_ranges_correctly :: () {
71 char_class: CharClass;
72 defer uninit(*char_class);
73 add_range(*char_class, 100, 150);
74 add_range(*char_class, 160, 170);
78 assert_that(char_class.ranges, contains_items(
81 make_range(171, Runemax),
82 is_equal = equal_range));
85converts_all_ranges_correctly_2 :: () {
86 char_class: CharClass;
87 add_range(*char_class, 0, 100);
88 add_range(*char_class, 200, Runemax);
92 assert_that(char_class.ranges, contains_items(
94 is_equal = equal_range));
99equal_range :: (a: RuneRange, b: RuneRange) -> bool {
100 return a.lo == b.lo && a.hi == b.hi;