bool buildGamingComputerTest1() { ComputerBuilder *builder = new GamingComputerBuilder(); builder->createComputer(); Computer *computer = builder->getResult(); HardDrive** hardDrives = computer->getHardDriveSet().getHardDrives(); int hardDriveSpace = 0; for (int i = 0; i < computer->getHardDriveSet().getNumberOfHardDrives(); ++i) { hardDriveSpace += hardDrives[i]->getHardDriveSize(); } if (hardDriveSpace >= 5000) { delete builder; delete computer; return true; } delete builder; delete computer; return false; }
bool buildServerTest1() { ComputerBuilder *builder = new ServerBuilder(); builder->createComputer(); Computer *computer = builder->getResult(); Ram* ram = computer->getRamSet().getRamSticks(); int amountOfRam = 0; for (int i = 0; i < computer->getRamSet().getNumberOfRamSticks(); ++i) { amountOfRam += ram[i].getRamSize(); } if (256 == amountOfRam) { HardDrive** drives = computer->getHardDriveSet().getHardDrives(); int amountOfHardDriveSpace = 0; for (int i = 0; i < computer->getHardDriveSet().getNumberOfHardDrives(); ++i) { amountOfHardDriveSpace += drives[i]->getHardDriveSize(); } if (13440 == amountOfHardDriveSpace) { delete builder; delete computer; return true; } } delete builder; delete computer; return false; }
bool createBuilderTest() { ComputerBuilder *builder = new OfficeComputerBuilder(); builder->createComputer(); Computer *computer = builder->getResult(); bool success = (2 == computer->getRamSet().getNumberOfRamSticks()) && (1 == computer->getHardDriveSet().getNumberOfHardDrives()); delete builder; delete computer; return success; }
bool computerHardDrivesTest() { Computer* computer = new Computer(); HardDrive** hardDrives = new HardDrive*[3]; hardDrives[0] = new SolidStateDrive("SAMSUNG 850 EVO-Series MZ-75E1T0B/AM", 1000); hardDrives[1] = new HardDiscDrive("WD BLACK SERIES WD2003FZEX", 2000, 7200); hardDrives[2] = new HardDiscDrive("WD BLACK SERIES WD2003FZEX", 2000, 7200); computer->setHardDrives(hardDrives, 3); std::string expected = "Hard Drives: Number Of Drives: 3\n"; expected += "Drive 1: SAMSUNG 850 EVO-Series MZ-75E1T0B/AM, Size: 1000 GB\n"; expected += "Drive 2: WD BLACK SERIES WD2003FZEX, Size: 2000 GB, 7200 RPM\n"; expected += "Drive 3: WD BLACK SERIES WD2003FZEX, Size: 2000 GB, 7200 RPM"; std::string actual = std::string(computer->getHardDriveSet().getPartInformation()); for (int i = 0; i < 3; ++i) { delete hardDrives[i]; } delete[] hardDrives; delete computer; return expected == actual; }