package net.t7seven7t.craftfx.data; import net.t7seven7t.craftfx.data.trigger.HoldData; import net.t7seven7t.craftfx.data.trigger.MoveData; import org.junit.Test; import java.util.Optional; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertTrue; /** * */ public class ConfigDataHolderTest { @Test public void testGetData() throws Exception { ConfigDataHolder dataHolder = new ConfigDataHolder(null) { @Override public <T> Optional<T> get(String propertyName, Class<T> clazz) { return Optional.empty(); } }; dataHolder.offer(new HoldData(10, 14)); dataHolder.offer(new MoveData(2, Double.MAX_VALUE)); Optional<HoldData> holdData = dataHolder.getData(HoldData.class); assertTrue(holdData.isPresent()); assertEquals(holdData.get().getMinimumStackSize(), 10); assertEquals(holdData.get().getMaximumStackSize(), 14); Optional<MoveData> moveData = dataHolder.getData(MoveData.class); assertTrue(moveData.isPresent()); assertEquals(moveData.get().getMinMoveDist(), 2, 0); dataHolder.offer(new MoveData(40, Double.MAX_VALUE)); dataHolder.offer(new HoldData(41, 32)); holdData = dataHolder.getData(HoldData.class); assertTrue(holdData.isPresent()); assertEquals(holdData.get().getMinimumStackSize(), 41); assertEquals(holdData.get().getMaximumStackSize(), 32); moveData = dataHolder.getData(MoveData.class); assertTrue(moveData.isPresent()); assertEquals(moveData.get().getMinMoveDist(), 40, 0); } }