Added highlight of calls within condition statements in loops
This commit is contained in:
@@ -15,18 +15,31 @@ struct B {
|
||||
int b2() const { return 4; }
|
||||
};
|
||||
|
||||
struct C {
|
||||
int c1() { return 1; }
|
||||
int c2() { return 2; }
|
||||
int c3() { return 3; }
|
||||
int c4() { return c5(); }
|
||||
int c5() { return 5; }
|
||||
|
||||
std::vector<int> &contents() { return contents_; }
|
||||
|
||||
std::vector<int> contents_;
|
||||
};
|
||||
|
||||
int tmain()
|
||||
{
|
||||
A a;
|
||||
std::vector<B> b;
|
||||
C c;
|
||||
|
||||
int i = 10;
|
||||
while (i--) {
|
||||
while (i -= c.c4()) {
|
||||
int j = a.a3();
|
||||
do {
|
||||
for (int l = a.a2(); l > 0; l--)
|
||||
for (int l = a.a2(); l > c.c1(); l -= c.c2())
|
||||
a.a1();
|
||||
} while (j--);
|
||||
} while (j -= c.c3());
|
||||
}
|
||||
|
||||
int result = 0;
|
||||
@@ -34,6 +47,10 @@ int tmain()
|
||||
result += bi.b2();
|
||||
}
|
||||
|
||||
for (const auto &ci : c.contents()) {
|
||||
result += ci;
|
||||
}
|
||||
|
||||
return b.front().b2() + result;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -36,12 +36,27 @@ TEST_CASE("t20021", "[test-case][sequence]")
|
||||
|
||||
// Check if all calls exist
|
||||
REQUIRE_THAT(puml, HasCall(_A("tmain()"), _A("A"), "a1()"));
|
||||
REQUIRE_THAT(puml, HasCall(_A("tmain()"), _A("A"), "a2()"));
|
||||
REQUIRE_THAT(
|
||||
puml, HasCallInControlCondition(_A("tmain()"), _A("A"), "a2()"));
|
||||
REQUIRE_THAT(puml, HasCall(_A("tmain()"), _A("A"), "a3()"));
|
||||
|
||||
REQUIRE_THAT(puml, !HasCall(_A("tmain()"), _A("B"), "b1()"));
|
||||
REQUIRE_THAT(puml, HasCall(_A("tmain()"), _A("B"), "b2()"));
|
||||
|
||||
REQUIRE_THAT(
|
||||
puml, HasCallInControlCondition(_A("tmain()"), _A("C"), "c1()"));
|
||||
REQUIRE_THAT(
|
||||
puml, HasCallInControlCondition(_A("tmain()"), _A("C"), "c2()"));
|
||||
|
||||
// TODO: Why is this not working?
|
||||
// REQUIRE_THAT(
|
||||
// puml, HasCallInControlCondition(_A("tmain()"), _A("C"), "c3()"));
|
||||
REQUIRE_THAT(
|
||||
puml, HasCallInControlCondition(_A("tmain()"), _A("C"), "c4()"));
|
||||
REQUIRE_THAT(puml, HasCall(_A("C"), _A("C"), "c5()"));
|
||||
REQUIRE_THAT(
|
||||
puml, HasCallInControlCondition(_A("tmain()"), _A("C"), "contents()"));
|
||||
|
||||
save_puml(
|
||||
"./" + config.output_directory() + "/" + diagram->name + ".puml", puml);
|
||||
}
|
||||
Reference in New Issue
Block a user