Skip to content

Commit

Permalink
Add custom event handler assertion (#2888)
Browse files Browse the repository at this point in the history
  • Loading branch information
AchimStuy authored and bradwilson committed Feb 19, 2024
1 parent 13890fd commit 0f3424e
Show file tree
Hide file tree
Showing 2 changed files with 33 additions and 1 deletion.
2 changes: 1 addition & 1 deletion src/xunit.assert/Asserts
32 changes: 32 additions & 0 deletions test/test.xunit.assert/Asserts/EventAssertsTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -68,6 +68,26 @@ public static void DerivedTypeRaised()
ex.Message
);
}

[Fact]
public static void CustomRaised()
{
var obj = new RaisingClass_Custom();
var eventObj = new object();
Assert.RaisedEvent<object>? raisedEvent = null;
void handler(object? s, object args) => raisedEvent = new Assert.RaisedEvent<object>(s, args);

var evt = Assert.Raises(
() => raisedEvent,
() => obj.Completed += handler,
() => obj.Completed -= handler,
() => obj.RaiseWithArgs(eventObj)
);

Assert.NotNull(evt);
Assert.Equal(obj, evt.Sender);
Assert.Equal(eventObj, evt.Arguments);
}
}

public class RaisesAny
Expand Down Expand Up @@ -375,6 +395,16 @@ public void RaiseWithArgs(object args)
public event EventHandler<object>? Completed;
}

class RaisingClass_Custom
{
public void RaiseWithArgs(object args)
{
Completed!.Invoke(this, args);
}

public event CustomEventHandler<object>? Completed;
}

class RaisingClass_NonGeneric
{
public void RaiseWithArgs(EventArgs args)
Expand All @@ -388,4 +418,6 @@ public void RaiseWithArgs(EventArgs args)
class DerivedEventArgs : EventArgs { }

class DerivedObject : object { }

delegate void CustomEventHandler<TEventArgs>(object sender, TEventArgs e);
}

0 comments on commit 0f3424e

Please sign in to comment.