Ejemplo n.º 1
0
TEST(Polinom, can_delete) {
	Polinom a;
	a.AddElement(monom(2, 100));
	Polinom b;
	b.AddElement(monom(0, 100));
	b = a;
	EXPECT_EQ(2, b[0].GetCoefficient());
}
Ejemplo n.º 2
0
TEST(Polinom, can_add_two_monoms)
{
	Polinom a;
	a.AddElement(monom(2, 1));
	a.AddElement(monom(5, 10));
	EXPECT_EQ(5, a[0].GetCoefficient());
	EXPECT_EQ(2, a[1].GetCoefficient());
}
TEST(TableSort, can_insert_polinom) 
{
	SortTable t;
	Polinom p;
	p.AddMonom(Monom(3, 125));
	t.Insert("a", &p);
	EXPECT_EQ(3, t.GetNode("a")->operator[](0).GetCoef());
}
Ejemplo n.º 4
0
TEST(Polinom, can_copy) {
	Polinom a;
	a.AddElement(monom(2,1));

	Polinom b(a);

	EXPECT_EQ(a[0].GetCoefficient(),b[0].GetCoefficient());
	EXPECT_EQ(a.GetLength(), b.GetLength());
}
Ejemplo n.º 5
0
TEST(Polinoms, can_add_polinoms_with_equal_Degree)
{
	Polinom p1,p2;
	p1.AddMonom(3,123);
	p2.AddMonom(2,123);	
	Polinom res;
	res.AddMonom(5,123);
	EXPECT_EQ(res,p1+p2);
}
Ejemplo n.º 6
0
TEST(Polinoms, can_substract_polinoms_with_equal_Degree)
{	
	Polinom p1, p2;
	p1.AddMonom(3, 123);
	p2.AddMonom(2, 123);
	Polinom res;
	res.AddMonom(1, 123);
	EXPECT_EQ(res, p1 - p2);
}
Ejemplo n.º 7
0
TEST(Polinoms, can_clean_polinom)
{
	Polinom p;
	p.AddMonom(1,111);
	p.AddMonom(2,222);
	p.AddMonom(3,333);
	p.Clean();
	EXPECT_EQ(true,p.GetHead()==NULL);
}
Ejemplo n.º 8
0
TEST(Polinom, can_multiply_polinom_double) {
	Polinom a;
	a.AddElement(monom(0.5, 100));

	Polinom c = a * a;

	EXPECT_EQ(1, c.GetLength());
	EXPECT_EQ(0.25, c[0].GetCoefficient());
	EXPECT_EQ(200, c[0].GetDegree());
}
Ejemplo n.º 9
0
TEST(Polinom, can_add_polinoms_whithout_fhead) {
	Polinom a;
	a.AddElement(monom(1, 100));
	a.AddElement(monom(2, 200));
	Polinom b;

	a = a + b;

	EXPECT_EQ(2, a.GetLength());
}
Ejemplo n.º 10
0
TEST(Polinom, can_not_multiply_polinom_whith_large_monom) {
	Polinom a;
	a.AddElement(monom(1, 100));
	a.AddElement(monom(2, 200));
	monom b(3, 900);

	Polinom c; // 6|300,3|200

	EXPECT_ANY_THROW(c = a * b);
}
Ejemplo n.º 11
0
TEST(Polinoms, output)
{
	Polinom p;
	p.AddMonom(3,100);
	stringstream s;
	s << p;
	string str;
	getline(s, str);
	EXPECT_EQ(string("3x\0"), str);
}
Ejemplo n.º 12
0
TEST(Polinom, can_minus_whith_empty) {
	Polinom a;
	a.AddElement(monom(2, 100));
	a.AddElement(monom(2, 200));
	Polinom b;

	Polinom c = a - b;

	EXPECT_EQ(2, c.GetLength());
	EXPECT_EQ(2, c[0].GetCoefficient());
	EXPECT_EQ(2, c[1].GetCoefficient());
}
Ejemplo n.º 13
0
TEST(Polinom, can_simplify_whith_null) {
	Polinom a;
	a.AddElement(monom(10, 100));

	a.AddElement(monom(0, 200));

	//10|300

	a.Simplify();
	EXPECT_EQ(1, a.GetLength());
	EXPECT_EQ(10, a[0].GetCoefficient());
}
Ejemplo n.º 14
0
TEST(Polinom, can_add_double) {
	Polinom a;
	a.AddElement(monom(0.5, 100));
	Polinom b;
	b.AddElement(monom(0.5, 100));
	

	a = a + b;

	EXPECT_EQ(1, a.GetLength());
	EXPECT_EQ(1, a[0].GetCoefficient());
}
Ejemplo n.º 15
0
TEST(Polinom, can_simplify) {
	Polinom a;
	a.AddElement(monom(3, 100));
	a.AddElement(monom(5, 200));
	a.AddElement(monom(1, 200));

	//	1|200,5|200,3|100

	a.Simplify();
	EXPECT_EQ(2,a.GetLength());
	EXPECT_EQ(6, a[0].GetCoefficient());
	EXPECT_EQ(3, a[1].GetCoefficient());
}
Ejemplo n.º 16
0
//------------------------------------------------------------------------------
//основная функция
int main()
{
  float start=clock(); //начало работы программы
  Polinom polinom;
  polinom.Testing(); //"тестирование" "max_power" и "exact"
  polinom.BasicFunction();
  //printf("%f", polinom.pow(2,3));
  float end=clock(); //завершение работы программы
  //время работы программы
  float time_work=((float)(end-start))/CLOCKS_PER_SEC; 
  printf("\n\nThe time of program work: %0.3f sec (%0.5f min)", time_work, time_work/60);
  printf("\nOpen \"output.txt\"");
  getch();
  return 0;
}    
Ejemplo n.º 17
0
TEST(Polinom, can_multiply_polinom_monom) {
	Polinom a;
	a.AddElement(monom(1, 100));
	a.AddElement(monom(2, 200));
	monom b(3,100);

	Polinom c; // 6|300,3|200

	c = a * b;

	EXPECT_EQ(2, c.GetLength());
	EXPECT_EQ(6, c[0].GetCoefficient());
	EXPECT_EQ(3, c[1].GetCoefficient());
	EXPECT_EQ(300, c[0].GetDegree());
	EXPECT_EQ(200, c[1].GetDegree());
}
Ejemplo n.º 18
0
TEST(Polinom, can_multiply_polinom_const) {
	Polinom a;
	a.AddElement(monom(1, 100));
	a.AddElement(monom(2, 200));
	monom b(2, 000); //константа => моном вида (const, 000)

	Polinom c;

	c = a * b;

	EXPECT_EQ(2, c.GetLength());
	EXPECT_EQ(4, c[0].GetCoefficient());
	EXPECT_EQ(2, c[1].GetCoefficient());
	EXPECT_EQ(200, c[0].GetDegree());
	EXPECT_EQ(100, c[1].GetDegree());
}
Ejemplo n.º 19
0
TEST(Polinom, can_multiply_polinom_whith_polinom) {
	Polinom a;
	a.AddElement(monom(1, 100));
	a.AddElement(monom(1, 10));

	Polinom c = a * a; 

	EXPECT_EQ(3, c.GetLength());
	EXPECT_EQ(1, c[0].GetCoefficient());
	EXPECT_EQ(200, c[0].GetDegree());
	EXPECT_EQ(2, c[1].GetCoefficient());
	EXPECT_EQ(110, c[1].GetDegree());
	EXPECT_EQ(1, c[2].GetCoefficient());
	EXPECT_EQ(20, c[2].GetDegree());

}
Ejemplo n.º 20
0
TEST(Polinom, can_add_null_2) {
	Polinom a;
	a.AddElement(monom(2, 100));
	Polinom b;
	b.AddElement(monom(0, 110));
	Polinom c;

	c = a + b;

	EXPECT_EQ(1, c.GetLength());
	EXPECT_EQ(2, c[0].GetCoefficient());
}
Ejemplo n.º 21
0
TEST(Polinom, can_minus_null_2) {
	Polinom a;
	a.AddElement(monom(2, 100));
	a.AddElement(monom(3, 200));
	Polinom b;
	b.AddElement(monom(0, 110));
	Polinom c;

	c = a - b;

	EXPECT_EQ(2, c.GetLength());
	EXPECT_EQ(3, c[0].GetCoefficient());
	EXPECT_EQ(2, c[1].GetCoefficient());
}
Ejemplo n.º 22
0
TEST(Polinom, can_minus) {
	Polinom a;
	a.AddElement(monom(2, 100));
	a.AddElement(monom(2, 200));
	Polinom b;
	b.AddElement(monom(1, 100));
	b.AddElement(monom(4, 200));
	Polinom c;

	c = a - b;

	EXPECT_EQ(2, c.GetLength());
	EXPECT_EQ(-2, c[0].GetCoefficient());
	EXPECT_EQ(1, c[1].GetCoefficient());
}
Ejemplo n.º 23
0
TEST(Polinom, can_add) {
	Polinom a;
	a.AddElement(monom(1, 100));
	a.AddElement(monom(2, 200));
	Polinom b;
	b.AddElement(monom(1, 100));
	b.AddElement(monom(3, 300));
	Polinom c;

	c = a + b;

	EXPECT_EQ(3, c.GetLength());
	EXPECT_EQ(3, c[0].GetCoefficient());
	EXPECT_EQ(2, c[1].GetCoefficient());
	EXPECT_EQ(2, c[2].GetCoefficient());
}
Ejemplo n.º 24
0
TEST(Polinom, can_simplify_2) {
	Polinom a;
	a.AddElement(monom(3, 100));

	a.AddElement(monom(5, 200));

	a.AddElement(monom(1, 200));

	a.AddElement(monom(2, 200));
	std::cout << a[0].GetCoefficient() << std::endl;
	std::cout << a[1].GetCoefficient() << std::endl;
	std::cout << a[2].GetCoefficient() << std::endl;
	std::cout << a[3].GetCoefficient() << std::endl;
	//2|200,1|200,5|200,3|100

	a.Simplify();
	EXPECT_EQ(2, a.GetLength());
	EXPECT_EQ(8, a[0].GetCoefficient());
	EXPECT_EQ(3, a[1].GetCoefficient());
}
Ejemplo n.º 25
0
TEST(Polinom, can_simplify_3) {
	Polinom a;
	a.AddElement(monom(10, 100));

	a.AddElement(monom(5, 200));

	a.AddElement(monom(1, 200));

	a.AddElement(monom(4, 300));

	a.AddElement(monom(1, 300));
	std::cout << a[0].GetCoefficient() << std::endl;
	std::cout << a[1].GetCoefficient() << std::endl;
	std::cout << a[2].GetCoefficient() << std::endl;
	std::cout << a[3].GetCoefficient() << std::endl;
	std::cout << a[4].GetCoefficient() << std::endl;
	//1|300,4|300,1|200,5|200,10|100

	a.Simplify();
	EXPECT_EQ(3, a.GetLength());
	EXPECT_EQ(5, a[0].GetCoefficient());
	EXPECT_EQ(6, a[1].GetCoefficient());
	EXPECT_EQ(10, a[2].GetCoefficient());
}
Ejemplo n.º 26
0
TEST(Polinoms, compare_polinom_with_itself_return_true)
{
	Polinom p;
	p.AddMonom(3,111);
	EXPECT_EQ(true,p==p);
}
Ejemplo n.º 27
0
TEST(Polinoms, can_assign_polinom_to_itself)
{
	Polinom p;
    p.AddMonom(3,111);
	ASSERT_NO_THROW(p = p);
}