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

Function TEST_NAME

test/variant_add_test.cpp:38–247  ·  view source on GitHub ↗

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

Source from the content-addressed store, hash-verified

36
37////////////////////////////////////////////////////////////////////////////////
38int TEST_NAME(int, char**) {
39 UnitTest t(80);
40
41 Variant v0(true);
42 Variant v1(42);
43 Variant v2(3.14);
44 Variant v3("foo");
45 Variant v4(1234567890, Variant::type_date);
46 Variant v5(1200, Variant::type_duration);
47
48 // boolean + boolean -> ERROR
49 try {
50 Variant v00 = v0 + v0;
51 t.fail("true + true --> error");
52 } catch (...) {
53 t.pass("true + true --> error");
54 }
55
56 // boolean + integer -> integer
57 Variant v01 = v0 + v1;
58 t.is(v01.type(), Variant::type_integer, "true + 42 --> integer");
59 t.is(v01.get_integer(), 43, "true + 42 --> 43");
60
61 // boolean + real -> real
62 Variant v02 = v0 + v2;
63 t.is(v02.type(), Variant::type_real, "true + 3.14 --> real");
64 t.is(v02.get_real(), 4.14, EPSILON, "true + 3.14 --> 4.14");
65
66 // boolean + string -> string
67 Variant v03 = v0 + v3;
68 t.is(v03.type(), Variant::type_string, "true + foo --> string");
69 t.is(v03.get_string(), "truefoo", "true + foo --> truefoo");
70
71 // boolean + date -> date
72 Variant v04 = v0 + v4;
73 t.is(v04.type(), Variant::type_date, "true + 1234567890 --> date");
74 t.is(v04.get_date(), "1234567891", "true + 1234567890 --> 1234567891");
75
76 // boolean + duration -> duration
77 Variant v05 = v0 + v5;
78 t.is(v05.type(), Variant::type_duration, "true + 1200 --> duration");
79 t.is(v05.get_duration(), "1201", "true + 1200 --> 1201");
80
81 // integer + boolean -> integer
82 Variant v10 = v1 + v0;
83 t.is(v10.type(), Variant::type_integer, "42 + true --> integer");
84 t.is(v10.get_integer(), 43, "42 + true --> 43");
85
86 // integer + integer -> integer
87 Variant v11 = v1 + v1;
88 t.is(v11.type(), Variant::type_integer, "42 + 42 --> integer");
89 t.is(v11.get_integer(), 84, "42 + 42 --> 84");
90
91 // integer + real -> real
92 Variant v12 = v1 + v2;
93 t.is(v12.type(), Variant::type_real, "42 + 3.14 --> real");
94 t.is(v12.get_real(), 45.14, EPSILON, "42 + 3.14 --> 45.14");
95

Callers

nothing calls this directly

Calls 8

failMethod · 0.80
passMethod · 0.80
isMethod · 0.80
typeMethod · 0.80
get_integerMethod · 0.80
get_realMethod · 0.80
get_durationMethod · 0.80
get_dateMethod · 0.45

Tested by

no test coverage detected