Реализация абстрактных типов данных с помощью классов С++, страница 5

Тестирование конструктора TFrac(int a, int b). На вход подаются 2 числа, положительных или отрицательных. Автоматические проводит сокращение дроби(если необходимо)

Входные данные

Ожидаемый результат

Полученный результат

1.

a = 1, b = 1

Дробь 1/1

Дробь 1/1

2.

a = -1, b = 1

Дробь – 1/1

Дробь –1/1

3.

a = -1, b = -1

Дробь 1/1

Дробь 1/1

4.

a =1, b = -1

Дробь –1/1

Дробь – 1/1

5.

a = 6, b = 4

Дробь 3/2

Дробь 3/2

6.

a = 3, b = 0

Дробь 0/1

Дробь 0/1

7.

a = 0, b = 99

Дробь 0/1

Дробь 0/1

8.

a = 4, b = 4

Дробь 1/1

Дробь 1/1

Тестирование конструктора TFrac(QString drob). На вход подается строка в  виде дроби «число/число». Конструктор выполняет преобразования аналогичные первому, следовательно, нам необходимо проверить корректность конвертации строкового представления числа в тип int. Автоматические проводит сокращение дроби(если необходимо)

Входные данные

Ожидаемый результат

Полученный результат

1.

«1/1»

Дробь 1/1

Дробь 1/1

2.

«-102/51»

Дробь – 2/1

Дробь – 2/1

3.

«64/-1024»

Дробь – 1/16

Дробь –1/16

4.

«-2/0»

Дробь 0/1

Дробь  0/1

Тестирование оператора копирования/присваивания «=». В данном классе этот метод реализован посредством перегрузки оператора присваивания -  «=». Таким образом что, оператор возвращает конструктор объекта TFrac, и автоматические проводит сокращение дроби(если необходимо)

Входные данные

Ожидаемый результат

Полученный результат

Дробь ½

Дробь 1/2

Дробь ½

Тестирование оператора сложения «+». В данном классе этот метод реализован посредством перегрузки оператора сложения «+».Таким образом что, оператор возвращает конструктор объекта TFrac, и автоматические проводит сокращение дроби(если необходимо)

Входные данные

Ожидаемый результат

Полученный результат

1.

1/2 + 2/2

Дробь 3/2

Дробь 3/2

2.

-2/7 + 5/9

Дробь 17/63

Дробь – 17/63*

3.

1/3 + (- 2/3)

Дробь – 1/3

Дробь -1/3

4.

0/1 + 3/10

Дробь 3/10

Дробь 3/10

5.

-24/25 + (-2/75)

Дробь – 74/75

Дробь – 74/75

*- не учитывался знак при возврате результата.(Исправлено)

Тестирование оператора умножения «*».В данном классе этот метод реализован посредством перегрузки оператора умножения «*».Таким образом что, оператор возвращает конструктор объекта TFrac, и автоматические проводит сокращение дроби(если необходимо)

Входные данные

Ожидаемый результат

Полученный результат

1.

1/8 * 2/5

Дробь 1/20

Дробь 1/20

2.

- 2/3 * 2/10

Дробь– 2/15

Дробь – 2/15

3.

7/8 * (-5/9)

Дробь – 35/72

Дробь – 35/72

4.

(-3/14) * (-5/101)

Дробь 15/1414

Дробь 15/1414

5.

6/11 * 0/1

Дробь 0/1

0/1

6.

0/1 * 2/3

Дробь 0/1

0/1

Тестирование оператора вычитания «-».В данном классе этот метод реализован посредством перегрузки оператора вычитания «-».Таким образом что, оператор возвращает конструктор объекта TFrac, и автоматические проводит сокращение дроби(если необходимо)

Входные данные

Ожидаемый результат

Полученный результат

1.

7/8 – 1/2

Дробь 3/8

Дробь 3/8

2.

3/7 – (- 1/3)

Дробь 16/21

Дробь 16/21

3.

(-5/4) – 3/2

Дробь –11/4

Дробь –1/4*

4.

(-1/3) – (-7/9)

Дробь 4/9

Дробь 10/9**

5.

2/3 – 7/8

