/* * Carrot2 project. * * Copyright (C) 2002-2016, Dawid Weiss, Stanisław Osiński. * All rights reserved. * * Refer to the full license file "carrot2.LICENSE" * in the root folder of the repository checkout or at: * http://www.carrot2.org/carrot2.LICENSE */ package org.carrot2.core.test; import static org.fest.assertions.Assertions.assertThat; import org.fest.assertions.AssertExtension; import org.fest.assertions.Delta; /** * Additional assertions on <code>double []</code> arrays. */ public class DoubleArrayAssert implements AssertExtension { /** The actual array */ private double [] actualArray; /** Description of the assertion */ private String description; DoubleArrayAssert(double [] array) { this.actualArray = array; } /** * Asserts that the array is equal to the provided with a <code>delta</code> on each * element. */ public DoubleArrayAssert isEqualTo(double [] expected, double delta) { assertThat(expected).as(description).isNotNull(); assertThat(actualArray.length).as(description).isEqualTo(expected.length); final Delta deltaObject = Delta.delta(delta); for (int i = 0; i < expected.length; i++) { assertThat(actualArray[i]).as(description + "[" + i + "]").isEqualTo( expected[i], deltaObject); } return this; } public DoubleArrayAssert as(String description) { this.description = description; return this; } }