Fixed else if statement generation in sequence diagrams (Fixes #81)

This commit is contained in:
Bartek Kryza
2023-08-06 21:38:33 +02:00
parent 39be6014ed
commit fd06d93afb
8 changed files with 44 additions and 24 deletions

View File

@@ -8,6 +8,7 @@ struct A {
int a2() { return 1; }
int a3() { return 2; }
int a4() { return 3; }
int a5() { return 4; }
};
struct B {
@@ -48,6 +49,9 @@ int tmain()
if (reinterpret_cast<uint64_t>(&a) % 100 == 0ULL) {
result = a.a1();
}
else if (reinterpret_cast<uint64_t>(&a) % 100 == 42ULL) {
result = a.a5();
}
else if (reinterpret_cast<uint64_t>(&a) % 64 == 0ULL) {
if (c.c3(a.a2()) > 2)
result = b.b1();

View File

@@ -63,6 +63,7 @@ TEST_CASE("t20020", "[test-case][sequence]")
using namespace json;
std::vector<int> messages = {FindMessage(j, "tmain()", "A", "a1()"),
FindMessage(j, "tmain()", "A", "a5()"),
FindMessage(j, "tmain()", "A", "a2()"),
FindMessage(j, "tmain()", "C", "c3(int)"),
FindMessage(j, "tmain()", "B", "b1()"),