Branch Coverage

src/panda/Geos/Helper.cc
Criterion Covered Total %
branch 62 114 54.3


line true false branch
9 184 184 if (idx == 0) return c->x;
10 184 0 if (idx == 1) return c->y;
11 0 0 if (idx == 2) return c->z;
16 0 57 if (!coords) throw("wrong argument");
19 184 57 for(size_t i = 0; i < size; ++i) {
20 184 0 auto& coord = xs::in(coords[i]);
21 368 184 for(size_t j = 0; j < dims; ++j) {
31 56 15 for(size_t idx = 0; idx < size; ++idx) {
32 56 0 Coordinate native_coord;
33 56 0 seq->getAt(idx, native_coord);
34 56 0 Coordinate* copy_coord = new Coordinate(native_coord);
35 56 0 auto coord = xs::out(copy_coord);
36 56 0 arr.push(coord);
43 32 0 for(const auto& c: coords) {
32 0 for(const auto& c: coords) {
101 32 for(const auto& c: coords) {
101 0 for(const auto& c: coords) {
44 101 0 seq.add( xs::in(c) );
101 0 seq.add( xs::in(c) );
52 18 0 result.reserve(geometries.size());
18 0 result.reserve(geometries.size());
53 18 0 for(const auto& item: geometries) {
18 0 for(const auto& item: geometries) {
8 18 for(const auto& item: geometries) {
8 0 for(const auto& item: geometries) {
54 8 0 auto& g = xs::in(item);
55 8 0 result.push_back(&g);
61 11 0 if (v) {
62 11 0 Array result = Array::create(v->size());
63 15 11 for(auto it: *v) {
65 15 0 HE* he = hv_fetch_ent(lookup_map, key, 0, 0);
66 0 15 if (!he) throw ("Cannot lookup key in map");
67 15 0 result.push(Sv(HeVAL(he)));
76 16 0 HE* he = hv_fetch_ent(lookup_map, item, 0, 0);
77 0 16 if (he) {
81 16 0 value = newSVsv(item);
82 16 0 auto result = hv_store_ent(lookup_map, value, value, 0);
83 0 16 if (!result) {
84 0 0 SvREFCNT_dec(value);
94 5 0 case GEOS_POINT: return xs::out<>(dyn_cast(g));
5 0 case GEOS_POINT: return xs::out<>(dyn_cast(g));
95 14 0 case GEOS_LINESTRING: return xs::out<>(dyn_cast(g));
14 0 case GEOS_LINESTRING: return xs::out<>(dyn_cast(g));
96 3 0 case GEOS_LINEARRING: return xs::out<>(dyn_cast(g));
3 0 case GEOS_LINEARRING: return xs::out<>(dyn_cast(g));
97 59 0 case GEOS_POLYGON: return xs::out<>(dyn_cast(g));
59 0 case GEOS_POLYGON: return xs::out<>(dyn_cast(g));
98 6 0 case GEOS_MULTIPOINT: return xs::out<>(dyn_cast(g));
6 0 case GEOS_MULTIPOINT: return xs::out<>(dyn_cast(g));
99 10 0 case GEOS_MULTILINESTRING: return xs::out<>(dyn_cast(g));
10 0 case GEOS_MULTILINESTRING: return xs::out<>(dyn_cast(g));
100 14 0 case GEOS_MULTIPOLYGON: return xs::out<>(dyn_cast(g));
14 0 case GEOS_MULTIPOLYGON: return xs::out<>(dyn_cast(g));
101 20 0 case GEOS_GEOMETRYCOLLECTION: return xs::out<>(dyn_cast(g));
20 0 case GEOS_GEOMETRYCOLLECTION: return xs::out<>(dyn_cast(g));
105 46 0 }
46 0 }