/** Prueba multiples numeros separados por coma */ @Test public void multiplesNumerosSeparadosPorComa() { try { assertEquals(Calculadora.add("1,6,11,6"), 24); assertEquals(Calculadora.add("1,2,3,5,6,7,8"), 32); assertEquals(Calculadora.add("1,4,12,5,20"), 42); } catch (Exception ex) { fail("Error probando la calculadora con varios números separados por una coma"); } }
/** Prueba dos numeros separados por coma */ @Test public void dosNumerosComa() { try { assertEquals(Calculadora.add("1,5"), 6); assertEquals(Calculadora.add("2,6"), 8); assertEquals(Calculadora.add("31,2"), 33); } catch (Exception ex) { fail("Error probando la calculadora con dos numeros separados por una coma"); } }
/** Prueba un solo numero */ @Test public void unicoNumero() { try { assertEquals(Calculadora.add("1"), 1); assertEquals(Calculadora.add("5"), 5); assertEquals(Calculadora.add("9"), 9); } catch (Exception ex) { fail("Error probando la calculadora con un único número"); } }
/** prueba excepción un número negativo */ @Test public void excepcionNegativos() { try { Calculadora.add("-6,4,-2"); fail("No se lanzo una excepción cuando se intento sumar un número negativo: //*\n1*-2"); } catch (Exception ex) { assertEquals("Negatives not allowed: -6, -2", ex.getMessage()); } try { Calculadora.add("//*\n4*-3"); fail("No se lanzo una excepción cuando se intento sumar un número negativo: //*\n1*-2"); } catch (Exception ex) { assertEquals("Negatives not allowed: -3", ex.getMessage()); } try { Calculadora.add("//*\n2*-4*6*8*-10*12*-14"); fail( "No se lanzo una excepción cuando se intento sumar un número negativo: //*\n1*-2*2*3*-5*8*-1"); } catch (Exception ex) { assertEquals("Negatives not allowed: -4, -10, -14", ex.getMessage()); } }
/** Prueba delimitadores personalizados */ @Test public void pruebaDelimitadoresPersonalizados() { try { assertEquals(Calculadora.add("//;\n2;1"), 3); assertEquals(Calculadora.add("//r\n2r1"), 3); assertEquals(Calculadora.add("//-\n2-1"), 3); assertEquals(Calculadora.add("//*\n2*1"), 3); assertEquals(Calculadora.add("//*\n3*2*1"), 6); assertEquals(Calculadora.add("//.\n2.1"), 3); assertEquals(Calculadora.add("//.\n3.2.1"), 6); assertEquals(Calculadora.add("//.\n3.2.1"), 6); } catch (Exception ex) { fail("Error probando la calculadora con delimitadores personalizados"); } }
/** Prueba (\n) como un separador valido */ @Test public void separadorNuevaLinea() { try { assertEquals(Calculadora.add("2,4\n6"), 12); assertEquals(Calculadora.add("2\n4,6"), 12); assertEquals(Calculadora.add("2\n4\n6"), 12); assertEquals(Calculadora.add("2\n4"), 6); assertEquals(Calculadora.add("2\n4\n6\n8\n10"), 30); assertEquals(Calculadora.add("2\n4\n6\n8\n10,12"), 42); } catch (Exception ex) { fail("Error probando la calculadora con separador(es) de nueva línea"); } }
/** Prueba cadena vacia */ @Test public void cadenaVacia() throws Exception { assertEquals(Calculadora.add(""), 0); }