public void TestCreation () {
eb = tb.DefineEvent ("event2", EventAttributes.SpecialName, typeof (AnEvent));
eb.SetRaiseMethod (mb);
eb.SetAddOnMethod (mb);
eb.SetRemoveOnMethod (mb);
eb.AddOtherMethod (mb);
eb.AddOtherMethod (mb);
Type t = tb.CreateType ();
MethodInfo mi = t.GetMethod ("OnAnEvent");
EventInfo[] events = t.GetEvents ();
AssertEquals (2, events.Length);
{
EventInfo ev = t.GetEvent ("event1");
AssertEquals ("event1", ev.Name);
AssertEquals (EventAttributes.None, ev.Attributes);
AssertEquals (t, ev.DeclaringType);
AssertEquals (typeof (AnEvent), ev.EventHandlerType);
AssertEquals (true, ev.IsMulticast);
AssertEquals (false, ev.IsSpecialName);
AssertEquals (mi, ev.GetAddMethod ());
AssertEquals (null, ev.GetRaiseMethod ());
AssertEquals (mi, ev.GetRemoveMethod ());
}
{
EventInfo ev = t.GetEvent ("event2");
AssertEquals ("event2", ev.Name);
AssertEquals (EventAttributes.SpecialName, ev.Attributes);
AssertEquals (t, ev.DeclaringType);
AssertEquals (typeof (AnEvent), ev.EventHandlerType);
AssertEquals (true, ev.IsMulticast);
AssertEquals (true, ev.IsSpecialName);
AssertEquals (mi, ev.GetAddMethod ());
AssertEquals (mi, ev.GetRaiseMethod ());
AssertEquals (mi, ev.GetRemoveMethod ());
}
}