package home.automation.modbus; import java.util.Arrays; import java.util.List; import java.util.Random; import java.util.stream.Collectors; public class RepositoryInMemory implements Repository { private final List DEFINED_REGISTRY_FOR_TEST = Arrays.asList(4065, 4070, 4071, 4072, 4067, 4202, 4069, 4203, 4066, 4201, 4199); @Override public List getAll() { return DEFINED_REGISTRY_FOR_TEST.stream() .map(this::generateRandomResponse) .collect(Collectors.toList()); } @Override public Registry get(int register) { return generateRandomResponse(register); } private Registry generateRandomResponse(int registry) { final Random random = new Random(); return new Registry(registry, "TEST", Double.toString(random.nextDouble())); } @Override public void write(int register, double scaledValue) throws Exception { // no-op for tests } }