Witam, mam problem z testem w JUnit. Failure Trace piszę, że dostał wektor[0.0,0.0,0.0], a oczekiwał na wektor[0.0,0.0,0.0].
Czy metoda assertEquals dla obiektów działa w ten sposób, że porównuje obszar w pamięci? Jak powinien wyglądać ten test żeby to przeszło?
import java.util.Arrays;
public class WektorND {
private double[] skladowe;
public WektorND() {
this.skladowe = new double[] {0,0,0};
}
public WektorND(double...ds ) {
this.skladowe = ds;
}
public double dajWymiar() {
return skladowe.length;
}
public void ustawSkladowa(int i,double wart) {
skladowe[i] = wart;
}
@Override
public String toString() {
return "WektorND [skladowe=" + Arrays.toString(skladowe) + "]";
}
public double[] getSkladowe() {
return skladowe;
}
public static WektorND dajWektorZerowy(int n) {
double[] wymiar = new double[n];
for(int i=0;i<n;i++) {
wymiar[i] = 0.0;
}
WektorND wektor = new WektorND(wymiar);
return wektor;
}
}
@Test
public void test3() {
WektorND wektor = new WektorND(0.0,0.0,0.0);
assertEquals(3,wektor.dajWymiar(),1e-10);
WektorND wektor2 = WektorND.dajWektorZerowy(3);
assertEquals(wektor,wektor2);
}