Ciao a tutto, sto cercando di capire per quale motivo un test di junit mi da un errore che proprio non mi riesco a spiegare!!! posto sotto i vari pezzi di codice

1) codice della classe del test d Junit:
codice:
package it.polito.po.test;

import java.util.List;

import elezioni.Candidato;
import elezioni.Elezione;
import elezioni.TentatoDoppioVoto;
import junit.framework.TestCase;

public class TestR4_Risultati extends TestCase {

    Elezione sistema;

   public void testPreferenzeCandidato() {
        List<Candidato> esito = sistema.esito();

        assertEquals(2,esito.get(0).getPreferenzeDocenti());
        assertEquals(0,esito.get(0).getPreferenzeStudenti());
        assertEquals(0,esito.get(0).getPreferenzePTA());
        
        assertEquals(2,esito.get(1).getPreferenzeStudenti());
        
        assertEquals(1,esito.get(2).getPreferenzePTA());
    }
}
Riporto inoltre che il metodo:
List<Candidato> esito = sistema.esito();
è stato testato in precedenza allo stesso identico modo e funziona perfettamente.

2) qui invece riporto parte della classe Candidato:
codice:
package elezioni;

public class Candidato {
	
    private int numero;
	private String nome;
	private String cognome;
	private double voti=0;
	
	private int preferenze[] = new int[4];
	
	
	public Candidato ( String nome, String cognome, int codice ) {
		this.nome = nome;
		this.cognome = cognome;
		this.numero = codice;
		
		for ( int i=0; i<4; i++ ) {
			preferenze[i] = 0;
		}
		
	}
     public int getPreferenzeDocenti() {
        return preferenze[Elezione.DOCENTE];
    }
    
    
    public int getPreferenzeStudenti(){
        return preferenze[Elezione.STUDENTE];
    }
    
    
    public int getPreferenzePTA(){
        return preferenze[Elezione.PTA];
    }
}

Nella classe di test si ha un errore in questa riga:
assertEquals(2,esito.get(0).getPreferenzeDocenti() );

ripeto...un ERRORE...non un failure....quindi significa proprio che c'è qualcosa che non va.....inoltre l'errore è:

codice:
java.lang.NoSuchMethodError: elezioni.Candidato.getPreferenzeDocenti()J
	at      it.polito.po.test.TestR4_Risultati.testPreferenzeCandidato(TestR4_Risultati.java:69)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:616)
	at junit.framework.TestCase.runTest(TestCase.java:164)
	at junit.framework.TestCase.runBare(TestCase.java:130)
	at junit.framework.TestResult$1.protect(TestResult.java:106)
	at junit.framework.TestResult.runProtected(TestResult.java:124)
	at junit.framework.TestResult.run(TestResult.java:109)
	at junit.framework.TestCase.run(TestCase.java:120)
	at junit.framework.TestSuite.runTest(TestSuite.java:230)
	at junit.framework.TestSuite.run(TestSuite.java:225)
	at junit.framework.TestSuite.runTest(TestSuite.java:230)
	at junit.framework.TestSuite.run(TestSuite.java:225)
	at org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestReference.run(JUnit3TestReference.java:130)
	at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)
	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)
Vedendo comparire la scritta:
java.lang.NoSuchMethodError: elezioni.Candidato.getPreferenzeDocenti()

penso che il metodo manca nella classe Candidato....invece....c'è....per quale motivo viene generato st'errore?? non riesco proprio a venirne a capo!

se qualcuno riesce a darmi una mano...grazie!