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

import org.junit.jupiter.api.Test;

class RectangleTest {

    /** La expectativa de cualquier cliente de Rectangle. */
    private static int areaAfterResize(Rectangle r) {
        r.setWidth(5);
        r.setHeight(4);
        return r.area();
    }

    @Test
    void rectangleKeepsSidesIndependent() {
        Rectangle r = new Rectangle(2, 3);
        assertEquals(20, areaAfterResize(r));
    }

    @Test
    void squareBreaksTheExpectation() {
        // Documenta la violación de Liskov: la misma prueba, con un Square, da 16.
        Rectangle s = new Square(2);
        assertNotEquals(20, areaAfterResize(s));
    }
}
