Loading...

Във форума е въведено ограничение, което позволява на потребителите единствено да разглеждат публикуваните въпроси.

IvayloIvanov77 avatar IvayloIvanov77 16 Точки

LinkedList Java

Здравейте.

Не мога да разбера логиката на следния тест в LinkedListTest:

@Test
    public void addLastMultipleElementsShouldAddElement() {
        LinkedList<Integer> list = new LinkedList<>();

        for (int i = 0; i < 100; i++) {
            list.addLast(i);
        }

        int expected = 0;
        for (Integer item : list) {
            Assert.assertEquals(expected++, list.size());
        }
    }

А също така - какво точно трябва да се събмитва в judge?

 

Edit: В класа тест в скелета няма импорт на LinkedList

Тагове:
0
Структури от данни 15/01/2018 14:58:31
S.Neshkov avatar S.Neshkov 55 Точки
Best Answer

Трябва да се качва само кода на твоята имплементация на листа. Тестовета са за улеснение, за да си тестваш функционалността. 

Но специално този тест изглежда неправилно формулиран.

Според мен трябва да е така:

LinkedList<Integer> list = new LinkedList<>();

        int expected = 0;

        for (int i = 0; i < 100; i++) {
            list.addLast(i);

            Assert.assertEquals(expected++, list.size());
        }

Защото ако не вкарваш или махаш елементи от листа, size е константа, а този ред  Assert.assertEquals(expected++, list.size()); сравнява size с нарастваща променлива. Няма логика да се проверява след добавянето на елементи.

0
15/01/2018 11:44:26
IvayloIvanov77 avatar IvayloIvanov77 16 Точки

На някой минал ли му е този тест на java в judge. Каквото и да направя, винаги ми дава - A compile time error occurred.

Предполагам, че тестовете в  judge са същите, като тези в скелета.

А според мен трябва да бъде:

@Test
    public void addLastMultipleElementsShouldAddElement() {
        LinkedList<Integer> list = new LinkedList<>();

        for (int i = 0; i < 100; i++) {
            list.addLast(i);
        }

       Integer expected = 0;
        for (Integer item : list) {
            Assert.assertEquals(expected++, item);
        }
    }

за да се тества и итератора.

0
15/01/2018 14:56:47
S.Neshkov avatar S.Neshkov 55 Точки

Тъкмо го разписах и пуснах в Джъдж. Взех 100/100, като тези 2 теста не ми минават при тестване

addLastMultipleElementsShouldAddElement, 
addFirstMultipleElementsShouldAddElement
0
IvayloIvanov77 avatar IvayloIvanov77 16 Точки

Благодаря. С main class в архива мина и при мен.

0
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.