public void testResidential() { //create instance of factory ResidentialFactory f = new ResidentialFactory(); //create instance from factory Residential p = f.create("Residential", 50, 50, 50); //check that it is right type Type t = new Residential().GetType(); Assert.IsInstanceOfType(t, p); }
public void buyHouse(Player player) { //create prompt string sPrompt = String.Format("{0}Please select a property to buy a house for:", this.playerPrompt(player)); //create variable for propertyToBuy Residential propertyToBuyFor = null; if (player.getPropertiesOwnedFromBoard().Count == 0) { //write message Console.WriteLine("{0}You do not own any properties.", playerPrompt(player)); //return from method return; } //get the property to buy house for Property property = this.displayPropertyChooser(player.getPropertiesOwnedFromBoard(), sPrompt); //if dont own any properties //check that it is a residential if (property.GetType() == (new Residential().GetType())) { //cast to residential property propertyToBuyFor = (Residential)property; } else //else display msg { Console.WriteLine("{0}A house can no be bought for {1} because it is not a Residential Property.", this.playerPrompt(player), propertyToBuyFor.getName()); return; } //check that max houses has not been reached if (propertyToBuyFor.getHouseCount() >= Residential.getMaxHouses()) { Console.WriteLine("{0}The maximum house limit for {1} of {2} houses has been reached.", playerPrompt(player), propertyToBuyFor.getName(), Residential.getMaxHouses()); } else { //confirm bool doBuyHouse = this.getInputYN(player, String.Format("You chose to buy a house for {0}. Are you sure you want to purchase a house for ${1}?", propertyToBuyFor.getName(), propertyToBuyFor.getHouseCost())); //if confirmed if (doBuyHouse) { //buy the house propertyToBuyFor.addHouse(); Console.WriteLine("{0}A new house for {1} has been bought successfully", playerPrompt(player), propertyToBuyFor.getName()); } } }