@Test public void deberiaDarFalseParaDosCondicionesFalse() { Assert.assertEquals( ResultadoDeCondicion.FALSE, OrCompuesto.de(SiempreFalse.getInstancia(), SiempreFalse.getInstancia()) .esCumplidaPor(null)); }
@Test public void deberiaDarTrueSiAlgunaEsTrue() { Assert.assertEquals( ResultadoDeCondicion.TRUE, OrCompuesto.de( SiempreFalse.getInstancia(), SiempreTrue.getInstancia(), SiempreTrue.getInstancia()) .esCumplidaPor(null)); }
@Test public void noDeberiaEvaluarElRestoSiLaPrimeraEsTrue() { final CondicionTestWrapper condicionEvaluada = CondicionTestWrapper.create(SiempreTrue.getInstancia()); final CondicionTestWrapper condicionNoEvaluada = CondicionTestWrapper.create(SiempreFalse.getInstancia()); Assert.assertEquals( ResultadoDeCondicion.TRUE, OrCompuesto.de(condicionEvaluada, condicionNoEvaluada).esCumplidaPor(null)); Assert.assertTrue(condicionEvaluada.isEvaluada()); Assert.assertFalse(condicionNoEvaluada.isEvaluada()); }
/** * Por la implementación actual esto es más una consecuencia que algo buscado. Este test es sólo * para documentarlo */ @Test public void deberiaDarFalseSiNoTieneCondiciones() { Assert.assertEquals( ResultadoDeCondicion.FALSE, OrCompuesto.create(new ArrayList<Condicion>()).esCumplidaPor(null)); }