public void GetApiVersionReturnsVersionOfOsramLightifyApi() { // Arrange var major = 1; var minor = 2; var build = 3; var version = new Version(major, minor, build, 0); var apiVersionResponse = new ApiVersion() { Version = version }; var client = new Client(TestConstants.OSRAM_LIGHTIFY_BASE_URI); client.UserInformation = new UserInformation() { UserId = TestConstants.USER_ID, Username = TestConstants.USERNAME, Password = TestConstants.PASSWORD, SerialNumber = TestConstants.SERIAL_NUMBER, SecurityToken = TestConstants.SECURITY_TOKEN }; var restCallExecutor = Mock.Create<RestCallExecutor>(); Mock.Arrange(() => restCallExecutor.Invoke(HttpMethod.Get, Arg.Matches<string>(s => s.Contains(Constants.ApiOperation.VERSION)), Arg.IsAny<Dictionary<string, string>>(), Arg.AnyString)) .IgnoreInstance() .Returns(apiVersionResponse.SerializeObject()) .OccursOnce(); // Act var result = client.GetApiVersion(); // Assert Assert.IsNotNull(result); Assert.AreEqual(major, result.Major); Assert.AreEqual(minor, result.Minor); Assert.AreEqual(build, result.Build); Mock.Assert(restCallExecutor); }