Added initial json generator test cases

This commit is contained in:
Bartek Kryza
2023-03-20 01:33:37 +01:00
parent 44cd7b0484
commit b412f46fb2
10 changed files with 188 additions and 2271 deletions

View File

@@ -113,6 +113,9 @@ generator::generator(diagram_config &config, diagram_model &model)
void generator::generate(std::ostream &ostr) const
{
json_["elements"] = std::vector<nlohmann::json>{};
json_["relationships"] = std::vector<nlohmann::json>{};
generate_top_level_elements(json_);
generate_relationships(json_);

View File

@@ -58,13 +58,6 @@ generator::generator(
{
}
std::string generator::render_name(std::string name) const
{
util::replace_all(name, "##", "::");
return name;
}
void generator::generate_call(const message &m, nlohmann::json &parent) const
{
const auto &from = m_model.get_participant<model::participant>(m.from());

View File

@@ -67,19 +67,8 @@ public:
private:
bool is_participant_generated(common::id_t id) const;
std::string render_name(std::string name) const;
mutable std::set<common::id_t> generated_participants_;
mutable nlohmann::json json_;
mutable std::vector<std::reference_wrapper<nlohmann::json>>
block_statements_stack_;
void process_call_message(const model::message &m,
std::vector<common::model::diagram_element::id_t> &visited) const;
void process_if_message(const model::message &m) const;
void process_else_if_message() const;
void process_end_if_message() const;
@@ -98,6 +87,13 @@ private:
void process_for_message(const model::message &m) const;
void process_end_while_message() const;
void process_while_message(const model::message &m) const;
mutable std::set<common::id_t> generated_participants_;
mutable nlohmann::json json_;
mutable std::vector<std::reference_wrapper<nlohmann::json>>
block_statements_stack_;
};
} // namespace clanguml::sequence_diagram::generators::json