### Question:
BuildingServiceImpl implements BuildingService { @Override public void manifestBuilding(Planet planet, BuildingType type, int level) { Preconditions.checkNotNull(planet, "planet"); Preconditions.checkNotNull(type, "type"); Preconditions.checkArgument(level > 0); Building building = new Building(uuidFactory.create(), type, level, planet.getId()); LOGGER.debug("Adding building {} to planet {}", building, planet); buildingDAO.insert(building); } @Inject  BuildingServiceImpl(UUIDFactory uuidFactory, BuildingDAO buildingDAO, RoundService roundService, ConstructionSiteDAO constructionSiteDAO, PlanetDAO planetDAO, EventService eventService, TechnologyDAO technologyDAO, BuildingMechanics buildingMechanics, TechnologyMechanics technologyMechanics); @Override Buildings findBuildingsOnPlanet(Planet planet); @Override List<ConstructionSite> findConstructionSitesOnPlanet(Planet planet); @Override void manifestBuilding(Planet planet, BuildingType type, int level); @Override ConstructionSite constructBuilding(Planet planet, BuildingType type); @Override ConstructionSite upgradeBuilding(Planet planet, BuildingType type); @Override ConstructionSite constructOrUpgradeBuilding(Planet planet, BuildingType type); @Override Resources calculateBuildCostWithoutBonuses(BuildingType type, int level); @Override void finishConstructionSites(); @Override long calculateBuildTime(BuildingType type, int level, Technologies technologies, Buildings buildings); @Override long calculateBuildTimeWithoutBonuses(BuildingType type, int level); @Override Resources calculateBuildCost(BuildingType type, int level, Technologies technologies);  }### Answer:
@Test public void testManifestBuilding() throws Exception { UUID id = UUID.randomUUID(); when(uuidFactory.create()).thenReturn(id); sut.manifestBuilding(Data.Player1.Planet1.PLANET, BuildingType.COMMAND_CENTER, 10); verify(buildingDAO).insert(new Building(id, BuildingType.COMMAND_CENTER, 10, Data.Player1.Planet1.PLANET.getId())); }