public void Success()
            {
                // act
                var result = FeigParseResult.MoreDataNeeded();

                // assert
                Check.That(result.Status).IsEqualTo(FeigParseStatus.MoreDataNeeded);
                Check.That(result.Response).IsNull();

                Check.That(result.ToString()).IsEqualTo("Status: MoreDataNeeded, Response: { <null> }");
            }
            public void Success()
            {
                // act
                var result = FeigParseResult.FrameError();

                // assert
                Check.That(result.Status).IsEqualTo(FeigParseStatus.FrameError);
                Check.That(result.Response).IsNull();

                Check.That(result.ToString()).IsEqualTo("Status: FrameError, Response: { <null> }");
            }
            public void Success_With_Response()
            {
                // act
                var response = new FeigResponse();
                var result   = FeigParseResult.Success(response);

                // assert
                Check.That(result.Status).IsEqualTo(FeigParseStatus.Success);
                Check.That(result.Response).IsSameReferenceAs(response);

                Check.That(result.ToString())
                .IsEqualTo("Status: Success, Response: { Address: 0, Command: None, Status: OK, Data: <empty> }");
            }
 public void Exception_With_NullResponse()
 {
     Check.ThatCode(() => FeigParseResult.Success(null)).Throws <ArgumentNullException>();
 }