LinkedList Java - Софтуерен университет

LinkedList Java - Софтуерен университет

+ Нов въпрос
IvayloIvanov77 avatar IvayloIvanov77 4 Точки

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 4 Точки

На някой минал ли му е този тест на 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 4 Точки

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

0