Ejemplo n.º 1
0
        public void SetValueWithoutExceptionTest()
        {
            // Arrange
            string objectId      = "objId1";
            string expectedValue = "toBeExpected";

            _regObjectMock.Setup(o => o.StringValueProperty).Returns(expectedValue);
            var recipient = new Recipient();
            var request   = new PropertySetRequest()
            {
                objectId   = objectId,
                propertyId = ObjectDescriptor.GetPropertyId <IRegisteredObject>(nameof(IRegisteredObject.StringValueProperty)),
                value      = expectedValue
            };

            // Act
            recipient.Register(objectId, _regObjectMock.Object);
            var response = recipient.Request(request) as PropertySetResponse;

            // Assert
            _serviceMock.Verify();
            _regObjectMock.Verify();

            Assert.AreEqual(expectedValue, _regObjectMock.Object.StringValueProperty);

            Assert.AreEqual(ResponseType.propertySet, response.responseType);
            Assert.AreEqual(request.objectId, response.objectId);
            Assert.AreEqual(request.propertyId, response.propertyId);
        }
Ejemplo n.º 2
0
        internal bool SetValue(string propertyId, object value)
        {
            var request = new PropertySetRequest()
            {
                objectId   = _objectId,
                propertyId = propertyId,
                value      = value
            };
            var response = _client.Request(request);

            switch (response)
            {
            case ExceptionResponse exResp:
                throw exResp.exception;

            case PropertySetResponse propertySetResp:
                if (propertySetResp.objectId != _objectId)
                {
                    throw new InvalidResponseException($"Incorrect object ID. Expected '{_objectId}', but received '{propertySetResp.objectId}'.");
                }
                else if (propertySetResp.propertyId != propertyId)
                {
                    throw new InvalidResponseException($"Incorrect property ID. Expected '{propertyId}', but received '{propertySetResp.propertyId}'.");
                }
                break;

            default:
                throw new InvalidResponseException($"Incorrect response type. Expected '{ResponseType.propertySet}', but received '{response.responseType}'.");
            }
            return(true);
        }
Ejemplo n.º 3
0
        public void SetValueWithExceptionTest()
        {
            // Arrange
            string objectId = "objId1";

            _regObjectMock.SetupSet(o => o.StringValueProperty = It.IsAny <string>()).Throws(new NotImplementedException());
            var recipient = new Recipient();
            var request   = new PropertySetRequest()
            {
                objectId   = objectId,
                propertyId = ObjectDescriptor.GetPropertyId <IRegisteredObject>(nameof(IRegisteredObject.StringValueProperty)),
                value      = "toBeExpected"
            };

            // Act
            recipient.Register(objectId, _regObjectMock.Object);
            var response = recipient.Request(request) as ExceptionResponse;

            // Assert
            _serviceMock.Verify();
            _regObjectMock.Verify();

            Assert.AreEqual(ResponseType.exception, response.responseType);
            Assert.IsTrue(response.exception.Message.Contains(objectId) &&
                          response.exception.Message.Contains(nameof(IRegisteredObject.StringValueProperty)));
        }