#include <xtd/xtd.tunit>
namespace unit_tests {
class class_with_insert_stream_operator {
public:
class_with_insert_stream_operator() = default;
explicit class_with_insert_stream_operator(int value) : value_(value) {}
int value() const noexcept {return value_;}
bool operator==(const class_with_insert_stream_operator& c) const noexcept {return value_ == c.value_;}
bool operator!=(const class_with_insert_stream_operator& c) const noexcept {return !operator==(c);}
friend std::ostream& operator <<(std::ostream& os, const class_with_insert_stream_operator& c) {
return os << "(value = " << c.value_ << ")";
}
private:
int value_ = 0;
};
class test_class_(test) {
auto c1 = class_with_insert_stream_operator {42};
auto c2 = class_with_insert_stream_operator {42};
assert::are_equal(c1, c2);
}
auto c1 = class_with_insert_stream_operator {42};
auto c2 = class_with_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.h: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.h:73
The tunit namespace contains a unit test library.
Definition abort_error.h:10