MCPcopy Create free account
hub / github.com/boostorg/histogram / run_tests

Function run_tests

test/histogram_mixed_test.cpp:18–56  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

16
17template <typename T1, typename T2>
18void run_tests() {
19 // compare
20 {
21 auto a = make(T1{}, axis::regular<>{3, 0, 3}, axis::integer<>(0, 2));
22 auto b = make_s(T2{}, array_storage<int>(), axis::regular<>{3, 0, 3},
23 axis::integer<>(0, 2));
24 BOOST_TEST_EQ(a, b);
25 auto b2 = make(T2{}, axis::integer<>{0, 3}, axis::integer<>(0, 2));
26 BOOST_TEST_NE(a, b2);
27 auto b3 = make(T2{}, axis::regular<>(3, 0, 4), axis::integer<>(0, 2));
28 BOOST_TEST_NE(a, b3);
29 }
30
31 // add
32 {
33 auto a = make(T1{}, axis::integer<>{0, 2});
34 auto b = make(T2{}, axis::integer<>{0, 2});
35 BOOST_TEST_EQ(a, b);
36 a(0); // 1 0
37 b(1); // 0 1
38 a += b; // 1 1
39 BOOST_TEST_EQ(a[0], 1);
40 BOOST_TEST_EQ(a[1], 1);
41
42 auto c = make(T2{}, axis::integer<>{0, 3});
43 BOOST_TEST_THROWS(a += c, std::invalid_argument);
44 }
45
46 // copy_assign
47 {
48 auto a = make(T1{}, axis::regular<>{3, 0, 3}, axis::integer<>(0, 2));
49 auto b = make_s(T2{}, array_storage<int>(), axis::regular<>{3, 0, 3},
50 axis::integer<>(0, 2));
51 a(1, 1);
52 BOOST_TEST_NE(a, b);
53 b = a;
54 BOOST_TEST_EQ(a, b);
55 }
56}
57
58int main() {
59 run_tests<static_tag, dynamic_tag>();

Callers

nothing calls this directly

Calls 2

makeFunction · 0.85
make_sFunction · 0.85

Tested by

no test coverage detected