У меня есть несколько незначительных проблем с моими методами класса, которые я должен последовательно увеличивать. В основном мой класс компилируется, есть тестовый класс, и когда я запускаю тестер, чтобы получить результаты теста, я не получаю желаемый результат, который ищу, и за ним следует сообщение об ошибке, которое я предоставлю ниже.
Мой вопрос: когда я создаю объект, он начинается со счетчика префикса +, но не увеличивает его сразу, я хочу, чтобы он увеличивал первый созданный объект до 1001 и т. Д. и так далее. Эти сообщения об ошибках сбивают меня с толку из-за того, что ожидаемое значение полностью отличается от желаемого результата.
У меня установлен префикс и счетчик, который начинается с 1000.
public static final String TICKET_PREFIX = "VAN";
public static int counter = 1000;
public ParkingTicket(){
ticketNumber = generateTicketNumber();
}
}
private String generateTicketNumber(){
ticketNumber = TICKET_PREFIX + counter++;
return ticketNumber;
}
Вот код из блока кода класса тестирования, в котором обнаружена ошибка
@Test
public void testConstructorTicketNumberSEquential() {
ParkingTicket.resetCounter();
ParkingTicket ticket = new ParkingTicket("Adam White","VAN5225", "1A2B3C",20 );
ParkingTicket ticket2 = new ParkingTicket("Adam White","VAN5225", "1A2B3C",20 );
ParkingTicket ticket3 = new ParkingTicket("Adam White","VAN5225", "1A2B3C",20 );
assertEquals("VAN1001",ticket.getTicketNumber());
assertEquals("VAN1003", ticket3.getTicketNumber());
, и это сообщение об ошибке от тестера
testConstructorTicketNumberSEquential
---
org.junit.ComparisonFailure: expected:<VAN100[1]> but was:<VAN100[7]>
at org.junit.Assert.assertEquals(Assert.java:115)
at org.junit.Assert.assertEquals(Assert.java:144)
at ParkingTicketTest.testConstructorTicketNumberSEquential(ParkingTicketTest.java:238)
Также у меня есть метод для сброса счетчика. Я попытался просто вернуть значение счетчика, но я все еще получаю сообщение об ошибке
public static int resetCounter(){
int reset = counter;
return reset;
}
для счетчика сброса
@Test
public void testResetCounter() {
ParkingTicket.resetCounter();
assertEquals(1000,ParkingTicket.counter);
}
сообщение об ошибке запуска теста
testResetCounter
---
java.lang.AssertionError: expected:<1000> but was:<1005>
at org.junit.Assert.fail(Assert.java:88)
at org.junit.Assert.failNotEquals(Assert.java:743)
at org.junit.Assert.assertEquals(Assert.java:118)
at org.junit.Assert.assertEquals(Assert.java:555)
at org.junit.Assert.assertEquals(Assert.java:542)
at ParkingTicketTest.testResetCounter(ParkingTicketTest.java:264)