public void ToByteArrayTest()
        {
            // arrange
            var testee = new CardRelayState(8, 1);

            testee.CardState[0] = true;
            testee.CardState[1] = false;
            testee.CardState[2] = false;
            testee.CardState[3] = false;
            testee.CardState[4] = true;
            testee.CardState[5] = true;
            testee.CardState[6] = false;
            testee.CardState[7] = false;

            // act
            var result = testee.ToByteArray()[0];

            // assert
            Assert.AreEqual(Convert.ToByte(49), result);
        }
Esempio n. 2
0
 /// <summary>
 /// Transmit a "SetPort" Command
 /// </summary>
 /// <param name="newState">The new state.</param>
 /// <returns>card response frame</returns>
 public Conrad8RelayCardResponseFrame SetPortCommand(CardRelayState newState)
 {
     // submit command
     return SendCommandToCard(this.port, (int)RequestCommand.SetPort, (byte)newState.CardAddress, newState.ToByteArray()[0]);
 }
Esempio n. 3
0
        /// <summary>
        /// Transmit a "Toggle" command
        /// </summary>
        /// <param name="toggleState">Card state to be toggled.</param>
        /// <returns>relay card state</returns>
        public RelayCardStateResponse ToggleCommand(CardRelayState toggleState)
        {
            var result = new RelayCardStateResponse
                                {
                                    CardResponseFrame = SendCommandToCard(
                                                                            this.port,
                                                                            (int)RequestCommand.Toggle,
                                                                            (byte)toggleState.CardAddress,
                                                                            toggleState.ToByteArray()[0])
                                };

            result.RelayState = new CardRelayState(ConstNumberOfCardPorts, result.CardResponseFrame.AddressByte);
            result.RelayState.FromByte(result.CardResponseFrame.DataByte);

            return result;
        }
        public void GetPortCommandTest()
        {
            // arrange
            var measureRelayState = new CardRelayState(Conrad8RelayCard.ConstNumberOfCardPorts, ConstTesteeCardAddress, 1, 0, 0, 0, 0, 0, 1, 0);
            this.testee.SetPortCommand(new CardRelayState(Conrad8RelayCard.ConstNumberOfCardPorts, ConstTesteeCardAddress, 0, 0, 0, 0, 0, 0, 0, 1));
            this.testee.SetPortCommand(measureRelayState);

            // act
            var result = this.testee.GetPortCommand(ConstTesteeCardAddress);

            // assert
            Assert.AreEqual(65, result.CardResponseFrame.DataByte);
            Assert.AreEqual(measureRelayState.ToByteArray(), result.RelayState.ToByteArray());
        }