Create a derived class called TestPerson, which publically inherits from class Person. Create test methods for each method in class Person. Remember these functions should not accept any parameters or return any values. However, they should print messages for "test case passed" or "test case failed".

Respuesta :

Answer:

class TestPerson : public Person {

private:

  string test_name;

  int test_age;

  char test_gender;

  float test_height;

public:

  TestPerson (string name, int age, char gender, float height) : Person(name, age, gender, height) {

      this -> test_name = name;

      this -> test_age = age;

      this -> test_gender = gender;

      this -> test_height = height;

  }

  void testSetName() {

      test_name = "qwerty";

      setName(test_name);

      if (name.compare(test_name) == 0)

          cout << "Test passed";

      else

          cout << "Test failed";

  }

  void testSetAge() {

      test_age = 999;

      setAge(test_age);

      if (age == test_age)

          cout << "Test passed";

      else

          cout << "Test failed";

  }

  void testSetGender() {

      test_gender = 'X';

      setGender(test_gender);

      if (gender == test_gender)

          cout << "Test passed";

      else

          cout << "Test failed";

  }

  void testSetHeight() {

      test_height = 100.563f;

      setHeight(test_height);

      if (height == test_height)

          cout << "Test passed";

      else

          cout << "Test failed";

  }

  void testGetName() {

      if (getName().compare(test_name) == 0)

          cout << "Test passed";

      else

          cout << "Test failed";

  }

  void testGetAge() {

      if (getAge() == test_age)

          cout << "Test passed";

      else

          cout << "Test failed";

  }

  void testGetGender() {

      if (getGender() == test_gender)

          cout << "Test passed";

      else

          cout << "Test failed";

  }

  void testGetHeight() {

      if (getHeight() == test_height)

          cout << "Test passed";

      else

          cout << "Test failed";

  }

}

ACCESS MORE
EDU ACCESS
Universidad de Mexico