MCPcopy Create free account
hub / github.com/GothenburgBitFactory/taskwarrior / TEST_NAME

Function TEST_NAME

test/variant_xor_test.cpp:36–199  ·  view source on GitHub ↗

///////////////////////////////////////////////////////////////////////////

Source from the content-addressed store, hash-verified

34
35////////////////////////////////////////////////////////////////////////////////
36int TEST_NAME(int, char**) {
37 UnitTest t(76);
38
39 Variant v0(true);
40 Variant v1(42);
41 Variant v2(3.14);
42 Variant v3("foo");
43 Variant v4(1234567890, Variant::type_date);
44 Variant v5(1200, Variant::type_duration);
45
46 // Truth table.
47 Variant vFalse(false);
48 Variant vTrue(true);
49 t.is(vFalse.operator_xor(vFalse), false, "false xor false --> false");
50 t.is(vFalse.operator_xor(vTrue), true, "false xor true --> false");
51 t.is(vTrue.operator_xor(vFalse), true, "true xor false --> false");
52 t.is(vTrue.operator_xor(vTrue), false, "true xor true --> false");
53
54 Variant v00 = v0.operator_xor(v0);
55 t.is(v00.type(), Variant::type_boolean, "true xor true --> boolean");
56 t.is(v00.get_bool(), false, "true xor true --> false");
57
58 Variant v01 = v0.operator_xor(v1);
59 t.is(v01.type(), Variant::type_boolean, "true xor 42 --> boolean");
60 t.is(v01.get_bool(), false, "true xor 42 --> false");
61
62 Variant v02 = v0.operator_xor(v2);
63 t.is(v02.type(), Variant::type_boolean, "true xor 3.14 --> boolean");
64 t.is(v02.get_bool(), false, "true xor 3.14 --> false");
65
66 Variant v03 = v0.operator_xor(v3);
67 t.is(v03.type(), Variant::type_boolean, "true xor 'foo' --> boolean");
68 t.is(v03.get_bool(), false, "true xor 'foo' --> false");
69
70 Variant v04 = v0.operator_xor(v4);
71 t.is(v04.type(), Variant::type_boolean, "true xor 1234567890 --> boolean");
72 t.is(v04.get_bool(), false, "true xor 1234567890 --> false");
73
74 Variant v05 = v0.operator_xor(v5);
75 t.is(v05.type(), Variant::type_boolean, "true xor 1200 --> boolean");
76 t.is(v05.get_bool(), false, "true xor 1200 --> false");
77
78 Variant v10 = v1.operator_xor(v0);
79 t.is(v10.type(), Variant::type_boolean, "42 xor true --> boolean");
80 t.is(v10.get_bool(), false, "42 xor true --> false");
81
82 Variant v11 = v1.operator_xor(v1);
83 t.is(v11.type(), Variant::type_boolean, "42 xor 42 --> boolean");
84 t.is(v11.get_bool(), false, "42 xor 42 --> false");
85
86 Variant v12 = v1.operator_xor(v2);
87 t.is(v12.type(), Variant::type_boolean, "42 xor 3.14 --> boolean");
88 t.is(v12.get_bool(), false, "42 xor 3.14 --> false");
89
90 Variant v13 = v1.operator_xor(v3);
91 t.is(v13.type(), Variant::type_boolean, "42 xor 'foo' --> boolean");
92 t.is(v13.get_bool(), false, "42 xor 'foo' --> false");
93

Callers

nothing calls this directly

Calls 4

isMethod · 0.80
operator_xorMethod · 0.80
typeMethod · 0.80
get_boolMethod · 0.80

Tested by

no test coverage detected