11
İki çift diziyi karşılaştırmak istiyorum. vanilya JUnit kullanarak, Yapabileceğim:Hamcrest'i, her iki öğeden oluşan bir öğenin, başka bir dizideki her öğeye "yakın" olup olmadığını kontrol etmek için nasıl kullanabilirim?
double[] a = new double[]{1.0, 2.0, 3.0};
double[] b = new double[]{1.0, 2.0, 3.0};
assertEquals(a, b, 1e-10);
Ben tercihen özel matchers (mümkünse) yaratmadan, bu kullanarak hamcrest nasıl bilmek istiyorum
. Bir dizideki her öğe için "yakın" eşleştirmeyi kullanmaya benzer bir şey.
public static Matcher<Double[]> arrayCloseTo(double[] array, double error) {
List<Matcher<? super Double>> matchers = new ArrayList<Matcher<? super Double>>();
for (double d : array)
matchers.add(closeTo(d, error));
return arrayContaining(matchers);
}
Siz de ilkel bir dizi yapabilirsiniz, ama bunun için özel bir eşleyici gerekir: Bir Double[]
için a
değiştirirseniz