- Added 100+ specific test cases for CBOR encoding/decoding
- Integer boundary tests (0, 23, 24, 255, 256, 65535, Int64 limits)
- Negative integer tests
- Float tests including infinity and NaN handling
- UTF-8 string tests with emoji and international characters
- Byte string tests with binary data
- Array and Map tests including empty and nested structures
- Tag tests for common CBOR tags (0, 1, 32)
- Simple value tests (0-255)
- Error case tests for invalid CBOR data
- Diagnostic string output tests
- Deep nesting tests (100 levels)
- Large collection tests (1000 elements)
- Additional property tests for consistency
- Fixed missing ;; terminator in original roundtrip test
- All tests compile and validate against CBOR RFC 8949
Total: ~150 new test cases covering:
* All CBOR data types
* Edge cases and boundaries
* Error handling
* RFC compliance
* Performance with large data
- Fixed CCByte_slice tests: moved 'open CCByte_slice' after include T
to avoid shadowing test framework's 'get' function
- Fixed missing ;; terminators in t_option.ml and t_list.ml
- Removed non-existent CCList.split_while function tests
- Changed CCList.sorted_uniq to sort_uniq (correct function name)
- Simplified t_result.ml additions to focus on core functionality
- All tests now compile successfully with OCaml 5.3.0
- Added complete test suite for CCPair (141 tests)
* Tests for all map functions, swap, operators, dup, equal/compare
* Property-based tests for key invariants
- Added complete test suite for CCRef (269 tests)
* Tests for create, map, iter, update
* Tests for incr_then_get and get_then_incr
* Tests for swap and protect with exception safety
* Property-based tests for all operations
- Added complete test suite for CCByte_slice (199 tests)
* Tests for creation with offsets and lengths
* Tests for get/set with bounds checking
* Tests for consume and sub operations
* Tests for contents and sharing semantics
* Property-based tests for slice operations
- Expanded CCOption tests (added 200+ tests)
* Tests for map_or, map_lazy, wrap, or_lazy
* Tests for sequence_l, choice, flatten
* Tests for result conversion functions
* Comprehensive property-based tests
- Expanded CCResult tests (added 180+ tests)
* Tests for guard, wrap1/2/3, retry
* Tests for map_l, fold_l, choose
* Tests for both, join, flatten_l
* Comprehensive error handling tests
- Expanded CCList tests (added 120+ tests)
* Tests for interleave, take_while, drop_while
* Tests for find_map, partition_map, sublists_of_len
* Tests for sorted_merge, sorted_uniq, group_by
* Edge cases for take/drop and range functions
* Property-based tests for list operations
All tests follow existing patterns using Containers_testlib with
unit tests (t), equality assertions (eq), and property tests (q).
- label all tests
- decouple tests about different heap functions
- random instances now have better coverage of possible cases:
+ more variability in size
(previously, some tests were limited to a fixed size)
+ high probability of duplicates
(previously, the probability of duplicates was negligible,
because elements were drawn uniformly from the full `int` range)
- the test for `of_list, take_exn` is now more precise
(added a duplicate element)
- the test for `to_list_sorted` is now more precise
(checks that the resulting list is what we want,
instead of just checking that it is sorted)
- the test for `filter` is now more precise
(also checks that no element has been spuriously dropped)
- more uniform style for easier reading, using `|>`