public void RaiseWithAnEventHandlerThatThrowsAnException () { OneThirstyDude dude = new OneThirstyDude (); Soda bru = new Soda (); bru.Pop += new PopHandler (dude.HandlePopWithException); bru.OnPop ("Iron Brew", new EventRaiser ()); }
public void RaiseWithBadNumberOfArguments () { OneThirstyDude dude = new OneThirstyDude (); Soda bru = new Soda (); bru.Pop += new PopHandler (dude.HandlePop); bru.OnPopWithBadNumberOfArguments ("Iron Brew", new EventRaiser ()); }
public void RaiseWithBadNumberOfArguments () { OneThirstyDude dude = new OneThirstyDude (); Soda bru = new Soda (); bru.Pop += new PopHandler (dude.HandlePop); Assert.Throws<TargetParameterCountException>(() => bru.OnPopWithBadNumberOfArguments ("Iron Brew", new EventRaiser ())); }
public void RaiseSwallowsExceptionRaisedByHandlers() { OneThirstyDude dude = new OneThirstyDude(); Soda bru = new Soda(); bru.Pop += new PopHandler(dude.HandlePopWithException); bru.OnPop("Iron Brew", new DefensiveEventRaiser()); Assert.AreEqual("Iron Brew", dude.Soda); // should have got through before exception was thrown }
public void RaiseWithNullEvent () { OneThirstyDude dude = new OneThirstyDude (); Soda bru = new Soda (); bru.Pop += new PopHandler (dude.HandlePop); bru.OnPopWithNullEvent ("Iron Brew", new EventRaiser ()); Assert.AreEqual (string.Empty, dude.Soda); }
public void Raise () { OneThirstyDude dude = new OneThirstyDude (); Soda bru = new Soda (); bru.Pop += new PopHandler (dude.HandlePop); bru.OnPop ("Iron Brew", new EventRaiser ()); Assert.AreEqual ("Iron Brew", dude.Soda); }
public void RaiseSwallowsExceptionRaisedByHandlerButCallsAllOtherHandlers() { bool firstCall = false; bool secondCall = false; bool thirdCall = false; OneThirstyDude dude = new OneThirstyDude(); Soda bru = new Soda(); bru.Pop += (sender, soda) => firstCall = true; bru.Pop += (sender, soda) => { secondCall = true; throw new Exception(); }; bru.Pop += (sender, soda) => { thirdCall = true; }; DefensiveEventRaiser eventRaiser = new DefensiveEventRaiser(); IEventExceptionsCollector exceptions = bru.OnPop( "Iron Brew", eventRaiser ); Assert.AreEqual(1, exceptions.Exceptions.Count); Assert.IsTrue(firstCall); Assert.IsTrue(secondCall); Assert.IsTrue(thirdCall); }