#include "test.h"
#include <panda/traits.h>
TEST_PREFIX("traits: ", "[traits]");
TEST("bool_or") {
struct N {};
REQUIRE(bool_or(nullptr, true) == false);
REQUIRE(bool_or(1, false) == true);
REQUIRE(bool_or(string(""), true) == false);
REQUIRE(bool_or(string("1"), false) == true);
REQUIRE(bool_or(N{}, true) == true);
REQUIRE(bool_or(N{}, false) == false);
int a = 1;
int& ref = a;
REQUIRE(bool_or(ref, false) == true);
string s;
string& sref = s;
REQUIRE(bool_or(sref, true) == false);
s = "123";
REQUIRE(bool_or(sref, false) == true);
N n;
N& nref = n;
REQUIRE(bool_or(nref, true) == true);
REQUIRE(bool_or(nref, false) == false);
}