package org.zu.ardulink.connection.pi; import static org.junit.Assert.assertArrayEquals; import static org.junit.Assert.assertTrue; import org.junit.After; import org.junit.Before; import org.junit.FixMethodOrder; import org.junit.Test; import org.junit.runners.MethodSorters; import org.zu.ardulink.Link; import org.zu.ardulink.protocol.IProtocol; import org.zu.ardulink.protocol.LoggerReplyMessageCallback; import org.zu.ardulink.protocol.MessageInfo; @FixMethodOrder(MethodSorters.NAME_ASCENDING) public class RaspberryPIConnectionTest { private Link link; private boolean isInitialized = false; private boolean isLastTest = false; @Before public void setUp() { if(!isInitialized) { RaspberryPIConnection connection = new RaspberryPIConnection(); link = Link.createInstance("Rasp Link", connection); isInitialized = true; } } @After public void cleanUp() { if(link != null && isLastTest) { link.disconnect(); link = null; } } @Test public void t01GetPortList() { Object[] portlist = link.getPortList().toArray(); assertArrayEquals(new Object[]{"Raspberry PI"}, portlist); } @Test public void t02Connect() { assertTrue(link.connect()); } @Test public void t03SendPowerPinSwitch() { MessageInfo info = link.sendPowerPinSwitch(0, IProtocol.HIGH); assertTrue(info.isSent()); } @Test public void t04SendPowerPinSwitch() { MessageInfo info = link.sendPowerPinSwitch(0, IProtocol.HIGH, new LoggerReplyMessageCallback()); isLastTest = true; assertTrue(info.isSent()); } }