Branch Coverage

xsi/operation.xsi
Criterion Covered Total %
branch 73 148 49.3


line true false branch
5 2 1 int vQuadrantSegments = quadrantSegments ? SvIV(quadrantSegments) : (int)BufferParameters::DEFAULT_QUADRANT_SEGMENTS;
2 0 int vQuadrantSegments = quadrantSegments ? SvIV(quadrantSegments) : (int)BufferParameters::DEFAULT_QUADRANT_SEGMENTS;
0 0 int vQuadrantSegments = quadrantSegments ? SvIV(quadrantSegments) : (int)BufferParameters::DEFAULT_QUADRANT_SEGMENTS;
6 1 2 int vEndCapStyle = endCapStyle? SvIV(endCapStyle) : (int)BufferParameters::CAP_ROUND;
1 0 int vEndCapStyle = endCapStyle? SvIV(endCapStyle) : (int)BufferParameters::CAP_ROUND;
0 0 int vEndCapStyle = endCapStyle? SvIV(endCapStyle) : (int)BufferParameters::CAP_ROUND;
7 3 0 Geometry* r = BufferOp::bufferOp(&g, distance, vQuadrantSegments, vEndCapStyle);
8 3 0 RETVAL = Helper::uplift(r);
12 1 0 RETVAL = DistanceOp::distance(&g0, &g1);
16 1 0 Array r;
17 1 0 auto seq = DistanceOp::nearestPoints(&g0, &g1);
18 1 0 if(seq) {
20 1 0 r = Helper::convert_copy(seq);
22 1 0 RETVAL = r;
26 1 0 Array r;
27 1 0 auto seq = DistanceOp::closestPoints(&g0, &g1);
28 1 0 if(seq) {
30 1 0 r = Helper::convert_copy(seq);
32 1 0 RETVAL = r;
36 0 1 if (opCode > 4) throw "wrong opCode";
38 1 0 Geometry* g = OverlayOp::overlayOp(&g0, &g1, code);
39 1 0 RETVAL = Helper::uplift(g);
43 2 0 if (obj.stash().name() == "Geo::Geos::Coordinate") {
2 0 if (obj.stash().name() == "Geo::Geos::Coordinate") {
1 1 if (obj.stash().name() == "Geo::Geos::Coordinate") {
44 1 0 auto& c = xs::in(obj);
45 1 0 RETVAL = IsValidOp::isValid(c);
48 1 0 auto& g = xs::in(obj);
49 1 0 RETVAL = IsValidOp::isValid(g);
55 1 1 else {
1 0 else {
58 1 0 switch(rule_id) {
0 0 switch(rule_id) {
60 0 0 case 1: rule = &BoundaryNodeRule::getBoundaryEndPoint(); break;
61 0 0 case 2: rule = &BoundaryNodeRule::getBoundaryMultivalentEndPoint(); break;
62 0 0 case 3: rule = &BoundaryNodeRule::getBoundaryMonovalentEndPoint(); break;
63 0 0 case 4: rule = &BoundaryNodeRule::getBoundaryOGCSFS(); break;
64 1 0 default: throw("Wrong boundaryNodeRule");
67 1 0 }
71 1 0 LineMerger lm;
1 0 LineMerger lm;
73 1 0 for(auto it: in) {
1 0 for(auto it: in) {
2 1 for(auto it: in) {
2 0 for(auto it: in) {
74 2 0 lm.add(&xs::in(it));
2 0 lm.add(&xs::in(it));
77 1 0 auto v = lm.getMergedLineStrings();
78 1 0 Array out = Array::create(v->size());
1 0 Array out = Array::create(v->size());
79 1 1 for(LineString* it: *v) {
80 1 0 auto wrapped = xs::out(it);
81 1 0 out.push(wrapped);
83 1 0 RETVAL = out;
84 1 0 delete v;
88 1 0 RETVAL = LineSequencer::isSequenced(&g);
92 1 0 RETVAL = Helper::uplift(LineSequencer::sequence(g));
1 0 RETVAL = Helper::uplift(LineSequencer::sequence(g));
96 46 0 auto this_stash = Stash(__PACKAGE__);
97 46 0 xs::exp::create_constants(this_stash, {
46 0 xs::exp::create_constants(this_stash, {
46 0 xs::exp::create_constants(this_stash, {
46 0 xs::exp::create_constants(this_stash, {
46 0 xs::exp::create_constants(this_stash, {
46 0 xs::exp::create_constants(this_stash, {
46 0 xs::exp::create_constants(this_stash, {
46 0 xs::exp::create_constants(this_stash, {
46 0 xs::exp::create_constants(this_stash, {
46 0 xs::exp::create_constants(this_stash, {
414 46 xs::exp::create_constants(this_stash, {
0 0 xs::exp::create_constants(this_stash, {
108 46 0 });
109 46 0 xs::exp::autoexport(this_stash);
46 0 xs::exp::autoexport(this_stash);