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

import java.util.List;
import org.junit.jupiter.api.Test;

class CountingSetTest {

    @Test
    void inheritedVersionCountsTwiceWithAddAll() {
        // Documenta el error: HashSet.addAll llama al override de add.
        CountingSet s = new CountingSet();
        s.addAll(List.of("a", "b", "c"));
        assertEquals(6, s.added());
    }

    @Test
    void delegatingVersionCountsOnce() {
        DelegatingCountingSet s = new DelegatingCountingSet();
        s.addAll(List.of("a", "b", "c"));
        s.add("a");
        assertEquals(4, s.added());
        assertEquals(3, s.size());
    }
}
