void campus_esOcupada() { Campus c (10, 15); Posicion p1 (7, 7); ASSERT_EQ(c.EsOcupada(p1), false); Posicion p2 (7, 8); ASSERT_EQ(c.EsOcupada(p2), false); Posicion p3 (0, 0); ASSERT_EQ(c.EsOcupada(p3), false); Posicion p4 (9, 14); ASSERT_EQ(c.EsOcupada(p4), false); }
void campus_constructorFilaColumna() { Campus c (10, 15); //sólo revisa que algunas posiciones aleatorias de la matriz hayan iniciado vacias Posicion p1 (7, 7); ASSERT_EQ(c.EsOcupada(p1), false); Posicion p2 (7, 8); ASSERT_EQ(c.EsOcupada(p2), false); Posicion p3 (0, 0); ASSERT_EQ(c.EsOcupada(p3), false); Posicion p4 (9, 14); ASSERT_EQ(c.EsOcupada(p4), false); }
bool Campus::operator==(Campus &otro) { bool filaColumna = Filas() == otro.Filas() && Columnas() == otro.Columnas(); if (filaColumna) { for (int c = 0; c < Columnas(); ++c) { for (int f = 0; f < Filas(); ++f) { if (Ocupada(Posicion(c, f)) != otro.Ocupada(Posicion(c, f))) { return false; } } } return true; } else { return false; } }
void test_pos_valida() { Campus c =randsinobs(); Campus d =c; bool proas= (c==d); Posicion p; p.x=rand()%(c.ancho())+(c.ancho())+1; p.y=rand()%(c.alto())+(c.alto())+1; proas=c.posValida(p); ASSERT(!proas); p.x=rand()%(c.ancho()); p.y=rand()%(c.alto()); proas=c.posValida(p); ASSERT(proas); }
void campus_agregarObstaculo() { Campus c (10, 15); //sólo revisa que una vez agregado el obstáculo esa posición ya no se encuentre vacia Posicion p1 (7, 7); c.AgregarObstaculo(p1); ASSERT_EQ(c.EsOcupada(p1), true); Posicion p2 (7, 8); c.AgregarObstaculo(p2); ASSERT_EQ(c.EsOcupada(p2), true); Posicion p3 (0, 0); c.AgregarObstaculo(p3); ASSERT_EQ(c.EsOcupada(p3), true); Posicion p4 (9, 14); c.AgregarObstaculo(p4); ASSERT_EQ(c.EsOcupada(p4), true); }
void test_igualdad() { Campus c =randsinobs(); Campus d =c; bool proas= (c==d); ASSERT(proas); Posicion p; p.x=rand()%(c.ancho()); p.y=rand()%(c.alto()); c.agregarObs(p); proas= (c==d); ASSERT(!proas); d.agregarObs(p); proas= (c==d); ASSERT(proas); }
void campus_columnas() { Campus c (10, 15); ASSERT_EQ(c.Columnas(), 10); }
void campus_filas() { Campus c (10, 15); ASSERT_EQ(c.Filas(), 15); }
int _tmain(int argc, _TCHAR* argv[]) { { cout << "sizeof Point:" << sizeof(Point) << endl; Point p1; PointInit(&p1, 0, 0); Point p2; PointInit(&p2, 7, 8); PointDraw(&p1); PointDraw(&p2); } cout << "====" << endl; { cout << "sizeof CPoint:" << sizeof(CPoint) << endl; CPoint p0; p0.Draw(); CPoint p1(0, 0); CPoint p2(7, 8); cout << &p1 << endl; p1.Draw(); cout << &p2 << endl; p2.Draw(); auto p = new CPoint(1, 2); p->Draw(); delete p; p = nullptr; } { CStudent s1; cout << "'" << s1.GetName() << "'" << endl; } cout << "====" << endl; { auto s = std::make_shared<CStudent>(); cout << "----" << endl; std::shared_ptr<CStudent> s1(new CStudent()); auto s1copy = s1; s1 = nullptr; cout << "----" << endl; } cout << "====" << endl; { weak_ptr<CStudent> weakSergey; shared_ptr<CStudent> oneMoreSergey; { shared_ptr<CStudent> sergey; { Campus c; sergey = c.GetSergey(); } cout << "Sergey is still alive" << endl; weakSergey = sergey; oneMoreSergey = weakSergey.lock(); } assert(weakSergey.lock()); cout << "Sergey must die" << endl; oneMoreSergey.reset(); cout << "Sergey should be dead here" << endl; assert(!weakSergey.lock()); } return 0; }