8#ifndef GRAPHMLWRITER_UNIT_TESTS_HPP_
9#define GRAPHMLWRITER_UNIT_TESTS_HPP_
13#include "GraphMLWriter.hpp"
14#include "Graph/CartesianGraphFactory.hpp"
15#include "util/util.hpp"
17BOOST_AUTO_TEST_SUITE( graphml_writer_test )
28 typedef boost::fusion::vector<float,float,float,double,long int,int,std::string>
type;
34 static const unsigned int x = 0;
36 static const unsigned int y = 1;
38 static const unsigned int z = 2;
40 static const unsigned int double_num = 3;
42 static const unsigned int long_num = 4;
44 static const unsigned int integer = 5;
46 static const unsigned int string = 6;
48 static const unsigned int max_prop = 7;
51 float &
get_x() {
return boost::fusion::at_c<x>(data);}
53 float &
get_y() {
return boost::fusion::at_c<y>(data);}
55 float &
get_z() {
return boost::fusion::at_c<z>(data);}
57 double &
get_dn() {
return boost::fusion::at_c<double_num>(data);}
59 long int &
get_ln() {
return boost::fusion::at_c<long_num>(data);}
61 int &
get_i() {
return boost::fusion::at_c<integer>(data);}
63 std::string &
get_str() {
return boost::fusion::at_c<string>(data);}
68 static const std::string name[max_prop];
71 static inline bool noPointers()
81const std::string ne_cp::attributes::name[] = {
"x",
"y",
"z",
"double_num",
"long_num",
"integer",
"string"};
83BOOST_AUTO_TEST_CASE( graphml_writer_use)
92 if (v_cl.
rank() != 0) {
return;}
93 std::string c2 = std::string(
"openfpm_io/test_data/test_graph2_test.graphml");
94 std::string c3 = std::string(
"openfpm_io/test_data/test_graph_test.graphml");
98 std::string c2 = std::string(
"test_data/test_graph2_test.graphml");
99 std::string c3 = std::string(
"test_data/test_graph_test.graphml");
114 n1.get_str() = std::string(
"test");
116 n1.get_str() = std::string(
"tes2");
118 n1.get_str() = std::string(
"test3");
120 n1.get_str() = std::string(
"test4");
122 n1.get_str() = std::string(
"test5");
125 n1.get_str() = std::string(
"test6");
127 n1.get_str() = std::string(
"test7");
129 n1.get_str() = std::string(
"test8");
131 n1.get_str() = std::string(
"test9");
136 gv2.write(
"test_graph2.graphml");
140 bool test = compare(
"test_graph2.graphml",c2);
141 BOOST_REQUIRE_EQUAL(
true,test);
148 size_t sz[] = {GS_SIZE,GS_SIZE,GS_SIZE};
154 size_t bc[] = {NON_PERIODIC,NON_PERIODIC,NON_PERIODIC};
160 gw.write(
"test_graph.graphml");
164 test = compare(
"test_graph.graphml",c3);
165 BOOST_REQUIRE_EQUAL(
true,test);
168BOOST_AUTO_TEST_SUITE_END()
This class represent an N-dimensional box.
This class construct a cartesian graph.
static Graph construct(const size_t(&sz)[dim], Box< dim, T > &dom, const size_t(&bc)[dim])
Construct a cartesian graph, with V and E edge properties.
Structure that store a graph in CSR format or basically in compressed adjacency matrix format.
void addVertex(const V &vrt)
add vertex
auto addEdge(size_t v1, size_t v2, const E &ed) -> decltype(e.get(0))
add edge on the graph
size_t rank()
Get the process unit id.
size_t getProcessUnitID()
Get the process unit id.
Implementation of VCluster class.
double & get_dn()
get double number
boost::fusion::vector< float, float, float, double, long int, int, std::string > type
The node contain several properties.
static const unsigned int x
x property id in boost::fusion::vector
static const unsigned int y
y property id in boost::fusion::vector
float s_type
type of the spatial information
std::string & get_str()
get string
static const unsigned int z
z property id in boost::fusion::vector
long int & get_ln()
get long number