turned printing into assert tests and added more tests to track.cpp

This commit is contained in:
Pagwin 2024-12-11 14:24:49 -05:00
parent 63f9f0a7fd
commit ae9d9cd27d
No known key found for this signature in database
GPG key ID: 81137023740CA260

View file

@ -1,3 +1,4 @@
#include <cassert>
#include <iostream> #include <iostream>
#include <ostream> #include <ostream>
// requires C++23 to compile // requires C++23 to compile
@ -17,16 +18,22 @@ public:
ret.counter--; ret.counter--;
return ret; return ret;
} }
friend std::ostream &operator<<(std::ostream &lhs, A const &rhs) { // friend std::ostream &operator<<(std::ostream &lhs, A const &rhs) {
lhs << rhs.counter; // lhs << rhs.counter;
return lhs; // return lhs;
} // }
operator long long() { return counter; }
}; };
int main(void) { int main(void) {
A a; A a;
std::cout << a[] << std::endl; assert(a == 0);
std::cout << a[]() << std::endl; assert(a[] == -1);
std::cout << a[]()() << std::endl; assert(a[]() == 0);
assert(a[]()() == 1);
int i = a;
assert(i == 0);
i = a()()();
assert(i == 3);
return 0; return 0;
} }