void SVGAnalyzer::on_enter_element_rect() { m_num_rects++; }
void SVGAnalyzer::on_enter_element_title() { m_num_titles++; }
-
-void SVGAnalyzer::on_enter_element_unknown() { m_num_unknowns++; }
void on_enter_element_polyline() override;
void on_enter_element_rect() override;
void on_enter_element_title() override;
- void on_enter_element_unknown() override;
std::size_t num_svgs() const { return m_num_svgs; };
std::size_t num_groups() const { return m_num_groups; };
std::size_t num_circles() const { return m_num_circles; };
std::size_t num_polylines() const { return m_num_polylines; };
std::size_t num_rects() const { return m_num_rects; };
std::size_t num_titles() const { return m_num_titles; };
- std::size_t num_unknowns() const { return m_num_unknowns; };
private:
std::size_t m_num_svgs = 1; // the top level svg is implicit. See
std::size_t m_num_polylines = 0;
std::size_t m_num_rects = 0;
std::size_t m_num_titles = 0;
- std::size_t m_num_unknowns = 0;
};
virtual void on_enter_element_polyline() = 0;
virtual void on_enter_element_rect() = 0;
virtual void on_enter_element_title() = 0;
- virtual void on_enter_element_unknown() = 0;
};
m_svgAnalyzer->on_enter_element_title();
}
-void SvgppContext::on_enter_element(svgpp::tag::element::any) {
- m_svgAnalyzer->on_enter_element_unknown();
-}
-
void SvgppContext::on_exit_element() {}
void SvgppContext::path_move_to(double x, double y,
void on_enter_element(svgpp::tag::element::polyline e);
void on_enter_element(svgpp::tag::element::rect e);
void on_enter_element(svgpp::tag::element::title e);
- void on_enter_element(svgpp::tag::element::any e);
void on_exit_element();
void path_move_to(double x, double y, svgpp::tag::coordinate::absolute);
void path_line_to(double x, double y, svgpp::tag::coordinate::absolute);
REQUIRE(svgAnalyzer.num_polylines() == 0);
REQUIRE(svgAnalyzer.num_rects() == 0);
REQUIRE(svgAnalyzer.num_titles() == 0);
- REQUIRE(svgAnalyzer.num_unknowns() == 0);
}
TEST_CASE("Rendering an SVG from a graph with a single node outputs an SVG "
REQUIRE(svgAnalyzer.num_polylines() == 0);
REQUIRE(svgAnalyzer.num_rects() == 0);
REQUIRE(svgAnalyzer.num_titles() == 1);
- REQUIRE(svgAnalyzer.num_unknowns() == 0);
}
TEST_CASE("Rendering an SVG from a graph with two nodes outputs an SVG "
REQUIRE(svgAnalyzer.num_polylines() == 0);
REQUIRE(svgAnalyzer.num_rects() == 0);
REQUIRE(svgAnalyzer.num_titles() == 2);
- REQUIRE(svgAnalyzer.num_unknowns() == 0);
}
TEST_CASE("Rendering an SVG from a graph with two nodes and one edge outputs "
REQUIRE(svgAnalyzer.num_polylines() == 0);
REQUIRE(svgAnalyzer.num_rects() == 0);
REQUIRE(svgAnalyzer.num_titles() == 3);
- REQUIRE(svgAnalyzer.num_unknowns() == 0);
}
CHECK(svg_analyzer.num_polylines() == 0);
CHECK(svg_analyzer.num_rects() == 0);
CHECK(svg_analyzer.num_titles() == num_titles);
- CHECK(svg_analyzer.num_unknowns() == 0);
gvFreeRenderData(result);
gvFreeLayout(gvc, g);
CHECK(svg_analyzer.num_polylines() == 0);
CHECK(svg_analyzer.num_rects() == 0);
CHECK(svg_analyzer.num_titles() == num_titles);
- CHECK(svg_analyzer.num_unknowns() == 0);
gvFreeRenderData(result);
gvFreeLayout(gvc, g);
CHECK(svg_analyzer.num_polylines() == 0);
CHECK(svg_analyzer.num_rects() == 0);
CHECK(svg_analyzer.num_titles() == num_titles);
- CHECK(svg_analyzer.num_unknowns() == 0);
gvFreeRenderData(result);
CHECK(svg_analyzer.num_polylines() == 0);
CHECK(svg_analyzer.num_rects() == 0);
CHECK(svg_analyzer.num_titles() == num_titles);
- CHECK(svg_analyzer.num_unknowns() == 0);
gvFreeRenderData(result);
}
CHECK(svg_analyzer.num_polylines() == 0);
CHECK(svg_analyzer.num_rects() == 0);
CHECK(svg_analyzer.num_titles() == num_titles);
- CHECK(svg_analyzer.num_unknowns() == 0);
gvFreeRenderData(result);
gvFreeLayout(gvc, g);