public void Result_Has_Failure_Status_If_ErrorMap_Available() { const string codeString = "2C"; // 44 var code = short.Parse(codeString, NumberStyles.HexNumber); var errorCode = new ErrorCode { name = "test" }; var errorMap = new ErrorMap { version = 1, revision = 1, errors = new Dictionary <string, ErrorCode> { { codeString, errorCode } } }; var converter = new DefaultConverter(); var responseBytes = new byte[24]; converter.FromInt16(code, responseBytes, HeaderIndexFor.Status); var mockConnection = new Mock <IConnection>(); mockConnection.Setup(x => x.IsConnected).Returns(true); mockConnection.Setup(x => x.Send(It.IsAny <byte[]>())).Returns(responseBytes); var mockConnectionPool = new Mock <IConnectionPool>(); mockConnectionPool.Setup(x => x.Acquire()).Returns(mockConnection.Object); mockConnectionPool.SetupGet(x => x.Configuration).Returns(new PoolConfiguration()); var service = new PooledIOService(mockConnectionPool.Object); service.SetErrorMap(errorMap); var result = service.Execute(new FakeOperationWithRequiredKey("key", null, new DefaultTranscoder(), 0, 0)); Assert.AreEqual(ResponseStatus.Failure, result.Status); Assert.AreEqual(errorCode.ToString(), result.Message); }