decide whether to set result_message or not by sucessful? method

the definition of successful? depends on the concrete Asserrtion class.
add negative assertion
add assert_not method