def test_return_nothing_on_nonvoid(self): util.assert_compile_fails( "resources/types_method_types/return_nothing_on_nonvoid.slg", "Can't return nothing from a method unless the method returns void" )
def test_generic_member_method(self): path = util.assert_compile_fails( "resources/generic_methods/generic_member_method.slg", message="Member methods cannot have type arguments")
def test_instantiate_raw_type(self): util.assert_compile_fails( "resources/generic_classes/instantiate_raw_type.slg", message="Expected type arguments")
def test_method_not_implemented(self): path = util.assert_compile_fails( "resources/interfaces/method_not_implemented.slg", message= "Method 'method2' of interface 'Interface' is not implemented by class 'Class'" )
def test_unsatisfied_extends_bound(self): path = util.assert_compile_fails( "resources/generic_methods/unsatisfied_extends_bound.slg", message= "Could not reify generic method: ':stdlib.Object' does not satisfy ':T extends stdlib.String'" )
def test_assign_to_supercall_statement(self): path = util.assert_compile_fails( "resources/supercalls/assign_to_supercall_statement.slg", message="Cannot assign to a method call")
def test_dont_override_abstract_method(self): path = util.assert_compile_fails( "resources/abstract_classes/dont_override_abstract_method.slg", message="is not overridden")
def test_equality_needs_assignable(self): util.assert_compile_fails( "resources/types_wrong_operator_types/equality_needs_assignable.slg", "Incomparable types")
def test_if_needs_boolean(self): util.assert_compile_fails( "resources/types_wrong_operator_types/if_needs_boolean.slg", "must be boolean")
def test_arithmetic_oneint(self): util.assert_compile_fails( "resources/types_wrong_operator_types/arithmetic_oneint.slg", "is not numerical")
def test_equality_makes_boolean(self): util.assert_compile_fails( "resources/types_wrong_operator_types/equality_makes_boolean.slg", "is not numerical")
def test_int_as_bool(self): util.assert_compile_fails( "resources/types_wrong_explicit_type/bool_as_int.slg", "not assignable")
def test_no_return_on_nonvoid(self): path = util.assert_compile_fails( "resources/types_method_types/no_return_on_nonvoid.slg", "Non-void method might not return")
def test_return_something_on_void(self): util.assert_compile_fails( "resources/types_method_types/return_something_on_void.slg", "Return type mismatch")
def test_inheritance_duplicate_field_different_type(self): path = util.assert_compile_fails( "resources/inheritance/duplicate_field_different_type.slg", message= "Duplicate field in both child and parent class named 'number'")
def test_increment_bool(self): util.assert_compile_fails( "resources/types_wrong_operator_types/increment_bool.slg", "to increment something that isn't numerical")
def test_inheritance_duplicate_field_different_type(self): path = util.assert_compile_fails( "resources/methods/override_outside_class.slg", message= "Can't both be an override method and not have a containing class")
def test_inplace_with_bool(self): util.assert_compile_fails( "resources/types_wrong_operator_types/inplace_with_bool.slg", "must be numerical")
def test_instantiate_abstract_class(self): path = util.assert_compile_fails( "resources/abstract_classes/instantiate_abstract_class.slg", message="Cannot instantiate an abstract class")
def test_arrays_literal_of_nulls(self): util.assert_compile_fails( "resources/arrays/literla_of_nulls.slg", "Cannot have an array literal comprising only null values, use arbitrary-length instantiation syntax instead" )
def test_supercall_to_abstract_method(self): path = util.assert_compile_fails( "resources/abstract_classes/supercall_to_abstract_method.slg", message="Attempt to perform super call to abstract method")
def test_arrays_no_such_member_type(self): util.assert_compile_fails("resources/arrays/no_such_member_type.slg", "Could not resolve type")
def test_wrong_return_type_void(self): path = util.assert_compile_fails( "resources/interfaces/wrong_return_type_void.slg", message= "Method 'method' of class 'Class' has return type :void that isn't assignable to return type :int of the corresponding method from interface Interface" )
def test_inheritance_overriding_override_on_parent(self): path = util.assert_compile_fails( "resources/inheritance/overriding_override_on_parent.slg", message="overriding rules")
def test_unsatisfied_implements_bound(self): path = util.assert_compile_fails( "resources/generic_methods/unsatisfied_implements_bound.slg", message= "Could not reify generic method: ':stdlib.Object' does not satisfy ':T implements stdlib.Hashable, stdlib.ToString, Interface'" )
def test_inheritance_overriding_no_corresponding(self): path = util.assert_compile_fails( "resources/inheritance/overriding_no_corresponding.slg", message="overriding rules")
def test_type_annotation_raw_type(self): util.assert_compile_fails( "resources/generic_classes/type_annotation_raw_type.slg", message="Cannot use raw types directly")
def test_inheritance_overriding_mismatched_arguments(self): path = util.assert_compile_fails( "resources/inheritance/overriding_mismatched_arguments.slg", message="overriding rules")
def test_not_assignable(self): util.assert_compile_fails( "resources/generic_classes/not_assignable.slg", message="is not assignable to")
def test_wrong_return_type(self): util.assert_compile_fails( "resources/types_method_types/wrong_return_type.slg", "Return type mismatch")