TaskManager refactoring
This commit is contained in:
@@ -196,7 +196,7 @@ begin
|
||||
dirtyFlag := CreateAndPrepareDirtyFlag(True); // Start dirty
|
||||
subscriber := TMockSubscriber.Create;
|
||||
|
||||
subscription := dirtyFlag.State.Subscribe(subscriber);
|
||||
subscription := dirtyFlag.State.Signal.Subscribe(subscriber);
|
||||
|
||||
Assert.AreEqual(1, subscriber.NotifyCount, 'Subscriber should be notified immediately when subscribing to an already dirty flag.');
|
||||
Assert.IsTrue(subscriber.WasCalled, 'Subscriber WasCalled should be true.');
|
||||
@@ -211,7 +211,7 @@ begin
|
||||
dirtyFlag := CreateAndPrepareDirtyFlag(False); // Start clean
|
||||
subscriber := TMockSubscriber.Create;
|
||||
|
||||
subscription := dirtyFlag.State.Subscribe(subscriber);
|
||||
subscription := dirtyFlag.State.Signal.Subscribe(subscriber);
|
||||
|
||||
Assert.AreEqual(0, subscriber.NotifyCount, 'Subscriber should NOT be notified immediately when subscribing to a clean flag.');
|
||||
Assert.IsFalse(subscriber.WasCalled, 'Subscriber WasCalled should be false.');
|
||||
@@ -225,7 +225,7 @@ var
|
||||
begin
|
||||
dirtyFlag := CreateAndPrepareDirtyFlag(False); // Start clean
|
||||
subscriber := TMockSubscriber.Create;
|
||||
subscription := dirtyFlag.State.Subscribe(subscriber);
|
||||
subscription := dirtyFlag.State.Signal.Subscribe(subscriber);
|
||||
|
||||
Assert.AreEqual(0, subscriber.NotifyCount, 'Subscriber initially not notified.');
|
||||
|
||||
@@ -242,7 +242,7 @@ var
|
||||
begin
|
||||
dirtyFlag := CreateAndPrepareDirtyFlag(True); // Start dirty
|
||||
subscriber := TMockSubscriber.Create;
|
||||
subscription := dirtyFlag.State.Subscribe(subscriber); // Gets initial notification
|
||||
subscription := dirtyFlag.State.Signal.Subscribe(subscriber); // Gets initial notification
|
||||
|
||||
Assert.AreEqual(1, subscriber.NotifyCount, 'Subscriber notified on subscribe to dirty flag.');
|
||||
|
||||
@@ -259,7 +259,7 @@ var
|
||||
begin
|
||||
dirtyFlag := CreateAndPrepareDirtyFlag(True); // Start dirty
|
||||
subscriber := TMockSubscriber.Create;
|
||||
subscription := dirtyFlag.State.Subscribe(subscriber); // Gets initial notification
|
||||
subscription := dirtyFlag.State.Signal.Subscribe(subscriber); // Gets initial notification
|
||||
|
||||
Assert.AreEqual(1, subscriber.NotifyCount, 'Subscriber notified on subscribe.');
|
||||
dirtyFlag.Reset; // Reset the flag
|
||||
@@ -278,8 +278,8 @@ begin
|
||||
dirtyFlag := CreateAndPrepareDirtyFlag(False); // Start clean
|
||||
sub1 := TMockSubscriber.Create;
|
||||
sub2 := TMockSubscriber.Create;
|
||||
subscription1 := dirtyFlag.State.Subscribe(sub1);
|
||||
subscription2 := dirtyFlag.State.Subscribe(sub2);
|
||||
subscription1 := dirtyFlag.State.Signal.Subscribe(sub1);
|
||||
subscription2 := dirtyFlag.State.Signal.Subscribe(sub2);
|
||||
|
||||
dirtyFlag.Notify; // Make flag dirty
|
||||
|
||||
@@ -295,7 +295,7 @@ var
|
||||
begin
|
||||
dirtyFlag := CreateAndPrepareDirtyFlag(False); // Start clean
|
||||
subscriber := TMockSubscriber.Create;
|
||||
subscription := dirtyFlag.State.Subscribe(subscriber);
|
||||
subscription := dirtyFlag.State.Signal.Subscribe(subscriber);
|
||||
|
||||
subscription.Unsubscribe; // Explicitly unsubscribe
|
||||
|
||||
@@ -318,8 +318,8 @@ begin
|
||||
flagB := CreateAndPrepareDirtyFlag(False); // B starts clean
|
||||
subToB := TMockSubscriber.Create;
|
||||
|
||||
subscriptionMock_B := flagB.State.Subscribe(subToB);
|
||||
subscriptionA_B := flagA.State.Subscribe(flagB); // B subscribes to A's state changes (B's Notify will be called)
|
||||
subscriptionMock_B := flagB.State.Signal.Subscribe(subToB);
|
||||
subscriptionA_B := flagA.State.Signal.Subscribe(flagB); // B subscribes to A's state changes (B's Notify will be called)
|
||||
|
||||
flagA.Notify; // Make A dirty. This should trigger B.Notify
|
||||
|
||||
@@ -339,9 +339,9 @@ begin
|
||||
flagC := CreateAndPrepareDirtyFlag(False);
|
||||
subToC := TMockSubscriber.Create;
|
||||
|
||||
subscriptionMock_C := flagC.State.Subscribe(subToC);
|
||||
subscriptionC_B := flagB.State.Subscribe(flagC); // C subscribes to B
|
||||
subscriptionB_A := flagA.State.Subscribe(flagB); // B subscribes to A
|
||||
subscriptionMock_C := flagC.State.Signal.Subscribe(subToC);
|
||||
subscriptionC_B := flagB.State.Signal.Subscribe(flagC); // C subscribes to B
|
||||
subscriptionB_A := flagA.State.Signal.Subscribe(flagB); // B subscribes to A
|
||||
|
||||
flagA.Notify; // Make A dirty
|
||||
|
||||
@@ -362,8 +362,8 @@ begin
|
||||
flagA := CreateAndPrepareDirtyFlag(False);
|
||||
flagB := CreateAndPrepareDirtyFlag(False);
|
||||
subToB := TMockSubscriber.Create;
|
||||
subscriptionMock_B := flagB.State.Subscribe(subToB);
|
||||
subscriptionA_B := flagA.State.Subscribe(flagB);
|
||||
subscriptionMock_B := flagB.State.Signal.Subscribe(subToB);
|
||||
subscriptionA_B := flagA.State.Signal.Subscribe(flagB);
|
||||
|
||||
flagA.Notify; // A dirty -> B dirty. subToB notified.
|
||||
Assert.IsTrue(flagB.State.IsSet, 'Flag B should be dirty initially.');
|
||||
@@ -391,8 +391,8 @@ begin
|
||||
flagA := CreateAndPrepareDirtyFlag(False);
|
||||
flagB := CreateAndPrepareDirtyFlag(False);
|
||||
subToB := TMockSubscriber.Create;
|
||||
subscriptionMock_B := flagB.State.Subscribe(subToB);
|
||||
subscriptionA_B := flagA.State.Subscribe(flagB);
|
||||
subscriptionMock_B := flagB.State.Signal.Subscribe(subToB);
|
||||
subscriptionA_B := flagA.State.Signal.Subscribe(flagB);
|
||||
|
||||
flagA.Notify; // A dirty -> B dirty. subToB notified.
|
||||
Assert.IsTrue(flagB.State.IsSet, 'Flag B should be dirty after A triggers.');
|
||||
@@ -422,9 +422,9 @@ begin
|
||||
flagC := CreateAndPrepareDirtyFlag(False);
|
||||
subToC := TMockSubscriber.Create;
|
||||
|
||||
subscriptionMock_C := flagC.State.Subscribe(subToC);
|
||||
subscriptionC_B := flagB.State.Subscribe(flagC);
|
||||
subscriptionB_A := flagA.State.Subscribe(flagB);
|
||||
subscriptionMock_C := flagC.State.Signal.Subscribe(subToC);
|
||||
subscriptionC_B := flagB.State.Signal.Subscribe(flagC);
|
||||
subscriptionB_A := flagA.State.Signal.Subscribe(flagB);
|
||||
|
||||
// Initial full propagation
|
||||
flagA.Notify; // A dirty -> B dirty -> C dirty. subToC notified.
|
||||
@@ -461,9 +461,9 @@ begin
|
||||
flagC := CreateAndPrepareDirtyFlag(False);
|
||||
subToC := TMockSubscriber.Create;
|
||||
|
||||
subscriptionMock_C := flagC.State.Subscribe(subToC);
|
||||
subscriptionC_B := flagB.State.Subscribe(flagC);
|
||||
subscriptionB_A := flagA.State.Subscribe(flagB);
|
||||
subscriptionMock_C := flagC.State.Signal.Subscribe(subToC);
|
||||
subscriptionC_B := flagB.State.Signal.Subscribe(flagC);
|
||||
subscriptionB_A := flagA.State.Signal.Subscribe(flagB);
|
||||
|
||||
// All are clean. Trigger A.
|
||||
flagA.Notify; // A dirty -> B dirty -> C dirty. subToC notified.
|
||||
@@ -501,9 +501,9 @@ begin
|
||||
flagC := CreateAndPrepareDirtyFlag(False);
|
||||
subToC := TMockSubscriber.Create;
|
||||
|
||||
subscriptionMock_C := flagC.State.Subscribe(subToC);
|
||||
subscriptionC_B := flagB.State.Subscribe(flagC);
|
||||
subscriptionB_A := flagA.State.Subscribe(flagB);
|
||||
subscriptionMock_C := flagC.State.Signal.Subscribe(subToC);
|
||||
subscriptionC_B := flagB.State.Signal.Subscribe(flagC);
|
||||
subscriptionB_A := flagA.State.Signal.Subscribe(flagB);
|
||||
|
||||
// 1. Trigger A
|
||||
flagA.Notify; // A, B, C become dirty. subToC notified (count = 1).
|
||||
|
||||
Reference in New Issue
Block a user