public int GetUnhappinessOfCivTests(CivilizationHappinessLogicTestData testData)
        {
            ICivilization civilization;
            CivilizationHappinessLogic happinessLogic;

            SetupTest(testData, out civilization, out happinessLogic);

            return(happinessLogic.GetUnhappinessOfCiv(civilization));
        }
        private void SetupTest(
            CivilizationHappinessLogicTestData testData, out ICivilization civ,
            out CivilizationHappinessLogic happinessLogic
            )
        {
            var cities = testData.Cities.Select(cityData => BuildCity(cityData));

            var resources = testData.AvailableResources.Select(resourceData => BuildResource(resourceData)).ToList();

            civ = BuildCivilization(testData.Civilization, cities, resources);

            SetupConfig(testData.Config);

            Container.Bind <IEnumerable <IResourceDefinition> >()
            .WithId("Available Resources")
            .FromInstance(resources);

            happinessLogic = Container.Resolve <CivilizationHappinessLogic>();
        }