import static org.junit.jupiter.api.Assertions.assertEquals;

import org.junit.jupiter.api.Test;

// Laboratorio: estas pruebas fijan el comportamiento actual. Deben seguir
// pasando después de quitar la cadena de instanceof.
class ShippingCalculatorTest {

    @Test
    void letterHasFlatRate() {
        assertEquals(500, ShippingCalculator.cost(new Letter(40)));
    }

    @Test
    void parcelPaysPerKiloOrFraction() {
        assertEquals(800, ShippingCalculator.cost(new Parcel(1_000)));
        assertEquals(1_600, ShippingCalculator.cost(new Parcel(1_001)));
    }

    @Test
    void palletPaysBasePlusPerKilo() {
        assertEquals(20_000 + 150 * 120, ShippingCalculator.cost(new Pallet(120_000)));
    }
}
