diff options
| author | Fuwn <[email protected]> | 2022-06-09 22:10:55 -0700 |
|---|---|---|
| committer | Fuwn <[email protected]> | 2022-06-09 22:10:55 -0700 |
| commit | 3f07f307569afce65e0ed96499e344f8c2656198 (patch) | |
| tree | 0a8938ebd967d575678ddd3c83c206074331ca2b /src/Cage.cc | |
| download | zoo-main.tar.xz zoo-main.zip | |
Diffstat (limited to 'src/Cage.cc')
| -rw-r--r-- | src/Cage.cc | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/src/Cage.cc b/src/Cage.cc new file mode 100644 index 0000000..d6a3aa4 --- /dev/null +++ b/src/Cage.cc @@ -0,0 +1,48 @@ +#include <utility> + +#include "Cage.hh" + +namespace zoo { +void Cage::setCageNumber(int _cageNumber) { + if (validateCageNumber(_cageNumber)) { + this->cageNumber = _cageNumber; + } +} + +void Cage::setCageLocation(std::string _cageLocation) { + this->cageLocation = std::move(_cageLocation); +} + +void Cage::setCageSqFt(int _cageSqFt) { + if (Cage::validateSqFt(_cageSqFt)) { + this->cageSqFt = _cageSqFt; + } +} + +int Cage::getCageNumber() const { return this->cageNumber; } + +std::string Cage::getCageLocation() { return this->cageLocation; } + +int Cage::getCageSqFt() const { return this->cageSqFt; } + +bool Cage::validateSqFt(int _cageSqFt) { + if (_cageSqFt < 2 || _cageSqFt > 100000) { + return false; + } else { + return true; + } +} + +bool Cage::validateCageNumber(int _cageNumber) { + if (this->zoo != nullptr) { + for (std::size_t i = 0; + i < static_cast<std::size_t>(this->zoo->getNumCages()); ++i) { + if (*zoo->getCage(i) == _cageNumber) { + return true; + } + } + } + + return false; +} +} // namespace zoo |