Macros | Functions
return_types_t.cc File Reference
#include "boost/test/unit_test.hpp"
#include "fhiclcpp/types/Atom.h"
#include "fhiclcpp/types/Sequence.h"
#include "fhiclcpp/types/Tuple.h"
#include <array>
#include <string>
#include <tuple>
#include <type_traits>
#include <vector>

Go to the source code of this file.

Macros

#define BOOST_TEST_MODULE   (return types test)
 

Functions

 BOOST_AUTO_TEST_CASE (one_atom_t)
 
 BOOST_AUTO_TEST_CASE (one_sequence_t)
 
 BOOST_AUTO_TEST_CASE (one_sequence_2_t)
 
 BOOST_AUTO_TEST_CASE (one_tuple_t)
 
 BOOST_AUTO_TEST_CASE (seq_in_tuple_t)
 
 BOOST_AUTO_TEST_CASE (bounded_seq_in_tuple_t)
 
 BOOST_AUTO_TEST_CASE (tuple_in_tuple_t)
 
 BOOST_AUTO_TEST_CASE (tuple_in_seq_t)
 
 BOOST_AUTO_TEST_CASE (tuple_in_seq_2_t)
 
 BOOST_AUTO_TEST_CASE (seq_in_seq_t)
 
 BOOST_AUTO_TEST_CASE (seq_2_in_seq_t)
 
 BOOST_AUTO_TEST_CASE (seq_in_seq_2_t)
 
 BOOST_AUTO_TEST_CASE (seq_2_in_seq_2_t)
 

Macro Definition Documentation

#define BOOST_TEST_MODULE   (return types test)

Definition at line 7 of file return_types_t.cc.

Function Documentation

BOOST_AUTO_TEST_CASE ( one_atom_t  )

Definition at line 38 of file return_types_t.cc.

39 {
40  Atom<int> test{Name("atom")};
41  require_type_as<int>(test);
42 }
ChannelGroupService::Name Name
BOOST_AUTO_TEST_CASE ( one_sequence_t  )

Definition at line 45 of file return_types_t.cc.

46 {
47  Sequence<int> test{Name("sequence")};
48  require_type_as<std::vector<int>>(test);
49 }
ChannelGroupService::Name Name
BOOST_AUTO_TEST_CASE ( one_sequence_2_t  )

Definition at line 52 of file return_types_t.cc.

53 {
54  Sequence<int, 2> test{Name("sequence")};
55  require_type_as<std::array<int, 2>>(test);
56 }
ChannelGroupService::Name Name
BOOST_AUTO_TEST_CASE ( one_tuple_t  )

Definition at line 59 of file return_types_t.cc.

60 {
62  require_type_as<std::tuple<int, double, bool>>(test);
63 }
ChannelGroupService::Name Name
BOOST_AUTO_TEST_CASE ( seq_in_tuple_t  )

Definition at line 66 of file return_types_t.cc.

67 {
68  Tuple<Sequence<int>, double, bool> test{Name("tuple")};
69  require_type_as<std::tuple<std::vector<int>, double, bool>>(test);
70 }
ChannelGroupService::Name Name
BOOST_AUTO_TEST_CASE ( bounded_seq_in_tuple_t  )

Definition at line 73 of file return_types_t.cc.

74 {
75  Tuple<Sequence<int, 2>, double, bool> test{Name("tuple")};
76  require_type_as<std::tuple<std::array<int, 2>, double, bool>>(test);
77 }
ChannelGroupService::Name Name
BOOST_AUTO_TEST_CASE ( tuple_in_tuple_t  )

Definition at line 80 of file return_types_t.cc.

81 {
82  Tuple<Tuple<int, float>, double, bool> test{Name("tuple")};
83  require_type_as<std::tuple<std::tuple<int, float>, double, bool>>(test);
84 }
ChannelGroupService::Name Name
BOOST_AUTO_TEST_CASE ( tuple_in_seq_t  )

Definition at line 87 of file return_types_t.cc.

88 {
89  Sequence<Tuple<int, float>> test{Name("seqtuple")};
90  require_type_as<std::vector<std::tuple<int, float>>>(test);
91 }
ChannelGroupService::Name Name
BOOST_AUTO_TEST_CASE ( tuple_in_seq_2_t  )

Definition at line 94 of file return_types_t.cc.

95 {
96  Sequence<Tuple<int, float>, 2> test{Name("seqtuple")};
97  require_type_as<std::array<std::tuple<int, float>, 2>>(test);
98 }
ChannelGroupService::Name Name
BOOST_AUTO_TEST_CASE ( seq_in_seq_t  )

Definition at line 101 of file return_types_t.cc.

102 {
103  Sequence<Sequence<int>> test{Name("seqseq")};
104  require_type_as<std::vector<std::vector<int>>>(test);
105 }
ChannelGroupService::Name Name
BOOST_AUTO_TEST_CASE ( seq_2_in_seq_t  )

Definition at line 108 of file return_types_t.cc.

109 {
110  Sequence<Sequence<int, 2>> test{Name("seqseq")};
111  require_type_as<std::vector<std::array<int, 2>>>(test);
112 }
ChannelGroupService::Name Name
BOOST_AUTO_TEST_CASE ( seq_in_seq_2_t  )

Definition at line 115 of file return_types_t.cc.

116 {
117  Sequence<Sequence<int>, 2> test{Name("seqseq")};
118  require_type_as<std::array<std::vector<int>, 2>>(test);
119 }
ChannelGroupService::Name Name
BOOST_AUTO_TEST_CASE ( seq_2_in_seq_2_t  )

Definition at line 122 of file return_types_t.cc.

123 {
124  Sequence<Sequence<int, 2>, 2> test{Name("seqseq")};
125  require_type_as<std::array<std::array<int, 2>, 2>>(test);
126 }
ChannelGroupService::Name Name