blob: af470d40497f58f2be3469ca469cb55d1ad90e68 [file] [log] [blame]
#include "printer.h"
#include <sstream>
#include "gtest/gtest.h"
namespace fidl_codec {
TEST(PrettyPrinter, uint64_print) {
std::stringstream out;
PrettyPrinter printer(out, WithoutColors, "", 100, false);
// We use variables to get the proper type to <<.
constexpr uint64_t n = 255;
constexpr uint64_t zero = 0;
constexpr uint64_t sixteen = 16;
constexpr uint64_t ten = 10;
ASSERT_EQ(printer.remaining_size(), 100);
printer << n;
ASSERT_EQ(printer.remaining_size(), 97);
printer << zero;
ASSERT_EQ(printer.remaining_size(), 96);
printer << std::hex << n;
ASSERT_EQ(printer.remaining_size(), 94);
printer << zero;
ASSERT_EQ(printer.remaining_size(), 93);
printer << sixteen;
ASSERT_EQ(printer.remaining_size(), 91);
printer << std::dec << ten;
ASSERT_EQ(printer.remaining_size(), 89);
ASSERT_EQ(out.str(), "2550ff01010");
}
} // namespace fidl_codec