Дробь – 5/24

Дробь – 5/24

6.

(-2/3) – (-1/2)

Дробь – 1/6

Дробь – 7/6**

*-Возвращалась разность числителей, а должна была сумма.

** - Возвращалась сумма числителей, а должна была разность.

Тестирование оператора деления «/».В данном классе этот метод реализован посредством перегрузки оператора деления «/».Таким образом что, оператор возвращает конструктор объекта TFrac, и автоматические проводит сокращение дроби(если необходимо)

Входные данные

Ожидаемый результат

Полученный результат

1.

1/2 / 5/6

Дробь 3/5

Дробь 3/5

2.

(-2/5) / 7/3

Дробь – 6/35

Дробь – 6/35

3.

5/6 / (-3/4)

Дробь – 10/9

Дробь – 10/9

4.

(-3/8) / (-10/11)

Дробь 33/80

Дробь 33/80

Тестирование метода возвращающего квадрат. Метод реализован таким образом что, оператор возвращает конструктор объекта TFrac, и автоматические проводит сокращение дроби(если необходимо)

Входные данные

Ожидаемый результат

Полученный результат

1.

Дробь 1/6

Дробь 1/36

Дробь 1/36

2

Дробь –2/45

Дробь 4/2025

Дробь 4/2025

Тестирование метода возвращающего дробь со знаком обратным знаку данной дроби. Метод  возвращает конструктор объекта TFrac, и автоматические проводит сокращение дроби(если необходимо)

Входные данные

Ожидаемый результат

Полученный результат

1.

Дробь 5/6

Дробь – 5/6

Дробь – 5/6

2.

Дробь –7/13

Дробь 7/13

Дробь 7/13

Тестирование оператора сравнения. В данном классе этот метод реализован посредством перегрузки оператора сравнения «==». Таким образом, что оператор возвращает значение булевского типа: true, если сравниваемые дроби равны и false в противном случае.

Входные данные

Ожидаемый результат

Полученный результат

1.

5/6 == 5/6

True

True

2.

13/24 == 45/12

False

False

3.

-2/4 == 1/2

False

False

4.

-3/15 == -1/5

True

True

5.

4/9 == -2/3

False

False

Тестирование оператора «больше». В данном классе этот метод реализован посредством перегрузки оператора больше «>». Таким образом, что оператор возвращает значение булевского типа: true, если первая дробь больше второй и false в противном случае.

Входные данные

Ожидаемый результат

Полученный результат

1.

3/7 > 1/3

True

True

2.

-2/1 > 5/6

False

False

3.

5/111 > -1/2

True

True

4.

-1/19 > (-7/8)

True

True

Тестирование метода возвращающего числитель дроби типа int. Знак дроби не учитывается.

Входные данные

Ожидаемый результат

Полученный результат

1.

Дробь 7/3

7

7

2.

Дробь 4/8

1

1

3.

Дробь –5/6

5

5

Тестирование метода возвращающего знаменатель дроби типа int/ Знак дроби не учитывается.

Входные данные

Ожидаемый результат

Полученный результат

1.

Дробь 3/10

10

10

2.

Дробь 5/99

99

99

3.

Дробь 0/0

1

1

Тестирование метода возвращающего строковое представление числителя. Знак дроби не учитывается, тип возвращаемого значения – QString.

Входные данные

Ожидаемый результат

Полученный результат

1.

Дробь 7/8

“7”

“7”

2.

Дробь -5/3

“5”

“5”

3.

Дробь 1/5

“1”

“1”

Тестирование метода возвращающего строковое представление знаменателя. Знак дроби не учитывается, тип возвращаемого значения – QString.

Входные данные

Ожидаемый результат

Полученный результат

1.

Дробь 7/8

“8”

“8”

2.

Дробь -5/3

“3”

“3”

3.

Дробь 1/5

“5”

“5”

Тестирование метода возвращающего строковое представление дроби. Тип возвращаемого значения – QString.

Входные данные

Ожидаемый результат

Полученный результат

1.

Дробь 3/8

“3/8”

“3/8”

2.

Дробь -5/12

“-5/12”

“-5/12”