class TestCase::Operator::Warn { use Fn;
  
  static method test_warn : int () {
    warn "Hello";
    
    return 1;
  }
  
  static method test_warn_newline : int () {
    warn "\n";
    
    return 1;
  }
  
  static method test_warn_long_lines : int () {
    warn "AAAAAAAAAAAAA\nBBBBBBBBBBBBBBBBBBB\nCCCCCCCCCCCCCCCCCCCCCCCCCCC\nDDDDDDDDDDDDDDDDDDDDDDDDD\nEEEEEEEEEEEEEEEEEEEEEE\nFFFFFFFFFFFFFF\n";
    
    return 1;
  }
  static method test_warn_empty : int () {
    warn "";
    
    return 1;
  }
  static method test_warn_undef : int () {
    my $str : string = undef;
    warn $str;
    
    return 1;
  }
  
  static method test_warn_no_operand : int () {
    warn;
    
    return 1;
  }
  
  static method test_warn_object_type : int () {
    warn Int->new(1);
    
    return 1;
  }
  
  static method test_Fn_print_stderr : int () {
    
    Fn->print_stderr("Hello");
    
    return 1;
  }
  
  static method test_Fn_print_stderr_undef : int () {
    
    Fn->print_stderr(undef);
    
    return 1;
  }
  
  static method test_Fn_say_stderr : int () {
    
    Fn->say_stderr("Hello");
    
    return 1;
  }
  
  static method test_Fn_say_stderr_undef : int () {
    
    Fn->say_stderr(undef);
    
    return 1;
  }
  
  static method warn_object_address : int () {
    
    my $object = Int->new(1);
    
    warn $object;
    
    return 1;
  }
  
  static method warn_ref : int () {
    
    my $num = 1;
    my $num_ref = \$num;
    
    warn $num_ref;
    
    return 1;
  }
  
}
