public async Task Should_Get_ReturnsNotFoundResult()
        {
            //Arrange

            const int residentialId = 1;

            _managerMock.Setup(x => x.ExistsAsync(residentialId))
            .ReturnsAsync(false);

            _controller = new ResidentialController(_managerMock.Object);

            //Act

            var result = await _controller.Get(residentialId);

            //Assert

            _managerMock.Verify(x => x.ExistsAsync(residentialId), Times.Once);

            Assert.IsType <NotFoundResult>(result);
        }
        public async Task Should_Get_ReturnsAResidentialModel()
        {
            //Arrange

            const int    residentialId   = 1;
            const string residentialName = "Residential Name";

            var residentialModel = new ResidentialToUpdate
            {
                Id   = residentialId,
                Name = residentialName
            };

            _managerMock.Setup(x => x.ExistsAsync(residentialId))
            .ReturnsAsync(true);

            _managerMock.Setup(x => x.GetByIdAsync(residentialId))
            .ReturnsAsync(residentialModel);

            _controller = new ResidentialController(_managerMock.Object);

            //Act

            var result = await _controller.Get(residentialId);

            //Assert

            _managerMock.Verify(x => x.ExistsAsync(residentialId), Times.Once);
            _managerMock.Verify(x => x.GetByIdAsync(residentialId), Times.Once);


            var okResult = Assert.IsType <OkObjectResult>(result);
            var model    = Assert.IsAssignableFrom <ResidentialToUpdate>(okResult.Value);

            Assert.NotNull(model);
            Assert.Equal(residentialId, model.Id);
            Assert.Equal(residentialName, model.Name);
        }