package VASSAL.counters; import static org.junit.Assert.assertEquals; import org.junit.Test; import VASSAL.tools.NamedKeyStroke; public class FreeRotatorSerializeTest extends SerializeTest<FreeRotator> { @Test public void serializeLength1() throws Exception { FreeRotator fr = new FreeRotator(); int length = 1; setAngles(fr, length); fr.setAngleKey = new NamedKeyStroke("A"); fr.setAngleText = "testAngleText"; fr.rotateRNDKey = new NamedKeyStroke("B"); fr.rotateRNDText = "testRotateRNDText"; fr.name = "testName"; super.serializeTest(FreeRotator.class, fr); } @Test public void serializeLength5() throws Exception { FreeRotator fr = new FreeRotator(); int length = 5; setAngles(fr, length); fr.rotateCWKey = new NamedKeyStroke("B"); fr.rotateCCWKey = new NamedKeyStroke("B"); fr.rotateCWText = "testRotateCWText"; fr.rotateCCWText = "testRotateCCWText"; fr.rotateRNDKey = new NamedKeyStroke("B"); fr.rotateRNDText = "testRotateRNDText"; fr.name = "testName"; super.serializeTest(FreeRotator.class, fr); } private void setAngles(FreeRotator fr, int length) { fr.validAngles = new double[length]; for (int i = 0; i < length; ++i) { fr.validAngles[i] = -i * (360.0 / length); } } @Override void assertSame(FreeRotator fr1, FreeRotator fr2) { assertEquals(fr1.setAngleKey, fr2.setAngleKey); assertEquals(fr1.setAngleText, fr2.setAngleText); assertEquals(fr1.rotateRNDKey, fr2.rotateRNDKey); assertEquals(fr1.rotateRNDText, fr2.rotateRNDText); assertEquals(fr1.name, fr2.name); if (fr1.validAngles.length != 1) { assertEquals(fr1.rotateCWKey, fr2.rotateCWKey); assertEquals(fr1.rotateCCWKey, fr2.rotateCCWKey); assertEquals(fr1.rotateCWText, fr2.rotateCWText); assertEquals(fr1.rotateCCWText, fr2.rotateCCWText); } } }