test_name property-name-clash-named test_description Eiffel .NET properties declarations should not be able to use the same name copy_sub Ace $TEST Ace copy_raw test.e $CLUSTER test.e compile_melted compile_result validity_error TEST VIPM test_end