public void DestroyAgency_GivenANullAgency_ThrowsArgumentException()
        {
            var agencyRepository = new Mock<IAgencyRepository>();
            var agencyFactory = new AgencyFactory(agencyRepository.Object);

            agencyFactory.DestroyAgency(null);
        }
        public void DestroyAgency_GivenAnAgency_AgencyIsMadeTransient()
        {
            bool isTransient = false;

            var agencyRepository = new Mock<IAgencyRepository>();

            agencyRepository.Setup(a => a.MakeTransient(It.IsAny<Agency>())).Callback(() => isTransient = true);
            var agencyFactory = new AgencyFactory(agencyRepository.Object);
            var agency = new Mock<Agency>();

            agencyFactory.DestroyAgency(agency.Object);

            Assert.IsTrue(isTransient);
        }