| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 |
- //
- // json_binder_test_bool.t.h
- // json
- //
- // Created by Sam Jaffe on 2/27/17.
- //
- #include "json/json_binder.hpp"
- #include <gmock/gmock.h>
- using namespace json::binder;
- using namespace json::parser;
- using namespace ::testing;
- TEST(JsonBinderBoolTest, ParsesTrue) {
- char data[] = "true";
- bool out = false;
- value_binder<bool> binder{};
- parse(bind(out, binder), data, allow_all);
- EXPECT_THAT(out, true);
- }
- TEST(JsonBinderBoolTest, ParsesFalse) {
- char data[] = "false";
- bool out = true;
- value_binder<bool> binder{};
- parse(bind(out, binder), data, allow_all);
- EXPECT_THAT(out, false);
- }
- TEST(JsonBinderBoolTest, ThrowsOnBadData) {
- char data[] = "YES"; // Obj-C
- bool out = false;
- value_binder<bool> binder{};
- EXPECT_THROW(parse(bind(out, binder), data, allow_all),
- json::malformed_json_exception);
- }
- TEST(JsonBinderBoolTest, WritesTrue) {
- std::string const expected = "true";
- std::stringstream ss;
- bool const in = true;
- value_binder<bool> binder{};
- write(bind(in, binder), ss);
- EXPECT_THAT(ss.str(), expected);
- }
- TEST(JsonBinderBoolTest, WritesFalse) {
- std::string const expected = "false";
- std::stringstream ss;
- bool const in = false;
- value_binder<bool> binder{};
- write(bind(in, binder), ss);
- EXPECT_THAT(ss.str(), expected);
- }
|