void sean1()
{
int i,j;
randomize();
house1(80,0,random(100),random(100));
house4(64,85,random(100),random(100));
house4(64,155,random(100),random(100));
house1(80,210,random(100),random(100));
house1(65,295,random(100),random(100));
house1(80,380,random(100),random(100));
house4(62,425,random(100),random(100));
house1(502,0,random(100),random(100));
house1(512,60,random(100),random(100));
house1(500,120,random(100),random(100));
house4(510,180,random(100),random(100));
house1(505,240,random(100),random(100));
house4(510,300,random(100),random(100));
house3(505,360,random(100),random(100));
for(i=0;i<500;i+=120)
streetlight(165,i);
for(i=0;i<500;i+=120)
streetlight1(473,i);
signal(150,150);
signal(480,300);
pco(145,45);
pco(465,405);
}
TEST_F(SimulatorTest, spreadFireShop){
	Shop shop(Point(3, 5), Size(2, 2), 20, 20); // First burning shop
	House house1(Point(1, 3), 20);
	House house2(Point(1, 5), 20);
	House house3(Point(1, 7), 20);
	House house4(Point(3, 3), 20);
	House house5(Point(3, 7), 20);
	House house6(Point(5, 3), 20);
	House house7(Point(5, 5), 20);
	House house8(Point(5, 7), 20);

	Street horizontalDown("Horizontaldown", Point(0, 0), Point(8, 0));
	Street horizontalUp("Horizontalup", Point(0, 8), Point(8, 8));
	Street verticalLeft("verticalLeft", Point(0, 0), Point(0, 8));
	Street verticalRight("verticalRigth", Point(8, 0), Point(8, 8));

	EXPECT_TRUE(ptrCity->add(horizontalDown));
	EXPECT_TRUE(ptrCity->add(horizontalUp));
	EXPECT_TRUE(ptrCity->add(verticalLeft));
	EXPECT_TRUE(ptrCity->add(verticalRight));

	EXPECT_TRUE(ptrCity->add(shop));
	EXPECT_TRUE(ptrCity->add(house1));
	EXPECT_TRUE(ptrCity->add(house2));
	EXPECT_TRUE(ptrCity->add(house3));
	EXPECT_TRUE(ptrCity->add(house4));
	EXPECT_TRUE(ptrCity->add(house5));
	EXPECT_TRUE(ptrCity->add(house6));
	EXPECT_TRUE(ptrCity->add(house7));
	EXPECT_TRUE(ptrCity->add(house8));

	Simulator sim(ptrCity, ptrOutput);

	std::vector<House*> houses = ptrCity->getHouses();
	std::vector<House*>::iterator it;

	// Set first house on fire
	ptrCity->getShops()[0]->setFire();
	ptrOutput->step();

	// Count houses on fire
	int counter = 0;

	counter = 0;
	for(it = houses.begin();it != houses.end();it++){
		if((*it)->isBurning()){
			counter++;
		}
	}

	EXPECT_EQ(counter, 0);

	sim.burningDown();
	ptrOutput->step();
	sim.burningDown();
	ptrOutput->step();
	sim.burningDown();
	sim.spreadFire();
	ptrOutput->step();

	counter = 0;
	for(it = houses.begin();it != houses.end();it++){
		if((*it)->isBurning()){
			counter++;
		}
	}

	EXPECT_EQ(counter, 2);

	sim.spreadFire();
	sim.burningDown();
	ptrOutput->step();

	counter = 0;
	for(it = houses.begin();it != houses.end();it++){
		if((*it)->isBurning()){
			counter++;
		}
	}

	EXPECT_EQ(counter, 4);
}