mirror of https://github.com/longtai-cn/hippo4j
feat(infra): add AbstractSubjectCenter test class #1338
1. add SubjectCenter test class 2. add remove observer method 3. add get size for Observers method Co-authored-by: rnmb<19276209+rnmb@users.noreply.github.com>pull/1340/head
parent
f46da2b3d3
commit
628905ad10
@ -0,0 +1,47 @@
|
|||||||
|
package cn.hippo4j.common.extension.design;
|
||||||
|
|
||||||
|
import lombok.Getter;
|
||||||
|
import org.junit.Assert;
|
||||||
|
import org.junit.Test;
|
||||||
|
|
||||||
|
import java.util.concurrent.atomic.AtomicInteger;
|
||||||
|
|
||||||
|
public class AbstractSubjectCenterTest {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* test Subject center
|
||||||
|
*/
|
||||||
|
@Test
|
||||||
|
public void testSubjectCenter() {
|
||||||
|
AbstractSubjectCenter.SubjectType subjectType = AbstractSubjectCenter.SubjectType.THREAD_POOL_DYNAMIC_REFRESH;
|
||||||
|
SubjectNotifyListener subjectNotifyListener = new SubjectNotifyListener();
|
||||||
|
NotifyMessage notifyMessage = new NotifyMessage();
|
||||||
|
Assert.assertEquals(0, notifyMessage.getCount().get());
|
||||||
|
|
||||||
|
AbstractSubjectCenter.register(subjectType, subjectNotifyListener);
|
||||||
|
Assert.assertEquals(1, AbstractSubjectCenter.size(subjectType));
|
||||||
|
|
||||||
|
AbstractSubjectCenter.notify(subjectType, () -> notifyMessage);
|
||||||
|
Assert.assertEquals(1, notifyMessage.getCount().get());
|
||||||
|
|
||||||
|
AbstractSubjectCenter.remove(subjectType.name(), subjectNotifyListener);
|
||||||
|
Assert.assertEquals(0, AbstractSubjectCenter.size(subjectType));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@Getter
|
||||||
|
private static final class NotifyMessage {
|
||||||
|
private final AtomicInteger count = new AtomicInteger(0);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Subject Response Listener
|
||||||
|
*/
|
||||||
|
private static final class SubjectNotifyListener implements Observer<NotifyMessage>{
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void accept(ObserverMessage<NotifyMessage> observerMessage) {
|
||||||
|
observerMessage.message().getCount().incrementAndGet();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in new issue