diff options
Diffstat (limited to 'test.cc')
-rw-r--r-- | test.cc | 25 |
1 files changed, 24 insertions, 1 deletions
@@ -99,7 +99,7 @@ int main(void) { pos1 = ::zap_fndbyte(str,len,(::std::uint_least8_t)' '); ::std::fprintf(stderr,"pos0: %zX\n",pos0); ::std::fprintf(stderr,"pos1: %zX\n",pos1); - assert(pos0 == -0x1u); + assert(pos0 == SIZE_MAX); assert(pos1 == pos0); } ::std::fprintf(stderr,"\n"); @@ -156,5 +156,28 @@ int main(void) { assert(cmp5 < 0x0); } ::std::fprintf(stderr,"\n"); + { + int arr[] { + 0x0, + 0x1, + 0x2, + 0x3, + }; + ::zap_foreach(arr,sizeof (arr) / sizeof (int),sizeof (int),[](void * const _ptr) { + auto const ptr {static_cast<int *>(_ptr)}; + auto val {*ptr}; + val %= 0x2; + *ptr = val; + }); + ::std::fprintf(stderr,"arr[0]: %i\n",arr[0x0u]); + ::std::fprintf(stderr,"arr[1]: %i\n",arr[0x1u]); + ::std::fprintf(stderr,"arr[2]: %i\n",arr[0x2u]); + ::std::fprintf(stderr,"arr[3]: %i\n",arr[0x3u]); + assert(arr[0x0u] == 0x0); + assert(arr[0x1u] == 0x1); + assert(arr[0x2u] == 0x0); + assert(arr[0x3u] == 0x1); + } + ::std::fprintf(stderr,"\n"); ::std::fprintf(stderr,"All tests have passed!\n"); } |