У меня есть класс Processor, который реализует Runnable.
Первый метод
Public Processor implements Runnable{
//"Event" is the name of this queue
PersistentQueue<Event> persistentQueue = new PersistentQueue<>("Event");
//add the Event POJO to the persistentQueue
public void addToQueue(Event, event) {
persistentQueue.add(event);
}
PersistentQueue для хранения события POJO
И способ запуска
public void run() {
while (true) {
if (!persistentQueue.isEmpty()) {
Event peekEvent = persistantQueue.peek();
sendRequest(peekEvent);
}
}
}
public void sendRequest(Event, event){
// do something to send the event
}
Для первого метода addToQueue я написал тест
public class ProcessorTest {
private Event event;
private Processor m_Processor;
@Before
public void setup() throws IOException {
//the Processor class is a singleton
m_Processor = Processor.getProcessor();
event = new Event();
}
@Test
public void test(){
PersistentQueue<Event> persistentQueue = new PersistentQueue<>
("Event");
m_Processor.addToQueue(event);
assertEquals(1, persistentQueue.size());
}
}
Но размер очереди равен 0, а не 1. Я не знаю, в чем проблема. И у меня также есть вопрос о том, как проверить метод запуска?