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

Function TEST_NAME

test/variant_multiply_test.cpp:38–282  ·  view source on GitHub ↗

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

Source from the content-addressed store, hash-verified

36
37////////////////////////////////////////////////////////////////////////////////
38int TEST_NAME(int, char**) {
39 UnitTest t(54);
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(), 42, "true * 42 --> 42");
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(), 3.14, EPSILON, "true * 3.14 --> 3.14");
65
66 // boolean * string -> string
67 Variant v03 = v0 * v3;
68 t.is(v03.type(), Variant::type_string, "true * foo --> real");
69 t.is(v03.get_string(), "foo", "true * foo --> foo");
70
71 // boolean * date -> ERROR
72 try {
73 Variant v04 = v0 * v4;
74 t.fail("true * 1234567890 --> error");
75 } catch (...) {
76 t.pass("true * 1234567890 --> error");
77 }
78
79 // boolean * duration -> duration
80 Variant v05 = v0 * v5;
81 t.is(v05.type(), Variant::type_duration, "true * 1200 --> duration");
82 t.is(v05.get_duration(), 1200, "true * 1200 --> 1200");
83
84 // integer * boolean -> integer
85 Variant v10 = v1 * v0;
86 t.is(v10.type(), Variant::type_integer, "42 * true --> integer");
87 t.is(v10.get_integer(), 42, "42 * true --> 42");
88
89 // integer * integer -> integer
90 Variant v11 = v1 * v1;
91 t.is(v11.type(), Variant::type_integer, "42 * 42 --> integer");
92 t.is(v11.get_integer(), 1764, "42 * 42 --> 1764");
93
94 // integer * real -> real
95 Variant v12 = v1 * v2;

Callers

nothing calls this directly

Calls 7

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

Tested by

no test coverage detected