From 3ed1a7d53497e40221057355e2e317b91c905e73 Mon Sep 17 00:00:00 2001 From: "Michael R. Wolf" Date: Sun, 1 Sep 2024 17:39:32 -0400 Subject: [PATCH 1/4] . d New mermaid file: Log_ApprovedFile_Access.mmd --- docs/Log_ApprovedFile_Access.mmd | 57 ++++++++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) create mode 100644 docs/Log_ApprovedFile_Access.mmd diff --git a/docs/Log_ApprovedFile_Access.mmd b/docs/Log_ApprovedFile_Access.mmd new file mode 100644 index 0000000..a25c0dc --- /dev/null +++ b/docs/Log_ApprovedFile_Access.mmd @@ -0,0 +1,57 @@ +sequenceDiagram + actor User + participant TestRunner + participant ApprovalTest + participant ApprovalTest_Class + participant ApprovedFile + participant ApprovedFile_2..n + participant LogFile + + User->>TestRunner: Start + + activate TestRunner + + ApprovalTest->>ApprovalTest_Class: implicit class-level setup + activate LogFile + ApprovalTest_Class->>LogFile: open/truncate + + + note over TestRunner,LogFile: Test 1 + TestRunner->>ApprovalTest: Run Test 1 + + note right of ApprovalTest: Arrange + note right of ApprovalTest: Act + note right of ApprovalTest: Assert + ApprovalTest->>ApprovalTest_Class: approve() + ApprovalTest_Class->>ApprovedFile: write + activate ApprovedFile + + ApprovalTest_Class->>LogFile: register file (write/append) + ApprovalTest->>TestRunner: Pass-or-Fail Test 1 + + note over TestRunner,LogFile: Test 2..n + TestRunner->>ApprovalTest: Run Test 2..n + ApprovalTest->>ApprovalTest_Class: approve() + ApprovalTest_Class->>+ApprovedFile_2..n: write + activate ApprovedFile_2..n + ApprovalTest_Class->>LogFile: register file access + ApprovalTest->>TestRunner: Pass-or-Fail Test 2 + ApprovalTest->>TestRunner: . . . + ApprovalTest->>TestRunner: Pass-or-Fail Test n + + note over TestRunner,LogFile: End all tests + + TestRunner->>User: Pass-or-Fail SESSION + + deactivate TestRunner + + Note over ApprovedFile,LogFile: Files persists after test session + + %% Note right of ApprovedFile: ApprovedFile persists + %% Note right of LogFile: LogFile persists + + deactivate LogFile + deactivate ApprovedFile + deactivate ApprovedFile_2..n + + From eff7a395bb57b51ad61ae74a0ffec97eba2f2d95 Mon Sep 17 00:00:00 2001 From: "Michael R. Wolf" Date: Sun, 1 Sep 2024 19:22:30 -0400 Subject: [PATCH 2/4] Create participants dynamically (instead of all at top) --- docs/Log_ApprovedFile_Access.mmd | 51 ++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) diff --git a/docs/Log_ApprovedFile_Access.mmd b/docs/Log_ApprovedFile_Access.mmd index a25c0dc..45f3309 100644 --- a/docs/Log_ApprovedFile_Access.mmd +++ b/docs/Log_ApprovedFile_Access.mmd @@ -1,3 +1,54 @@ +sequenceDiagram + actor User + participant TestRunner + participant ApprovalTest + participant ApprovalTest_Class + + User->>TestRunner: Start + ApprovalTest->>ApprovalTest_Class: implicit class-level setup + create participant LogFile + ApprovalTest_Class->>LogFile: open/truncate + + + %% Test 1 + note over TestRunner,LogFile: Test 1 + TestRunner->>ApprovalTest: Run Test 1 + + note right of ApprovalTest: Arrange + note right of ApprovalTest: Act + note right of ApprovalTest: Assert + ApprovalTest->>ApprovalTest_Class: approve() + + create participant ApprovedFile + ApprovalTest_Class->>ApprovedFile: open/truncate + ApprovalTest_Class->>ApprovedFile: write() + ApprovalTest_Class->>LogFile: write() + ApprovalTest->>TestRunner: Pass-or-Fail Test 1 + + %% Test 2 + note over TestRunner,LogFile: Test 2 + TestRunner->>ApprovalTest: Run Test 2..n + ApprovalTest->>ApprovalTest_Class: approve() + + create participant ApprovedFile_2..n + ApprovalTest_Class->>ApprovedFile_2..n: open/truncate + ApprovalTest_Class->>ApprovedFile_2..n: write + ApprovalTest_Class->>LogFile: write() + ApprovalTest->>TestRunner: Pass-or-Fail Test 2 + + %% Test ...n + note over TestRunner,LogFile: Test ...n + ApprovalTest->>TestRunner: Pass-or-Fail Test ... + ApprovalTest->>TestRunner: Pass-or-Fail Test n + + note over TestRunner,LogFile: End all tests + + TestRunner->>User: Pass-or-Fail SESSION + + Note over ApprovedFile_2..n,LogFile: Files persists after test session + + + sequenceDiagram actor User participant TestRunner From 3da515bb645caa59544687dcb474ac7dd694f20e Mon Sep 17 00:00:00 2001 From: "Michael R. Wolf" Date: Sun, 1 Sep 2024 19:32:49 -0400 Subject: [PATCH 3/4] Removed redundant copy/paste error --- docs/Log_ApprovedFile_Access.mmd | 60 -------------------------------- 1 file changed, 60 deletions(-) diff --git a/docs/Log_ApprovedFile_Access.mmd b/docs/Log_ApprovedFile_Access.mmd index 45f3309..375a2c6 100644 --- a/docs/Log_ApprovedFile_Access.mmd +++ b/docs/Log_ApprovedFile_Access.mmd @@ -46,63 +46,3 @@ sequenceDiagram TestRunner->>User: Pass-or-Fail SESSION Note over ApprovedFile_2..n,LogFile: Files persists after test session - - - -sequenceDiagram - actor User - participant TestRunner - participant ApprovalTest - participant ApprovalTest_Class - participant ApprovedFile - participant ApprovedFile_2..n - participant LogFile - - User->>TestRunner: Start - - activate TestRunner - - ApprovalTest->>ApprovalTest_Class: implicit class-level setup - activate LogFile - ApprovalTest_Class->>LogFile: open/truncate - - - note over TestRunner,LogFile: Test 1 - TestRunner->>ApprovalTest: Run Test 1 - - note right of ApprovalTest: Arrange - note right of ApprovalTest: Act - note right of ApprovalTest: Assert - ApprovalTest->>ApprovalTest_Class: approve() - ApprovalTest_Class->>ApprovedFile: write - activate ApprovedFile - - ApprovalTest_Class->>LogFile: register file (write/append) - ApprovalTest->>TestRunner: Pass-or-Fail Test 1 - - note over TestRunner,LogFile: Test 2..n - TestRunner->>ApprovalTest: Run Test 2..n - ApprovalTest->>ApprovalTest_Class: approve() - ApprovalTest_Class->>+ApprovedFile_2..n: write - activate ApprovedFile_2..n - ApprovalTest_Class->>LogFile: register file access - ApprovalTest->>TestRunner: Pass-or-Fail Test 2 - ApprovalTest->>TestRunner: . . . - ApprovalTest->>TestRunner: Pass-or-Fail Test n - - note over TestRunner,LogFile: End all tests - - TestRunner->>User: Pass-or-Fail SESSION - - deactivate TestRunner - - Note over ApprovedFile,LogFile: Files persists after test session - - %% Note right of ApprovedFile: ApprovedFile persists - %% Note right of LogFile: LogFile persists - - deactivate LogFile - deactivate ApprovedFile - deactivate ApprovedFile_2..n - - From 83568bf662b685eb9449e78c818911ebf99fd775 Mon Sep 17 00:00:00 2001 From: "Michael R. Wolf" Date: Sun, 1 Sep 2024 19:45:33 -0400 Subject: [PATCH 4/4] Add 'loop/end' construct for tests 2..n --- docs/Log_ApprovedFile_Access.mmd | 25 +++++++++++-------------- 1 file changed, 11 insertions(+), 14 deletions(-) diff --git a/docs/Log_ApprovedFile_Access.mmd b/docs/Log_ApprovedFile_Access.mmd index 375a2c6..3d93679 100644 --- a/docs/Log_ApprovedFile_Access.mmd +++ b/docs/Log_ApprovedFile_Access.mmd @@ -26,20 +26,17 @@ sequenceDiagram ApprovalTest->>TestRunner: Pass-or-Fail Test 1 %% Test 2 - note over TestRunner,LogFile: Test 2 - TestRunner->>ApprovalTest: Run Test 2..n - ApprovalTest->>ApprovalTest_Class: approve() - - create participant ApprovedFile_2..n - ApprovalTest_Class->>ApprovedFile_2..n: open/truncate - ApprovalTest_Class->>ApprovedFile_2..n: write - ApprovalTest_Class->>LogFile: write() - ApprovalTest->>TestRunner: Pass-or-Fail Test 2 - - %% Test ...n - note over TestRunner,LogFile: Test ...n - ApprovalTest->>TestRunner: Pass-or-Fail Test ... - ApprovalTest->>TestRunner: Pass-or-Fail Test n + note over TestRunner,LogFile: Test 2..n + loop Remaining Tests + TestRunner->>ApprovalTest: Run Test 2..n + ApprovalTest->>ApprovalTest_Class: approve() + + create participant ApprovedFile_2..n + ApprovalTest_Class->>ApprovedFile_2..n: open/truncate + ApprovalTest_Class->>ApprovedFile_2..n: write + ApprovalTest_Class->>LogFile: write() + ApprovalTest->>TestRunner: Pass-or-Fail Test 2..n + end note over TestRunner,LogFile: End all tests