У меня есть способ добавить пациента к правильному индексу в зависимости от его приоритета.Однако, кажется, что, когда я добавляю больше чем одного человека, это не добавляется.Я не слишком уверен, что мне не хватает в моем методе добавления.Я думаю, что с оператором if-else что-то не так, но я не могу точно определить, в чем проблема.
public void addPatient(Patient sickPerson)
{
int lim = patients.size();
if (patients.isEmpty()) //if empty
{
patients.add(sickPerson);
}
else //if not empty
{
for (int i = 0; i < lim; i++)
{
if (patients.get(i).compareTo(sickPerson) > 0)
// if the sickperson is more important...
{
patients.add(i, sickPerson);
}
else if (patients.get(i).compareTo(sickPerson) == 0)
// if the sickperson's priority is the same,
{
patients.add(i + 1, sickPerson);
}
else
{
continue;
}
}
}
}
@Test
public void getNumWaitingTest() {
WaitingRoom a = new WaitingRoom();
Patient b = new Patient("name", "bad", 1, 1);
Patient c = new Patient("name2", "bad2", 2, 2);
a.addPatient(b);
a.addPatient(c);
assertEquals(2, a.getNumWaiting());
}
и если я выполню этот тестовый пример, я получу 1 для numWaiting по какой-то причине ... где я мог ошибиться в этом коде ??