@test, error en clase java
Publicado por juan (1 intervención) el 31/07/2017 01:06:57
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:
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.java:58)
Testcase: testAgregarProductoExistente(logica.CarritoTest): FAILED
expected:<22> but was:<20>
junit.framework.AssertionFailedError: expected:<22> but was:<20>
at logica.CarritoTest.testAgregarProductoExistente(CarritoTest.java:48)
Agrego la clase:
Test:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
@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());
}
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.java:58)
Testcase: testAgregarProductoExistente(logica.CarritoTest): FAILED
expected:<22> but was:<20>
junit.framework.AssertionFailedError: expected:<22> but was:<20>
at logica.CarritoTest.testAgregarProductoExistente(CarritoTest.java:48)
Agrego la clase:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
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;
}
}
Valora esta pregunta
0