summaryrefslogtreecommitdiff
path: root/src/Cage.cc
blob: d6a3aa4a51bcef0047d32ea32b378c79f87090c1 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
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