Skip to content

Commit

Permalink
Merge pull request #1220 from lairworks/delgateToSignalUnitTest
Browse files Browse the repository at this point in the history
Add `Signal` unit test showing how to wrap `Signal` in a `Delegate`
  • Loading branch information
DanRStevens authored Feb 12, 2025
2 parents 42cf6b4 + 7ccda18 commit a4c65cd
Showing 1 changed file with 17 additions and 0 deletions.
17 changes: 17 additions & 0 deletions test/Signal/Signal.test.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -61,3 +61,20 @@ TEST(Signal, MultiListener) {
signal.connect(delegate2);
signal.emit();
}

TEST(Signal, DelegateWrappingSignal) {
NAS2D::Signal<> signal;
MockHandler handler1{};
MockHandler handler2{};
auto delegate1 = NAS2D::Delegate{&handler1, &MockHandler::MockMethod};
auto delegate2 = NAS2D::Delegate{&handler2, &MockHandler::MockMethod};

EXPECT_CALL(handler1, MockMethod()).Times(1);
EXPECT_CALL(handler2, MockMethod()).Times(1);
signal.connect(delegate1);
signal.connect(delegate2);

auto delegateHandler = NAS2D::Delegate{&signal, &decltype(signal)::emit};

delegateHandler();
}

0 comments on commit a4c65cd

Please sign in to comment.