add function testing
add function for map default value testing
add preconditions check arguments learning