public void StandardFrame() { // act var req = new FeigRequest { Address = 0x12, Command = FeigCommand.ReadConfiguration, Data = BufferSpan.From(0x07), }; // assert Check.That(req.Address).IsEqualTo(0x12); Check.That(req.Command).IsEqualTo(FeigCommand.ReadConfiguration); Check.That(req.Data.Buffer).ContainsExactly(0x07); // act var frame = req.ToBufferSpan(); // assert Check.That(frame.ToArray()) .ContainsExactly( 0x06, 0x12, 0x80, 0x07, 0xe5, 0x80 ); Check.That(req.ToString()).IsEqualTo("Address: 18, Command: ReadConfiguration, Data: 07"); }
public void StandardFrame_GetSoftwareVersion() { // act var req = new FeigRequest { Command = FeigCommand.GetSoftwareVersion }; // assert Check.That(req.Address).IsEqualTo(0xFF); Check.That(req.Command).IsEqualTo(FeigCommand.GetSoftwareVersion); Check.That(req.Data.IsEmpty).IsTrue(); // act var frame = req.ToBufferSpan(); // assert Check.That(frame.ToArray()) .ContainsExactly( 0x05, 0xFF, 0x65, 0xE5, 0xCB ); Check.That(req.ToString()).IsEqualTo("Address: 255, Command: GetSoftwareVersion, Data: <empty>"); }
/// <summary> /// Returns a result indicating a successfully transfer operation. /// </summary> /// /// <exception cref="ArgumentNullException"> /// A null reference was passed to a method that did not accept it as a valid argument.</exception> public static FeigTransferResult Success(FeigRequest request, FeigResponse response) { Verify.NotNull(request, nameof(request)); Verify.NotNull(response, nameof(response)); return(new FeigTransferResult(FeigTransferStatus.Success, request, response)); }
/// <summary> /// Returns a result indicating that the transfer operation failed because an unexpected response /// has been received. /// </summary> /// /// <exception cref="ArgumentNullException"> /// A null reference was passed to a method that did not accept it as a valid argument.</exception> public static FeigTransferResult UnexpectedResponse(FeigRequest request, FeigResponse response) { Verify.NotNull(request, nameof(request)); Verify.NotNull(response, nameof(response)); return(new FeigTransferResult(FeigTransferStatus.UnexpectedResponse, request, response)); }
public void Defaults() { // act var req = new FeigRequest(); // assert Check.That(req.Address).IsEqualTo(0xff); Check.That(req.Command).IsEqualTo(FeigCommand.None); Check.That(req.Data.IsEmpty).IsTrue(); Check.That(req.ToString()).IsEqualTo("Address: 255, Command: None, Data: <empty>"); }
public void Succeed_With_MessageRequestResponse() { // act var request = new FeigRequest(); var response = new FeigResponse(); var exception = new FeigException("MSG", request, response); // assert Check.That(exception.Message).IsEqualTo("MSG"); Check.That(exception.InnerException).IsNull(); Check.That(exception.Request).IsSameReferenceAs(request); Check.That(exception.Response).IsSameReferenceAs(response); }
public void Succeed_With_RequestResponse() { // act var request = new FeigRequest(); var response = new FeigResponse(); var exception = new FeigException(request, response); // assert Check.That(exception.Message).Contains("InlayTester.Drivers.Feig.FeigException"); Check.That(exception.InnerException).IsNull(); Check.That(exception.Request).IsSameReferenceAs(request); Check.That(exception.Response).IsSameReferenceAs(response); }
public void Success() { // act var request = new FeigRequest(); var result = FeigTransferResult.Canceled(request); // assert Check.That(result.Status).IsEqualTo(FeigTransferStatus.Canceled); Check.That(result.Request).IsSameReferenceAs(request); Check.That(result.Response).IsNull(); Check.That(result.ToString()) .IsEqualTo( "Status: Canceled, Request: { Address: 255, Command: None, Data: <empty> }, Response: { <null> }" ); }
public void Success_With_Response() { // act var request = new FeigRequest(); var response = new FeigResponse(); var result = FeigTransferResult.Success(request, response); // assert Check.That(result.Status).IsEqualTo(FeigTransferStatus.Success); Check.That(result.Request).IsSameReferenceAs(request); Check.That(result.Response).IsSameReferenceAs(response); Check.That(result.ToString()) .IsEqualTo( "Status: Success, Request: { Address: 255, Command: None, Data: <empty> }, Response: { Address: 0, Command: None, Status: OK, Data: <empty> }" ); }
private FeigTransferResult(FeigTransferStatus status, FeigRequest request, FeigResponse?response) { Status = status; Request = request; Response = response; }
/// <summary> /// Returns a result indicating that the transfer operation failed due to a communication error. /// </summary> /// /// <exception cref="ArgumentNullException"> /// A null reference was passed to a method that did not accept it as a valid argument.</exception> public static FeigTransferResult CommunicationError(FeigRequest request) { Verify.NotNull(request, nameof(request)); return(new FeigTransferResult(FeigTransferStatus.CommunicationError, request, null)); }
/// <summary> /// Returns a result indicating that the transfer operation has timed out. /// </summary> /// /// <exception cref="ArgumentNullException"> /// A null reference was passed to a method that did not accept it as a valid argument.</exception> public static FeigTransferResult Timeout(FeigRequest request) { Verify.NotNull(request, nameof(request)); return(new FeigTransferResult(FeigTransferStatus.Timeout, request, null)); }
/// <summary> /// Returns a result indicating that the transfer operation has been canceled. /// </summary> /// /// <exception cref="ArgumentNullException"> /// A null reference was passed to a method that did not accept it as a valid argument.</exception> public static FeigTransferResult Canceled(FeigRequest request) { Verify.NotNull(request, nameof(request)); return(new FeigTransferResult(FeigTransferStatus.Canceled, request, null)); }