Shows how to use xtd::tunit::assert class with a class to test that does not contain insert stream operator.
#include <xtd/xtd.tunit>
 
 
namespace unit_tests {
  class class_without_insert_stream_operator {
  public:
    class_without_insert_stream_operator() = default;
    explicit class_without_insert_stream_operator(int value) : value_(value) {}
    
    int value() const noexcept {return value_;}
    
    bool operator==(const class_without_insert_stream_operator& c) const noexcept {return value_ == c.value_;}
    bool operator!=(const class_without_insert_stream_operator& c) const noexcept {return !operator==(c);}
    
  private:
    int value_ = 0;
  };
  
  class test_class_(test) {
      auto c1 = class_without_insert_stream_operator {42};
      auto c2 = class_without_insert_stream_operator {42};
      assert::are_equal(c1, c2);
      
    }
    
      auto c1 = class_without_insert_stream_operator {42};
      auto c2 = class_without_insert_stream_operator {24};
      assert::are_equal(c1, c2);
    }
  };
}
 
auto main() -> int {
}
 
The console_unit_test class is console unit test interface.
Definition console_unit_test.hpp:23
 
int32 run() noexcept
Runs all tests in this unit_test object and prints the result.
 
#define test_method_(method_name)
Add test method to class test.
Definition test_method_attribute.hpp:73
 
The tunit namespace contains a unit test library.
Definition abort_error.hpp:10