private static async Task switchAllRelays(EthRlyDevice device, bool newState) { device.SetAllRelays(newState); var states = await device.GetRelaysStatesAsync(); Assert.True(states.All(state => !state)); }
public async Task FullTest() { var expectedFirmwareVersion = 7; var expectedMacAddress = new byte[] { 0, 4, 163, 72, 186, 44 }; var options = new Options("192.168.1.150"); var device = new EthRlyDevice(options); await switchAllRelays(device, false); await switchAllRelaysOneByOne(device, true); await switchAllRelaysOneByOne(device, false); await switchAllRelays(device, true); await toggleAllRelays(device); var voltage = await device.GetVoltageAsync(); var firmwareVersion = await device.GetFirmwareVersionAsync(); var macAddress = await device.GetMacAddressAsync(); var relayStates = await device.GetRelaysStatesAsync(); Assert.Equal(expectedFirmwareVersion, firmwareVersion); Assert.True(voltage > 0); Assert.True(expectedMacAddress.SequenceEqual(macAddress)); Assert.True(relayStates.All(state => !state)); }
private static async Task switchAllRelaysOneByOne(EthRlyDevice device, bool newState) { for (int address = 0; address < 8; address++) { device.SetRelayState(address, newState); var state = await device.GetRelayStateAsync(address); Assert.False(state); } }
private static async Task toggleAllRelays(EthRlyDevice device) { for (int address = 0; address < 8; address++) { var beforeState = await device.GetRelayStateAsync(address); await device.ToggleRelayStateAsync(address); var afterState = await device.GetRelayStateAsync(address); Assert.False(beforeState == afterState); } }
private void setupEthrly() { var options = new Options( Config.Ethrly.Hostname, Config.Ethrly.Port, Config.Ethrly.Timeout, Token) { DelayBetweenCommands = Config.Ethrly.DelayBetweenCommands, CommandQueueLength = Config.Ethrly.CommandQueueLength, RelayCount = Config.Ethrly.RelayCount }; Ethrly = new EthRlyDevice(options); }