Изменение до варианта 1 и тесты

main
lab34 (BiriukovaAlS) 2 лет назад
Родитель 17163aa202
Сommit 736a9d128b

@ -5,25 +5,26 @@
#include "text.h" #include "text.h"
#include "svg.h" #include "svg.h"
using namespace std; using namespace std;
struct Input struct Input
{ {
vector<double>numbers; vector<double>numbers;
size_t kol_kor{}; size_t kol_kor{};
size_t number_count;
}; };
Input Input
input_data() input_data()
{ {
size_t number_count; Input in;
cerr<<"Marks: "; cerr<<"Marks: ";
cin>>number_count; cin>>in.number_count;
Input in;
in.numbers.resize(number_count); in.numbers.resize(in.number_count);
for (size_t i=0; i<number_count; i++) for (size_t i=0; i<in.number_count; i++)
{ {
cerr<<"numbers["<<i<<"]="; cerr<<"numbers["<<i<<"]=";
cin>>in.numbers[i]; cin>>in.numbers[i];
@ -36,9 +37,10 @@ input_data()
int main() int main()
{ {
size_t number_count;
auto in = input_data(); auto in = input_data();
auto B = make_histogram(in.numbers, in.kol_kor); auto B = make_histogram(in.numbers, in.kol_kor);
show_histogram_svg(B); show_histogram_svg(B, in.number_count);
return 0; return 0;
} }

@ -5,7 +5,8 @@
TEST_CASE("distinct positive numbers") { TEST_CASE("distinct positive numbers")
{
double minp = 0; double minp = 0;
double maxp = 0; double maxp = 0;
std::vector<double>numbers{1,2,3,4,5}; std::vector<double>numbers{1,2,3,4,5};
@ -16,3 +17,71 @@ TEST_CASE("distinct positive numbers") {
CHECK(maxp == 5); CHECK(maxp == 5);
CHECK(minp!=maxp); CHECK(minp!=maxp);
} }
TEST_CASE("distinct positive numbers")
{
double minp = 0;
double maxp = 0;
std::vector<double>numbers{3,4,4,4,4};
find_minmax(numbers, minp, maxp);
CHECK(minp == 1);
CHECK(maxp == 5);
}
TEST_CASE("emptyA")
{
std::vector<double>numbers{1,2,3,4};
double min = 0;
double max = 0;
find_minmax(numbers, min, max);
CHECK(numbers.size() !=0 );
}
TEST_CASE("min")
{
std::vector<double>numbers{1,2,3,4};
double min = 0;
double max = 0;
find_minmax(numbers, min, max);
CHECK(min == 1);
}
TEST_CASE("max")
{
std::vector<double>numbers{1,2,3,4};
double min = 0;
double max = 0;
find_minmax(numbers, min, max);
CHECK(max == 4);
}
TEST_CASE("1A")
{
std::vector<double>numbers{1,2,3,4};
double min = 0;
double max = 0;
find_minmax(numbers, min, max);
CHECK(numbers.size() !=1 );
}
TEST_CASE("same")
{
std::vector<double>numbers{1,1,1,1};
std::vector<double>B{1,1,1,1};
double min = 0;
double max = 0;
find_minmax(numbers, min, max);
CHECK(numbers == B);
}
TEST_CASE("emt")
{
std::vector<double>numbers{};
double minp = 0;
double maxp = 0;
CHECK(find_minmax(numbers,minp,maxp)==false);
}

Загрузка…
Отмена
Сохранить