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
73 lines
2.0 KiB
Java
73 lines
2.0 KiB
Java
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);
|
|
}
|
|
}
|