Add float/int literal for Approx

This commit is contained in:
Henry Schreiner 2018-05-21 15:42:40 +02:00 committed by Martin Hořeňovský
parent d6c7392b24
commit 283e2e6d41
8 changed files with 177 additions and 8 deletions

View file

@ -35,6 +35,13 @@ namespace Detail {
return Approx( 0 );
}
Approx Approx::operator-() const {
auto temp(*this);
temp.m_value = -temp.m_value;
return temp;
}
std::string Approx::toString() const {
ReusableStringStream rss;
rss << "Approx( " << ::Catch::Detail::stringify( m_value ) << " )";
@ -49,6 +56,15 @@ namespace Detail {
} // end namespace Detail
namespace literals {
Detail::Approx operator "" _a(long double val) {
return Detail::Approx(val);
}
Detail::Approx operator "" _a(unsigned long long val) {
return Detail::Approx(val);
}
} // end namespace literals
std::string StringMaker<Catch::Detail::Approx>::convert(Catch::Detail::Approx const& value) {
return value.toString();
}