Foros del Web » Programación para mayores de 30 ;) » Java »

[SOLUCIONADO] Error en clase java. @test

Estas en el tema de Error en clase java. @test en el foro de Java en Foros del Web. Hola, estoy realizando unos test de prueba y veo que existe un error en una clase, no programo en java y no me doy cuenta ...
  #1 (permalink)  
Antiguo 30/07/2017, 17:29
 
Fecha de Ingreso: septiembre-2012
Ubicación: montevideo
Mensajes: 131
Antigüedad: 11 años, 7 meses
Puntos: 0
Error en clase java. @test

Hola, estoy realizando unos test de prueba y veo que existe un error en una clase, no programo en java y no me doy cuenta del error exacto en la clase.
Test:
@Test
public void testAgregarProductoExistente(){
carrito.agregarProducto(papa, 20);
assertEquals(20, carrito.obtenerCantidad("papa"));

carrito.agregarProducto(papa, 2);
//deberían haber 22 papas
assertEquals(22, carrito.obtenerCantidad("papa"));
}
@Test
public void testProbarTotal(){
carrito.agregarProducto(papa, 1);
carrito.agregarProducto(lechuga, 1);
assertEquals(25+10, (long)carrito.obtenerPrecioTotal());
}
resultado:
Testsuite: logica.CarritoTest
Tests run: 2, Failures: 2, Errors: 0, Skipped: 0, Time elapsed: 0,094 sec

Testcase: testProbarTotal(logica.CarritoTest): FAILED
expected:<35> but was:<10>
junit.framework.AssertionFailedError: expected:<35> but was:<10>
at logica.CarritoTest.testProbarTotal(CarritoTest.jav a:58)


Testcase: testAgregarProductoExistente(logica.CarritoTest): FAILED
expected:<22> but was:<20>
junit.framework.AssertionFailedError: expected:<22> but was:<20>
at logica.CarritoTest.testAgregarProductoExistente(Ca rritoTest.java:48)


Agrego la clase:
package logica;

import java.util.Iterator;
import java.util.LinkedList;
import javax.naming.CommunicationException;

class Carrito implements ICarrito {

private LinkedList<Item> items;
// el carrito se compone por una lista de <Producto, cantidad>

Cliente cliente;
String nombreCarrito;
private ISistemaClientes sistCli;
private ISistemaFacturacion sistFact;

public Carrito(Cliente c) {
cliente = c;
sistCli = null;
sistFact = null;
try
{
nombreCarrito = c.getNombre();
}
catch(CommunicationException ce)
{
nombreCarrito = "General";
}

this.items = new LinkedList<Item> ();
}

public void agregarProducto(Producto p, int cant) {
Item i = this.obtenerItem(p.getNombre());
if(i != null){
i.setCantidad(i.getCantidad());
i.setCantidad(i.getCantidad());
}
else {
items.add(new Item(p, cant));
}
}

public void disminuirProducto(Producto p, int cant) {
// TODO Auto-generated method stub

}

public void eliminarProductos(Producto p) {
// TODO Auto-generated method stub

}


public double obtenerPrecioTotal() {
double precioTotal = 0;
for (Item item : items)
precioTotal = item.getProducto().getPrecio();

return precioTotal;
}

public double obtenerSubtotal(String s) {
// TODO Auto-generated method stub
return 0;
}

public int obtenerCantidad(String s) {

Item i = obtenerItem(s);
if (i != null){
return i.getCantidad();
}
else {
return -1;
}
}

public void vaciar() {
items.clear();
}

private Item obtenerItem(String s){
Iterator<Item> iter = items.iterator();
while(iter.hasNext()){
Item actual = iter.next();
if (actual.getProducto().getNombre().equals(s)){
return actual;
}
}
return null;
}

public void pagar() {
double total = (double) obtenerPrecioTotal();
double descuento;

try {
descuento = sistCli.descuentoCliente(cliente);
} catch (NoExisteClienteException e) {
descuento = 0;
}
total = total * (1 - descuento);
sistFact.facturar(total);
}

public void configurarSistemaClientes(ISistemaClientes s) {
this.sistCli = s;
}

public void configurarSistemaFacturacion(ISistemaFacturacion s) {
this.sistFact = s;
}

}
  #2 (permalink)  
Antiguo 31/07/2017, 00:36
Avatar de Malenko
Moderador
 
Fecha de Ingreso: enero-2008
Mensajes: 5.323
Antigüedad: 16 años, 3 meses
Puntos: 606
Respuesta: Error en clase java. @test

Tendrías que plantearte que debería hacer y que hace este método:

Código:
public void agregarProducto(Producto p, int cant) {
 Item i = this.obtenerItem(p.getNombre());
 if(i != null){
 i.setCantidad(i.getCantidad());
 i.setCantidad(i.getCantidad());
 }
 else {
 items.add(new Item(p, cant));
 }
 }
__________________
Aviso: No se resuelven dudas por MP!

Etiquetas: clase, framework, test
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:02.