Branch Coverage

xsi/GeometryFactory.xsi
Criterion Covered Total %
branch 86 164 52.4


line true false branch
7 27 4 ptr = GeometryFactory::create();
8 27 0 }
11 4 0 if (arg2) {
12 3 1 int srid = SvIV(arg2);
13 3 0 ptr = GeometryFactory::create(&pm, srid);
0 0 ptr = GeometryFactory::create(&pm, srid);
14 3 0 }
16 1 0 }
19 31 0 /* steal pointer without destroying the factory */
27 1 0 RETVAL = new PrecisionModel(*pm);
28 1 0 }
1 0 }
30 4 0 int GeometryFactory::getSRID ()
34 1 0 }
38 1 34 else {
1 0 else {
40 34 0 Object obj {arg1};
32 2 Object obj {arg1};
41 32 0 if (obj && obj.stash().name() == "Geo::Geos::Coordinate") {
42 32 0 auto coord = xs::in(obj);
32 0 auto coord = xs::in(obj);
32 0 auto coord = xs::in(obj);
32 0 auto coord = xs::in(obj);
32 0 auto coord = xs::in(obj);
32 0 auto coord = xs::in(obj);
0 0 auto coord = xs::in(obj);
43 32 0 RETVAL = THIS->createPoint(*coord);
44 32 0 }
49 0 2 size_t dims = SvIV(arg2);
50 2 0 auto seq = Helper::convert_copy(*THIS, Array(arg1), dims);
0 0 auto seq = Helper::convert_copy(*THIS, Array(arg1), dims);
51 2 0 RETVAL = THIS->createPoint(seq);
2 0 RETVAL = THIS->createPoint(seq);
52 2 0 }
58 2 11 else {
2 0 else {
60 0 11 size_t dims = SvIV(arg2);
61 11 0 auto seq = std::unique_ptr(Helper::convert_copy(*THIS, Array(arg1), dims));
0 0 auto seq = std::unique_ptr(Helper::convert_copy(*THIS, Array(arg1), dims));
62 11 0 RETVAL = THIS->createMultiPoint(*seq);
11 0 RETVAL = THIS->createMultiPoint(*seq);
63 11 0 }
68 1 21 else {
1 0 else {
70 0 21 size_t dims = SvIV(arg2);
71 21 0 auto seq = std::unique_ptr(Helper::convert_copy(*THIS, Array(arg1), dims));
0 0 auto seq = std::unique_ptr(Helper::convert_copy(*THIS, Array(arg1), dims));
72 21 0 RETVAL = THIS->createLineString(*seq);
21 0 RETVAL = THIS->createLineString(*seq);
73 21 0 }
78 1 2 else {
1 0 else {
80 2 0 if (!geometries) throw ("unsupported argument");
81 0 2 auto lines = Helper::convert_geometries(geometries);
82 2 0 RETVAL = THIS->createMultiLineString(lines);
2 0 RETVAL = THIS->createMultiLineString(lines);
83 2 0 }
88 1 21 else {
1 0 else {
90 0 21 size_t dims = SvIV(arg2);
91 21 0 auto seq = std::unique_ptr(Helper::convert_copy(*THIS, Array(arg1), dims));
0 0 auto seq = std::unique_ptr(Helper::convert_copy(*THIS, Array(arg1), dims));
92 21 0 RETVAL = THIS->createLinearRing(*seq);
21 0 RETVAL = THIS->createLinearRing(*seq);
93 21 0 }
98 1 15 else {
1 0 else {
100 15 0 auto holes = Helper::convert_geometries(Array(arg2));
101 15 0 RETVAL = THIS->createPolygon(*ring, holes);
15 0 RETVAL = THIS->createPolygon(*ring, holes);
102 15 0 }
107 1 1 else {
1 0 else {
109 1 0 RETVAL = THIS->createMultiPolygon(polygons);
1 0 RETVAL = THIS->createMultiPolygon(polygons);
110 1 0 }
114 1 0 RETVAL = Helper::uplift(THIS->toGeometry(env));
1 0 RETVAL = Helper::uplift(THIS->toGeometry(env));
118 1 0 RETVAL = Helper::uplift(THIS->createEmptyGeometry());
1 0 RETVAL = Helper::uplift(THIS->createEmptyGeometry());
124 46 0 xs::exp::autoexport(Stash(__PACKAGE__));
46 0 xs::exp::autoexport(Stash(__PACKAGE__));