Не удается найти символ, JUnit, метод Enum - PullRequest
0 голосов
/ 20 июня 2020

Привет, я рискую выглядеть глупо. У меня проблема с Junit, но я нахожусь на той стадии, когда мне все равно.

Я пытаюсь написать «простой» тест JUnit для Enum и Я чуть не рву волосы от разочарования.

Я получаю известную ошибку «не могу найти символ», когда пытаюсь вызвать свои методы в своем publi c Enum. Мне кажется, что я все делаю правильно, и я не понимаю, чего мне не хватает.

Некоторое время я просматривал Stackoverflow в течение некоторого времени и видел много людей, задающих похожие вопросы, но я не мог найти подходящего решения для моя проблема.

Мне кажется, что эту проблему легко обнаружить, если вы опытный программист, но я долго сидел с этим кодом и не вижу проблемы.

I был бы очень признателен, если бы кто-нибудь мог указать причину, прежде чем я стал лысым ...

// EDIT 1: добавлен пакет в Enum

// EDIT 2: скопирован тот же код в Eclipse и метод виден, и я могу запустить тест. Я предполагаю, что это не синтаксическая проблема, а внутренняя ошибка редактора, которым в моем случае является Netbeans. Дело закрыто, я полагаю .

// РЕДАКТИРОВАТЬ 3: Добавлен тег Netbeans

Вот мой Enum:

package chess.domain;

import java.util.stream.Stream;

public enum Position {

    A8(1,8), B8(2,8), C8(3,8), D8(4,8), E8(5,8), F8(6,8), G8(7,8), H8(8,8),
    A7(1,7), B7(2,7), C7(3,7), D7(4,7), E7(5,7), F7(6,7), G7(7,7), H7(8,7),
    A6(1,6), B6(2,6), C6(3,6), D6(4,6), E6(5,6), F6(6,6), G6(7,6), H6(8,6),
    A5(1,5), B5(2,5), C5(3,5), D5(4,5), E5(5,5), F5(6,5), G5(7,5), H5(8,5),
    A4(1,4), B4(2,4), C4(3,4), D4(4,4), E4(5,4), F4(6,4), G4(7,4), H4(8,4),
    A3(1,3), B3(2,3), C3(3,3), D3(4,3), E3(5,3), F3(6,3), G3(7,3), H3(8,3),
    A2(1,2), B2(2,2), C2(3,2), D2(4,2), E2(5,2), F2(6,2), G2(7,2), H2(8,2),
    A1(1,1), B1(2,1), C1(3,1), D1(4,1), E1(5,1), F1(6,1), G1(7,1), H1(8,1);

    private final int COLUMN;
    private final int ROW;

    Position(int col, int row) {
        this.COLUMN = col;
        this.ROW = row;
    }

    public int getCOLUMN() {
        return this.COLUMN;
    }

    public int getROW() {
        return this.ROW;
    }
    
    public Stream<Position> getColumn(Position position){
        return Stream.of(Position.values()).filter(pos -> (pos.getCOLUMN()) == position.getCOLUMN());
    }
    
    public Stream<Position> getRow(Position position){
        return Stream.of(Position.values()).filter(pos -> (pos.getROW()) == position.getROW());
    }
}

И вот мой тест :

package chess.domain;

import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.AfterAll;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.*;

public class PositionTest {
    
    public PositionTest() {
    }
    
    @BeforeAll
    public static void setUpClass() {
    }
    
    @AfterAll
    public static void tearDownClass() {
    }
    
    @BeforeEach
    public void setUp() {
    }
    
    @AfterEach
    public void tearDown() {
    }

     /**
     * Test of getCOLUMN method, of class Position.
     */
    @Test
    public void testGetCOLUMN() {
        int expectedColumn = 1;
        int actualColumn = Position.A8.getCOLUMN(); // ERROR IS LOCATED HERE ON METHOD "getCOLUMN" 
        assertEquals(expectedColumn, actualColumn);
    }

    /**
     * Test of getROW method, of class Position.
     */
    @Test
    public void testGetROW() {
        int expectedRow = 1;
        int actualRow = Position.H1.getROW(); // ERROR IS LOCATED HERE ON METHOD "getROW" 
        assertEquals(expectedRow, actualRow);
    }
}

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...