public void GetSetPerson()
        {
            personResult person = new personResult()
            {
                Name = "test",
                Age  = int.MaxValue
            };
            var instance = CreateInstance();

            instance.Person = person;

            Assert.AreEqual(instance?.Person, person);
        }
        public async Task SuccessfulFlow()
        {
            const string name = "example";
            const int    age  = int.MaxValue;
            var          repositoryResults = new PersonResult()
            {
                Name = name,
                Age  = age
            };

            MockValidatorFactory.Setup(v => v.GetValidator(Request)).Returns(new GetPersonRequestValidator());
            MockPersonRepository.Setup(r => r.GetPersonAsync(Request.PersonID.Value)).ReturnsAsync(repositoryResults);

            var service = CreateService();
            var result  = await service.ProcessAsync();

            MockValidatorFactory.Verify(v => v.GetValidator(Request), Times.Once);
            MockPersonRepository.Verify(r => r.GetPersonAsync(Request.PersonID.Value), Times.Once);

            Assert.IsTrue(result != null);
            Assert.IsTrue(result.StatusCode == HttpStatusCode.OK);
            Assert.IsTrue(result.Response is GetPersonResponse response && response.Person != null && response.Successful);
        }