public void SubscriberInheritenceTest() { B v = new V(); int testData = 1; var obj = new ObjectClass { SubData = testData }; var supObj = new SuperClass { SuperData = testData }; EventHub.Instance.Deregister(a); EventHub.Instance.Deregister(b); EventHub.Instance.Register(v); EventHub.Instance.Post(obj); EventHub.Instance.Post(supObj); Task.Delay(100).Wait(); Assert.That(((V)v).NewMethodHit, Is.EqualTo(true), $"'{obj.GetType().FullName}' subscriber wasn't hit in '{v.GetType().FullName}'"); Assert.That(((V)v).VirtualMethodHit, Is.EqualTo(true), $"'{supObj.GetType().FullName}' subscriber wasn't hit in '{v.GetType().FullName}'"); Assert.That(((V)v).SupMethodHit, Is.Not.EqualTo(true), $"'{obj.GetType().FullName}' subscriber was hit in '{typeof(B).FullName}'"); Assert.That(((V)v).UlMethodHit, Is.Not.EqualTo(true), $"'{supObj.GetType().FullName}' subscriber was hit in '{typeof(B).FullName}'"); EventHub.Instance.Deregister(v); }
public void Subscriber(ObjectClass objectClass) { }
public new void Subscriber(ObjectClass objectClass) { objNew = objectClass; NewMethodHit = true; }
public new void Subscriber(ObjectClass objectClass) { Task.Delay(1500).Wait(); obj = objectClass; SubMethodHit = true; }
public virtual void Subscriber(ObjectClass objectClass) { supObj = objectClass; SupMethodHit = true; }
public void Subscriber(ObjectClass objectClass, string str) { }
public override void Subscriber(ObjectClass objectClass) { obj = objectClass; SubMethodHit = true; }