Add SelectionAttributes unit tests
All checks were successful
CI / build-and-test (pull_request) Successful in 19s

Test core data type for selected/unselected state, default values,
ID constant, interface compliance, and instance independence.

8 tests covering all public API of SelectionAttributes.

Closes #6
This commit is contained in:
2026-03-27 16:21:25 +01:00
committed by Thibaud Gasser
parent 692a03ee88
commit bcbbcef321

View File

@@ -0,0 +1,72 @@
package ovh.gasser.newshapes.attributes;
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.*;
class SelectionAttributesTest {
@Test
void testDefaultConstructorIsUnselected() {
SelectionAttributes attrs = new SelectionAttributes();
assertFalse(attrs.selected, "Default constructor should create unselected state");
}
@Test
void testConstructorWithTrue() {
SelectionAttributes attrs = new SelectionAttributes(true);
assertTrue(attrs.selected, "Constructor with true should create selected state");
}
@Test
void testConstructorWithFalse() {
SelectionAttributes attrs = new SelectionAttributes(false);
assertFalse(attrs.selected, "Constructor with false should create unselected state");
}
@Test
void testGetIDReturnsCorrectValue() {
SelectionAttributes attrs = new SelectionAttributes();
assertEquals(SelectionAttributes.ID, attrs.getID());
}
@Test
void testIDConstant() {
assertEquals("SELECTION_ATTRS", SelectionAttributes.ID);
}
@Test
void testImplementsAttributes() {
SelectionAttributes attrs = new SelectionAttributes();
assertInstanceOf(Attributes.class, attrs);
}
@Test
void testSelectedFieldCanBeToggled() {
SelectionAttributes attrs = new SelectionAttributes(false);
assertFalse(attrs.selected);
attrs.selected = true;
assertTrue(attrs.selected);
attrs.selected = false;
assertFalse(attrs.selected);
}
@Test
void testTwoInstancesAreIndependent() {
SelectionAttributes attrs1 = new SelectionAttributes(true);
SelectionAttributes attrs2 = new SelectionAttributes(false);
assertNotEquals(attrs1.selected, attrs2.selected);
attrs2.selected = true;
assertTrue(attrs1.selected);
assertTrue(attrs2.selected);
// Mutating one doesn't affect the other
attrs1.selected = false;
assertFalse(attrs1.selected);
assertTrue(attrs2.selected);
}
}