package VASSAL.counters; import static org.junit.Assert.assertEquals; import java.util.ArrayList; import java.util.List; import org.junit.Test; import VASSAL.configure.ListConfigurerHelper; import VASSAL.counters.DynamicProperty.DynamicKeyCommand; import VASSAL.counters.DynamicProperty.DynamicKeyCommandConfigurer; public class SetGlobalPropertySerializeTest extends SerializeTest<SetGlobalProperty> { @Test public void serialize() throws Exception { SetGlobalProperty sgp = new SetGlobalProperty(); sgp.key = "testKey"; sgp.numeric = false; sgp.minValue = 1; sgp.maxValue = 2; sgp.wrap = false; setKeyCommandListConfig(sgp); sgp.description = "testDesc"; sgp.propertyLevel = "testPropertyLevel"; sgp.searchName = "testSearchName"; super.serializeTest(SetGlobalProperty.class, sgp); } private void setKeyCommandListConfig(SetGlobalProperty sgp) { DynamicKeyCommandConfigurer dkcc1 = new DynamicKeyCommandConfigurer(sgp); dkcc1.setName("name1"); dkcc1.setFrozen(true); dkcc1.setValue("value1"); dkcc1.updateValue(); DynamicKeyCommandConfigurer dkcc2 = new DynamicKeyCommandConfigurer(sgp); dkcc2.setName("name2"); dkcc2.setFrozen(true); dkcc2.setValue("value2"); dkcc2.updateValue(); List<DynamicKeyCommand> keyCommands = new ArrayList<DynamicKeyCommand>(); keyCommands.add(dkcc1.getKeyCommand()); keyCommands.add(dkcc2.getKeyCommand()); ListConfigurerHelper.getList(sgp.keyCommandListConfig).add(dkcc1); ListConfigurerHelper.getList(sgp.keyCommandListConfig).add(dkcc2); } @Override void assertSame(SetGlobalProperty sgp1, SetGlobalProperty sgp2) { assertEquals(sgp1.key, sgp2.key); assertEquals(sgp1.numeric, sgp2.numeric); assertEquals(sgp1.minValue, sgp2.minValue); assertEquals(sgp1.maxValue, sgp2.maxValue); assertEquals(sgp1.wrap, sgp2.wrap); assertEquals(sgp1.numeric, sgp2.numeric); assertEquals(sgp1.numeric, sgp2.numeric); assertEquals(sgp1.keyCommandListConfig, sgp2.keyCommandListConfig); assertEquals(sgp1.description, sgp2.description); assertEquals(sgp1.propertyLevel, sgp2.propertyLevel); assertEquals(sgp1.searchName, sgp2.searchName); } }