More detailed SET tests

Test both error triggering and behavior, including making sure that
no assignments are made when errors are supposed to be triggered,
and that multiple assignments are made or not properly.