Use static imports for common things to improve readability.
This commit is contained in:
@@ -5,9 +5,11 @@ import li.cil.oc2.api.bus.device.rpc.RPCMethod;
|
||||
|
||||
import javax.annotation.Nullable;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
import static java.util.Collections.emptyList;
|
||||
import static java.util.Collections.singletonList;
|
||||
|
||||
/**
|
||||
* A reflection based implementation of {@link RPCDevice} using the {@link Callback}
|
||||
* annotation to discover {@link RPCMethod}s in a target object via
|
||||
@@ -46,7 +48,7 @@ public final class ObjectDevice implements RPCDevice {
|
||||
* @param typeName the type name of the device.
|
||||
*/
|
||||
public ObjectDevice(final Object object, @Nullable final String typeName) {
|
||||
this(object, typeName != null ? Collections.singletonList(typeName) : Collections.emptyList());
|
||||
this(object, typeName != null ? singletonList(typeName) : emptyList());
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -55,7 +57,7 @@ public final class ObjectDevice implements RPCDevice {
|
||||
* @param object the object containing the methods provided by this device.
|
||||
*/
|
||||
public ObjectDevice(final Object object) {
|
||||
this(object, Collections.emptyList());
|
||||
this(object, emptyList());
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -13,6 +13,8 @@ import net.minecraftforge.common.util.LazyOptional;
|
||||
|
||||
import java.util.*;
|
||||
|
||||
import static java.util.Collections.emptySet;
|
||||
|
||||
public abstract class TileEntityDeviceBusController implements DeviceBusController {
|
||||
public enum State {
|
||||
SCAN_PENDING,
|
||||
@@ -81,7 +83,7 @@ public abstract class TileEntityDeviceBusController implements DeviceBusControll
|
||||
|
||||
@Override
|
||||
public Set<UUID> getDeviceIdentifiers(final Device device) {
|
||||
return deviceIds.getOrDefault(device, Collections.emptySet());
|
||||
return deviceIds.getOrDefault(device, emptySet());
|
||||
}
|
||||
|
||||
public State scan() {
|
||||
|
||||
@@ -4,10 +4,11 @@ import li.cil.oc2.api.bus.Device;
|
||||
import li.cil.oc2.api.bus.DeviceBusController;
|
||||
import net.minecraftforge.common.capabilities.CapabilityManager;
|
||||
|
||||
import java.util.Collections;
|
||||
import java.util.Set;
|
||||
import java.util.UUID;
|
||||
|
||||
import static java.util.Collections.emptySet;
|
||||
|
||||
public final class DeviceBusControllerCapability {
|
||||
public static void register() {
|
||||
CapabilityManager.INSTANCE.register(DeviceBusController.class, new NullStorage<>(), Implementation::new);
|
||||
@@ -24,12 +25,12 @@ public final class DeviceBusControllerCapability {
|
||||
|
||||
@Override
|
||||
public Set<Device> getDevices() {
|
||||
return Collections.emptySet();
|
||||
return emptySet();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Set<UUID> getDeviceIdentifiers(final Device device) {
|
||||
return Collections.emptySet();
|
||||
return emptySet();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -15,6 +15,8 @@ import net.minecraft.world.World;
|
||||
import java.util.Collection;
|
||||
import java.util.Collections;
|
||||
|
||||
import static java.util.Collections.singletonList;
|
||||
|
||||
public class RedstoneInterfaceTileEntity extends TileEntity implements NamedDevice {
|
||||
private static final int HORIZONTAL_DIRECTION_COUNT = 4;
|
||||
private static final String OUTPUT_NBT_TAG_NAME = "output";
|
||||
@@ -43,7 +45,7 @@ public class RedstoneInterfaceTileEntity extends TileEntity implements NamedDevi
|
||||
|
||||
@Override
|
||||
public Collection<String> getDeviceTypeNames() {
|
||||
return Collections.singletonList("redstone");
|
||||
return singletonList("redstone");
|
||||
}
|
||||
|
||||
@Callback
|
||||
|
||||
@@ -17,6 +17,10 @@ import org.mockito.MockitoAnnotations;
|
||||
|
||||
import java.util.Collections;
|
||||
|
||||
import static java.util.Collections.emptyList;
|
||||
import static java.util.Collections.singletonList;
|
||||
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||
import static org.junit.jupiter.api.Assertions.assertTrue;
|
||||
import static org.mockito.ArgumentMatchers.*;
|
||||
import static org.mockito.Mockito.*;
|
||||
|
||||
@@ -47,20 +51,20 @@ public class DeviceBusTests {
|
||||
busControllerBusElement = mock(DeviceBusElement.class);
|
||||
when(busControllerTileEntity.getCapability(eq(busElementCapability), any()))
|
||||
.thenReturn(LazyOptional.of(() -> busControllerBusElement));
|
||||
when(busControllerBusElement.getLocalDevices()).thenReturn(Collections.emptyList());
|
||||
when(busControllerBusElement.getLocalDevices()).thenReturn(emptyList());
|
||||
|
||||
busController = new TestBusController();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void scanPendingWhenTileEntityNotLoaded() {
|
||||
Assertions.assertEquals(TileEntityDeviceBusController.State.SCAN_PENDING, busController.scan());
|
||||
assertEquals(TileEntityDeviceBusController.State.SCAN_PENDING, busController.scan());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void scanCompletesWhenNoNeighbors() {
|
||||
when(world.chunkExists(anyInt(), anyInt())).thenReturn(true);
|
||||
Assertions.assertEquals(TileEntityDeviceBusController.State.READY, busController.scan());
|
||||
assertEquals(TileEntityDeviceBusController.State.READY, busController.scan());
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -68,12 +72,12 @@ public class DeviceBusTests {
|
||||
when(world.chunkExists(anyInt(), anyInt())).thenReturn(true);
|
||||
|
||||
final RPCDevice device = mock(RPCDevice.class);
|
||||
when(busControllerBusElement.getLocalDevices()).thenReturn(Collections.singletonList(device));
|
||||
when(busControllerBusElement.getLocalDevices()).thenReturn(singletonList(device));
|
||||
|
||||
Assertions.assertEquals(TileEntityDeviceBusController.State.READY, busController.scan());
|
||||
assertEquals(TileEntityDeviceBusController.State.READY, busController.scan());
|
||||
|
||||
verify(busControllerBusElement).addController(busController);
|
||||
Assertions.assertTrue(busController.getDevices().contains(device));
|
||||
assertTrue(busController.getDevices().contains(device));
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -83,7 +87,7 @@ public class DeviceBusTests {
|
||||
final DeviceBusElement busElement1 = mockBusElement(CONTROLLER_POS.west());
|
||||
final DeviceBusElement busElement2 = mockBusElement(CONTROLLER_POS.west().west());
|
||||
|
||||
Assertions.assertEquals(TileEntityDeviceBusController.State.READY, busController.scan());
|
||||
assertEquals(TileEntityDeviceBusController.State.READY, busController.scan());
|
||||
|
||||
verify(busElement1).addController(busController);
|
||||
verify(busElement2).addController(busController);
|
||||
@@ -96,7 +100,7 @@ public class DeviceBusTests {
|
||||
|
||||
final DeviceBusElement busElement = mock(DeviceBusElement.class);
|
||||
when(tileEntity.getCapability(eq(busElementCapability), any())).thenReturn(LazyOptional.of(() -> busElement));
|
||||
when(busElement.getLocalDevices()).thenReturn(Collections.emptyList());
|
||||
when(busElement.getLocalDevices()).thenReturn(emptyList());
|
||||
|
||||
return busElement;
|
||||
}
|
||||
|
||||
@@ -7,6 +7,8 @@ import org.junit.jupiter.api.Test;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
import static org.junit.jupiter.api.Assertions.*;
|
||||
|
||||
public final class SerializationTests {
|
||||
@Test
|
||||
public void testSerializeFlat() {
|
||||
@@ -25,19 +27,19 @@ public final class SerializationTests {
|
||||
value.stringValue = "test string";
|
||||
value.uuidValue = uuid;
|
||||
|
||||
final CompoundNBT nbt = Assertions.assertDoesNotThrow(() -> NBTSerialization.serialize(value));
|
||||
final CompoundNBT nbt = assertDoesNotThrow(() -> NBTSerialization.serialize(value));
|
||||
|
||||
Assertions.assertEquals(123, nbt.getByte("byteValue"));
|
||||
Assertions.assertEquals(234, nbt.getShort("shortValue"));
|
||||
Assertions.assertEquals(456, nbt.getInt("intValue"));
|
||||
Assertions.assertEquals(567, nbt.getLong("longValue"));
|
||||
Assertions.assertEquals(678.9f, nbt.getFloat("floatValue"));
|
||||
Assertions.assertEquals(789.0, nbt.getDouble("doubleValue"));
|
||||
Assertions.assertArrayEquals(new byte[]{1, 2, 3}, nbt.getByteArray("byteArrayValue"));
|
||||
Assertions.assertArrayEquals(new int[]{4, 5, 6}, nbt.getIntArray("intArrayValue"));
|
||||
Assertions.assertArrayEquals(new long[]{7, 8, 9}, nbt.getLongArray("longArrayValue"));
|
||||
Assertions.assertEquals("test string", nbt.getString("stringValue"));
|
||||
Assertions.assertEquals(uuid, nbt.getCompound("uuidValue").getUniqueId("uuidValue"));
|
||||
assertEquals(123, nbt.getByte("byteValue"));
|
||||
assertEquals(234, nbt.getShort("shortValue"));
|
||||
assertEquals(456, nbt.getInt("intValue"));
|
||||
assertEquals(567, nbt.getLong("longValue"));
|
||||
assertEquals(678.9f, nbt.getFloat("floatValue"));
|
||||
assertEquals(789.0, nbt.getDouble("doubleValue"));
|
||||
assertArrayEquals(new byte[]{1, 2, 3}, nbt.getByteArray("byteArrayValue"));
|
||||
assertArrayEquals(new int[]{4, 5, 6}, nbt.getIntArray("intArrayValue"));
|
||||
assertArrayEquals(new long[]{7, 8, 9}, nbt.getLongArray("longArrayValue"));
|
||||
assertEquals("test string", nbt.getString("stringValue"));
|
||||
assertEquals(uuid, nbt.getCompound("uuidValue").getUniqueId("uuidValue"));
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -58,19 +60,19 @@ public final class SerializationTests {
|
||||
uuidNBT.putUniqueId("uuidValue", uuid);
|
||||
nbt.put("uuidValue", uuidNBT);
|
||||
|
||||
final Flat value = Assertions.assertDoesNotThrow(() -> NBTSerialization.deserialize(nbt, Flat.class, new Flat()));
|
||||
final Flat value = assertDoesNotThrow(() -> NBTSerialization.deserialize(nbt, Flat.class, new Flat()));
|
||||
|
||||
Assertions.assertEquals(98, value.byteValue);
|
||||
Assertions.assertEquals(876, value.shortValue);
|
||||
Assertions.assertEquals(765, value.intValue);
|
||||
Assertions.assertEquals(654, value.longValue);
|
||||
Assertions.assertEquals(543.2f, value.floatValue);
|
||||
Assertions.assertEquals(432, .1, value.doubleValue);
|
||||
Assertions.assertArrayEquals(new byte[]{9, 8, 7}, value.byteArrayValue);
|
||||
Assertions.assertArrayEquals(new int[]{8, 7, 6}, value.intArrayValue);
|
||||
Assertions.assertArrayEquals(new long[]{7, 6, 5}, value.longArrayValue);
|
||||
Assertions.assertEquals("another test", value.stringValue);
|
||||
Assertions.assertEquals(uuid, value.uuidValue);
|
||||
assertEquals(98, value.byteValue);
|
||||
assertEquals(876, value.shortValue);
|
||||
assertEquals(765, value.intValue);
|
||||
assertEquals(654, value.longValue);
|
||||
assertEquals(543.2f, value.floatValue);
|
||||
assertEquals(432, .1, value.doubleValue);
|
||||
assertArrayEquals(new byte[]{9, 8, 7}, value.byteArrayValue);
|
||||
assertArrayEquals(new int[]{8, 7, 6}, value.intArrayValue);
|
||||
assertArrayEquals(new long[]{7, 6, 5}, value.longArrayValue);
|
||||
assertEquals("another test", value.stringValue);
|
||||
assertEquals(uuid, value.uuidValue);
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -92,36 +94,36 @@ public final class SerializationTests {
|
||||
uuidNBT.putUniqueId("uuidValue", uuid);
|
||||
nbt.put("uuidValue", uuidNBT);
|
||||
|
||||
final Flat value = Assertions.assertDoesNotThrow(() -> NBTSerialization.deserialize(nbt, Flat.class, null));
|
||||
final Flat value = assertDoesNotThrow(() -> NBTSerialization.deserialize(nbt, Flat.class, null));
|
||||
|
||||
Assertions.assertEquals(98, value.byteValue);
|
||||
Assertions.assertEquals(876, value.shortValue);
|
||||
Assertions.assertEquals(765, value.intValue);
|
||||
Assertions.assertEquals(654, value.longValue);
|
||||
Assertions.assertEquals(543.2f, value.floatValue);
|
||||
Assertions.assertEquals(432, .1, value.doubleValue);
|
||||
Assertions.assertArrayEquals(new byte[]{9, 8, 7}, value.byteArrayValue);
|
||||
Assertions.assertArrayEquals(new int[]{8, 7, 6}, value.intArrayValue);
|
||||
Assertions.assertArrayEquals(new long[]{7, 6, 5}, value.longArrayValue);
|
||||
Assertions.assertEquals("another test", value.stringValue);
|
||||
Assertions.assertEquals(uuid, value.uuidValue);
|
||||
assertEquals(98, value.byteValue);
|
||||
assertEquals(876, value.shortValue);
|
||||
assertEquals(765, value.intValue);
|
||||
assertEquals(654, value.longValue);
|
||||
assertEquals(543.2f, value.floatValue);
|
||||
assertEquals(432, .1, value.doubleValue);
|
||||
assertArrayEquals(new byte[]{9, 8, 7}, value.byteArrayValue);
|
||||
assertArrayEquals(new int[]{8, 7, 6}, value.intArrayValue);
|
||||
assertArrayEquals(new long[]{7, 6, 5}, value.longArrayValue);
|
||||
assertEquals("another test", value.stringValue);
|
||||
assertEquals(uuid, value.uuidValue);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testModifiers() {
|
||||
final WithModifiers value = new WithModifiers();
|
||||
final CompoundNBT nbt = Assertions.assertDoesNotThrow(() -> NBTSerialization.serialize(value));
|
||||
final CompoundNBT nbt = assertDoesNotThrow(() -> NBTSerialization.serialize(value));
|
||||
|
||||
Assertions.assertTrue(nbt.contains("nonTransientInt"));
|
||||
Assertions.assertEquals(123, nbt.getInt("nonTransientInt"));
|
||||
Assertions.assertFalse(nbt.contains("transientInt"));
|
||||
Assertions.assertFalse(nbt.contains("finalInt"));
|
||||
assertTrue(nbt.contains("nonTransientInt"));
|
||||
assertEquals(123, nbt.getInt("nonTransientInt"));
|
||||
assertFalse(nbt.contains("transientInt"));
|
||||
assertFalse(nbt.contains("finalInt"));
|
||||
|
||||
nbt.putIntArray("finalIntArray", new int[]{8, 7, 6});
|
||||
|
||||
Assertions.assertDoesNotThrow(() -> NBTSerialization.deserialize(nbt, value));
|
||||
assertDoesNotThrow(() -> NBTSerialization.deserialize(nbt, value));
|
||||
|
||||
Assertions.assertArrayEquals(new int[]{8, 7, 6}, value.finalIntArray);
|
||||
assertArrayEquals(new int[]{8, 7, 6}, value.finalIntArray);
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -131,11 +133,11 @@ public final class SerializationTests {
|
||||
root.child = new Nested();
|
||||
root.child.value = 234;
|
||||
|
||||
final CompoundNBT nbt = Assertions.assertDoesNotThrow(() -> NBTSerialization.serialize(root));
|
||||
final CompoundNBT nbt = assertDoesNotThrow(() -> NBTSerialization.serialize(root));
|
||||
|
||||
Assertions.assertEquals(123, nbt.getInt("value"));
|
||||
Assertions.assertTrue(nbt.contains("child"));
|
||||
Assertions.assertEquals(234, nbt.getCompound("child").getInt("value"));
|
||||
assertEquals(123, nbt.getInt("value"));
|
||||
assertTrue(nbt.contains("child"));
|
||||
assertEquals(234, nbt.getCompound("child").getInt("value"));
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -146,11 +148,11 @@ public final class SerializationTests {
|
||||
nbt.put("child", child);
|
||||
child.putInt("value", 234);
|
||||
|
||||
final Nested value = Assertions.assertDoesNotThrow(() -> NBTSerialization.deserialize(nbt, Nested.class, new Nested()));
|
||||
final Nested value = assertDoesNotThrow(() -> NBTSerialization.deserialize(nbt, Nested.class, new Nested()));
|
||||
|
||||
Assertions.assertEquals(123, value.value);
|
||||
Assertions.assertEquals(234, value.child.value);
|
||||
Assertions.assertNull(value.child.child);
|
||||
assertEquals(123, value.value);
|
||||
assertEquals(234, value.child.value);
|
||||
assertNull(value.child.child);
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -161,11 +163,11 @@ public final class SerializationTests {
|
||||
nbt.put("child", child);
|
||||
child.putInt("value", 234);
|
||||
|
||||
final Nested value = Assertions.assertDoesNotThrow(() -> NBTSerialization.deserialize(nbt, Nested.class, null));
|
||||
final Nested value = assertDoesNotThrow(() -> NBTSerialization.deserialize(nbt, Nested.class, null));
|
||||
|
||||
Assertions.assertEquals(123, value.value);
|
||||
Assertions.assertEquals(234, value.child.value);
|
||||
Assertions.assertNull(value.child.child);
|
||||
assertEquals(123, value.value);
|
||||
assertEquals(234, value.child.value);
|
||||
assertNull(value.child.child);
|
||||
}
|
||||
|
||||
@Serialized
|
||||
|
||||
@@ -20,6 +20,9 @@ import java.util.Collections;
|
||||
import java.util.List;
|
||||
import java.util.UUID;
|
||||
|
||||
import static java.util.Collections.singleton;
|
||||
import static java.util.Collections.singletonList;
|
||||
import static org.junit.jupiter.api.Assertions.*;
|
||||
import static org.mockito.Mockito.mock;
|
||||
import static org.mockito.Mockito.when;
|
||||
|
||||
@@ -49,17 +52,17 @@ public class RPCAdapterTests {
|
||||
rpcAdapter.step(0); // process message
|
||||
|
||||
final String message = serialDevice.readMessageAsVM();
|
||||
Assertions.assertNotNull(message);
|
||||
assertNotNull(message);
|
||||
|
||||
final JsonObject json = new JsonParser().parse(message).getAsJsonObject();
|
||||
|
||||
final JsonArray devicesJson = json.getAsJsonArray("data");
|
||||
Assertions.assertEquals(1, devicesJson.size());
|
||||
assertEquals(1, devicesJson.size());
|
||||
|
||||
final JsonObject deviceJson = devicesJson.get(0).getAsJsonObject();
|
||||
|
||||
final JsonArray methodsJson = deviceJson.getAsJsonArray("methods");
|
||||
Assertions.assertEquals(1, methodsJson.size());
|
||||
assertEquals(1, methodsJson.size());
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -70,7 +73,7 @@ public class RPCAdapterTests {
|
||||
|
||||
invokeMethod(DEVICE_UUID, method.getName(), 0xdeadbeef);
|
||||
|
||||
Assertions.assertEquals(0xdeadbeef, method.passedValue);
|
||||
assertEquals(0xdeadbeef, method.passedValue);
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -80,9 +83,9 @@ public class RPCAdapterTests {
|
||||
setDevice(device, DEVICE_UUID);
|
||||
|
||||
final JsonElement result = invokeMethod(DEVICE_UUID, method.getName(), 0xdeadbeefcafebabeL);
|
||||
Assertions.assertNotNull(result);
|
||||
Assertions.assertTrue(result.isJsonPrimitive());
|
||||
Assertions.assertEquals(0xcafebabe, result.getAsInt());
|
||||
assertNotNull(result);
|
||||
assertTrue(result.isJsonPrimitive());
|
||||
assertEquals(0xcafebabe, result.getAsInt());
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -91,12 +94,12 @@ public class RPCAdapterTests {
|
||||
final ObjectDevice device = new ObjectDevice(object);
|
||||
setDevice(device, DEVICE_UUID);
|
||||
|
||||
Assertions.assertEquals(42 + 23, invokeMethod(DEVICE_UUID, "add", 42, 23).getAsInt());
|
||||
assertEquals(42 + 23, invokeMethod(DEVICE_UUID, "add", 42, 23).getAsInt());
|
||||
}
|
||||
|
||||
private void setDevice(final RPCDevice device, final UUID deviceId) {
|
||||
when(busController.getDevices()).thenReturn(Collections.singleton(device));
|
||||
when(busController.getDeviceIdentifiers(device)).thenReturn(Collections.singleton(deviceId));
|
||||
when(busController.getDevices()).thenReturn(singleton(device));
|
||||
when(busController.getDeviceIdentifiers(device)).thenReturn(singleton(deviceId));
|
||||
|
||||
// trigger device cache rebuild
|
||||
rpcAdapter.pause();
|
||||
@@ -120,9 +123,9 @@ public class RPCAdapterTests {
|
||||
rpcAdapter.step(0);
|
||||
|
||||
final String result = serialDevice.readMessageAsVM();
|
||||
Assertions.assertNotNull(result);
|
||||
assertNotNull(result);
|
||||
final JsonObject resultJson = new JsonParser().parse(result).getAsJsonObject();
|
||||
Assertions.assertEquals("result", resultJson.get("type").getAsString());
|
||||
assertEquals("result", resultJson.get("type").getAsString());
|
||||
return resultJson.get("data");
|
||||
}
|
||||
|
||||
@@ -229,12 +232,12 @@ public class RPCAdapterTests {
|
||||
|
||||
@Override
|
||||
public List<String> getTypeNames() {
|
||||
return Collections.singletonList(getClass().getSimpleName());
|
||||
return singletonList(getClass().getSimpleName());
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<RPCMethod> getMethods() {
|
||||
return Collections.singletonList(method);
|
||||
return singletonList(method);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user