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); }