feat(03-05): ajoute 4 champs Visual* optionnels + round-trip tests (Task 1)
- GravityFlipRegion: VisualColor/VisualMode/VisualRefreshMs/VisualOpacity avec defaults (#00FFFF, Outline, 1000, 0.5), getters/setters, javadoc. - CODEC: 4 KeyedCodec optionnels (pas de validator nonNull) => back-compat legacy regions.json. - 2 tests round-trip (custom + defaults quand champs absents).
This commit is contained in:
@@ -144,6 +144,41 @@ class GravityFlipRegionCodecTest {
|
||||
assertFalse(decoded.isAffectItems());
|
||||
}
|
||||
|
||||
// ---------- Plan 03-05 : 4 visualization fields ----------
|
||||
|
||||
@Test
|
||||
void roundTripPreservesVisualFields() {
|
||||
GravityFlipRegion src = baseRegion();
|
||||
src.setVisualColor("#FF8800");
|
||||
src.setVisualMode("Faces");
|
||||
src.setVisualRefreshMs(500);
|
||||
src.setVisualOpacity(0.75);
|
||||
|
||||
GravityFlipRegion decoded = roundTrip(src);
|
||||
|
||||
assertEquals("#FF8800", decoded.getVisualColor());
|
||||
assertEquals("Faces", decoded.getVisualMode());
|
||||
assertEquals(500, decoded.getVisualRefreshMs());
|
||||
assertEquals(0.75, decoded.getVisualOpacity(), 1e-9);
|
||||
}
|
||||
|
||||
@Test
|
||||
void roundTripPreservesVisualDefaultsWhenFieldsAbsent() {
|
||||
// Region construite via constructeur legacy 3-arg — simule un regions.json legacy
|
||||
// (ni 03-04 ni 03-05 présents).
|
||||
GravityFlipRegion src = new GravityFlipRegion(
|
||||
"legacy-viz",
|
||||
new Box(new Vector3d(0, 0, 0), new Vector3d(1, 1, 1)),
|
||||
true);
|
||||
|
||||
GravityFlipRegion decoded = roundTrip(src);
|
||||
|
||||
assertEquals("#00FFFF", decoded.getVisualColor(), "default VisualColor=#00FFFF (cyan)");
|
||||
assertEquals("Outline", decoded.getVisualMode(), "default VisualMode=Outline");
|
||||
assertEquals(1000, decoded.getVisualRefreshMs(), "default VisualRefreshMs=1000");
|
||||
assertEquals(0.5, decoded.getVisualOpacity(), 1e-9, "default VisualOpacity=0.5");
|
||||
}
|
||||
|
||||
private static GravityFlipRegion baseRegion() {
|
||||
return new GravityFlipRegion(
|
||||
"r",
|
||||
|
||||
Reference in New Issue
Block a user