these tests should check if on an update, that the system does not insert, and if on an insert, that it does not update (should throw an exception or return 0 rowcount if the operation is invalid)