bool buildGamingComputerTest3() { ComputerBuilder *builder = new GamingComputerBuilder(); builder->createComputer(); Computer *computer = builder->getResult(); Part** list = computer->getAdditionalPartsList(); for (int i = 0; i < computer->getNumberOfAdditionalParts(); ++i) { Part* part = list[i]; if (part != 0) { // tests if Part is a BluRay drive if(dynamic_cast<BluRayDrive*>(part)) { delete builder; delete computer; return true; } } } delete builder; delete computer; return false; }
bool computerBluRayTest() { Computer* computer = new Computer(); computer->setNumberOfAdditionalParts(1); computer->addAdditionalPart(BluRayDrive("LG Black 12X BD-ROM", 12)); Part** parts = computer->getAdditionalPartsList(); std::string expected = "Blu-ray Drive: LG Black 12X BD-ROM, Read Speed: 12X"; std::string actual = std::string(parts[0]->getPartInformation()); delete computer; return expected == actual; }
bool computerFanTest() { Computer* computer = new Computer(); computer->setNumberOfAdditionalParts(1); computer->addAdditionalPart(CoolingFan("Cooler Master SickleFlow 120 - Sleeve Bearing 120mm", 1600)); Part** parts = computer->getAdditionalPartsList(); std::string expected = "Cooling Fan: Cooler Master SickleFlow 120 - Sleeve Bearing 120mm, Speed: 1600 RPM"; std::string actual = std::string(parts[0]->getPartInformation()); delete computer; return expected == actual; }
bool computerDVDDriveTest() { Computer* computer = new Computer(); computer->setNumberOfAdditionalParts(1); computer->addAdditionalPart(DVDDrive("ASUS 24X DVD Burner", 16)); Part** parts = computer->getAdditionalPartsList(); std::string expected = "DVD Drive: ASUS 24X DVD Burner, Read Speed: 16X"; std::string actual = std::string(parts[0]->getPartInformation()); delete computer; return expected == actual; }
bool computerWaterCoolingTest() { Computer* computer = new Computer(); computer->setNumberOfAdditionalParts(1); computer->addAdditionalPart(WaterCooling("CORSAIR Hydro Series H50 120mm", "CPU Block")); Part** parts = computer->getAdditionalPartsList(); std::string expected = "Water Cooler: CORSAIR Hydro Series H50 120mm, Cooling Type: CPU Block"; std::string actual = std::string(parts[0]->getPartInformation()); delete computer; return expected == actual; }