J'étudiais Enum en Java efficace, et j'écrivais un test pour voir si Enum était comme prévu, donc je suis devenu un peu accro.
Enum j'écrivais
public enum Operator { // Il y a aussi PLUS. DIVIDE("/") { double apply(double x, double y) { return x / y; } }; private final String symbol; Operator(String symbol) { this.symbol = symbol;} @Override public String toString() { return symbol;} abstract double apply(double x, double y); }
Créer une classe de test pour cette classe
public class OperatorTest { @Rule public ExpectedException thrown = ExpectedException.none(); @Test public void zeroDivide() { thrown.expect(ArithmeticException.class); } }
Test échoué. J'ai écrit un test avec désinvolture en pensant que si je divise par 0, une exception se produira. Même si vous divisez le type double par 0, aucune exception ne se produit.
De cette façon, cela passera.
@Test public void zeroDivide() { assertThat(Operator.DIVIDE.apply(11, 0), is(Double.POSITIVE_INFINITY)); }