package tests; import org.junit.Test; import oqube.salestaxes.Item; import oqube.salestaxes.Taxed; import junit.framework.Assert; public class TaxedTest { @Test(expected=IllegalArgumentException.class) public void casConstructeurException() { /* Dans la doc, il est bien precisé que l'argument rate * doit être positif. * Or cela pose aucun probleme de créer un Taxed avec un rate a -2 */ new Taxed(-2, new Item("chocolat", 2)); } @Test public void casConstructeurCorrect() { /* Pas de souci */ new Taxed(20, new Item("chocolat", 2)); } @Test public void casPriceCorrect() { /* Pas de souci */ Taxed taxed = new Taxed(20, new Item("chocolat", 2)); Assert.assertEquals(2, taxed.price(), 0); } /* FIXME: Je ne sais pas si c'est nécessaire ? */ @Test public void casPriceCorrect2() { /* OK -> 2 != 2.0001 !*/ Taxed taxed = new Taxed(20,new Item("chocolat",2)); Assert.assertFalse(Double.compare(taxed.price(), 2.0001)==0); } @Test public void casTaxesCorrect() { /* Pas de souci */ Taxed taxed = new Taxed(20, new Item("chocolat", 2)); Assert.assertEquals(0.4, taxed.taxes(), 0); } /* FIXME: Même remarque ? */ @Test public void casTaxesCorrect2() { /* Pas de souci */ Taxed taxed = new Taxed(20, new Item("chocolat", 2)); Assert.assertFalse(Double.compare(taxed.taxes(), 0.40001) == 0); } }