GCC Code Coverage Report


Directory: src/gate/
File: src/gate/tests/gatecore_cpp_test/test_values.cpp
Date: 2025-09-14 13:10:38
Exec Total Coverage
Lines: 31 31 100.0%
Functions: 13 13 100.0%
Branches: 45 117 38.5%

Line Branch Exec Source
1 #include "gate/tests.hpp"
2 #include "gate/values.hpp"
3 #include "gate/typeids.hpp"
4
5 using namespace gate;
6
7 20 template<class T> void test_value_assign_type(T const& orig)
8 {
9
1/2
✓ Branch 1 taken 10 times.
✗ Branch 2 not taken.
40 const Value v = orig;
10 20 T num = T();
11
5/14
✓ Branch 1 taken 10 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 10 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 10 times.
✗ Branch 8 not taken.
✓ Branch 9 taken 10 times.
✗ Branch 10 not taken.
✓ Branch 12 taken 10 times.
✗ Branch 13 not taken.
✗ Branch 15 not taken.
✗ Branch 16 not taken.
✗ Branch 18 not taken.
✗ Branch 19 not taken.
20 GATEXX_TEST_CHECK(v.exportAs(num));
12
4/12
✓ Branch 1 taken 10 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 10 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 10 times.
✗ Branch 7 not taken.
✓ Branch 9 taken 10 times.
✗ Branch 10 not taken.
✗ Branch 12 not taken.
✗ Branch 13 not taken.
✗ Branch 15 not taken.
✗ Branch 16 not taken.
20 GATEXX_TEST_CHECK_EQUAL(num, orig);
13
4/12
✓ Branch 1 taken 10 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 10 times.
✗ Branch 5 not taken.
✓ Branch 8 taken 10 times.
✗ Branch 9 not taken.
✓ Branch 11 taken 10 times.
✗ Branch 12 not taken.
✗ Branch 14 not taken.
✗ Branch 15 not taken.
✗ Branch 17 not taken.
✗ Branch 18 not taken.
20 GATEXX_TEST_CHECK_EQUAL(TypeId<T>::value(), v.Type());
14
15 40 Value v2;
16
1/2
✓ Branch 1 taken 10 times.
✗ Branch 2 not taken.
20 v2 = v;
17
4/12
✓ Branch 1 taken 10 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 10 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 10 times.
✗ Branch 8 not taken.
✓ Branch 10 taken 10 times.
✗ Branch 11 not taken.
✗ Branch 13 not taken.
✗ Branch 14 not taken.
✗ Branch 16 not taken.
✗ Branch 17 not taken.
20 GATEXX_TEST_CHECK(v2.c_impl() != NULL);
18
1/2
✓ Branch 1 taken 10 times.
✗ Branch 2 not taken.
40 const Value v3(v);
19
1/2
✓ Branch 2 taken 10 times.
✗ Branch 3 not taken.
40 const Value v4(*v.c_impl());
20
21 20 T num2 = T();
22
1/2
✓ Branch 1 taken 10 times.
✗ Branch 2 not taken.
20 v4.get(num2);
23
4/12
✓ Branch 1 taken 10 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 10 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 10 times.
✗ Branch 7 not taken.
✓ Branch 9 taken 10 times.
✗ Branch 10 not taken.
✗ Branch 12 not taken.
✗ Branch 13 not taken.
✗ Branch 15 not taken.
✗ Branch 16 not taken.
20 GATEXX_TEST_CHECK_EQUAL(orig, num2);
24
25
1/2
✓ Branch 1 taken 10 times.
✗ Branch 2 not taken.
40 Value v5 = v4;
26
1/2
✓ Branch 1 taken 10 times.
✗ Branch 2 not taken.
20 v5.set(num2);
27
28
1/2
✓ Branch 1 taken 10 times.
✗ Branch 2 not taken.
40 String text = v.toString();
29
4/12
✓ Branch 1 taken 10 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 10 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 10 times.
✗ Branch 8 not taken.
✓ Branch 10 taken 10 times.
✗ Branch 11 not taken.
✗ Branch 13 not taken.
✗ Branch 14 not taken.
✗ Branch 16 not taken.
✗ Branch 17 not taken.
20 GATEXX_TEST_CHECK(!text.empty());
30
31 20 }
32
33
2/7
✓ Branch 2 taken 1 times.
✓ Branch 3 taken 1 times.
✗ Branch 4 not taken.
✗ Branch 11 not taken.
✗ Branch 12 not taken.
✗ Branch 14 not taken.
✗ Branch 15 not taken.
6 GATEXX_TEST_UNIT(ValueTypes)
34 {
35
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
2 test_value_assign_type<gate::bool_t>(true);
36
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
2 test_value_assign_type<gate::int8_t>(1);
37 //test_value_assign_type<gate::uint8_t>(2);
38
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
2 test_value_assign_type<gate::int16_t>(3);
39
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
2 test_value_assign_type<gate::uint16_t>(4);
40
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
2 test_value_assign_type<gate::int32_t>(5);
41
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
2 test_value_assign_type<gate::uint32_t>(6);
42
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
2 test_value_assign_type<gate::int64_t>(7);
43
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
2 test_value_assign_type<gate::uint64_t>(8);
44
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
2 test_value_assign_type<gate::real32_t>(1.1f);
45
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
2 test_value_assign_type<gate::real64_t>(2.2);
46 2 }
47
48