예제 #1
0
Ticket Cine::ingresarASalaC(Sala s, const Ticket &t){
    Lista<pair<Sala, int> > es=espectadores_;
    int i=0;
    int se=0;
    while (i<es.longitud()) {
        if (((es.iesimo(i)).first)==s) {
        se=i;
        }
        i++;
    }

    espectadores_.agregarAtras(make_pair(s,espectadoresC(s)+1));
    espectadores_.sacar(es.iesimo(se));
    ticketsVendidos_.eliminarPosicion(ticketsVendidos_.posicion(t));
    Pelicula p=t.peliculaT();
    Ticket res=Ticket(p,s,true);
    return res;
}
예제 #2
0
void TestCine()
{
  Cine a((Nombre) "Cine1");

  if(a.nombreC()!="Cine1") fallo=1,cout<<"Falla nombreC"<<endl;

  a.abrirSalaC(1);
  a.abrirSalaC(3);
  a.abrirSalaC(5);

  if(a.salasC().longitud()!=3) fallo=1,cout<<"Falla abrirSalaC"<<endl;
  if(!a.salasC().pertenece(1)) fallo=1,cout<<"Falla abrirSalaC"<<endl;
  if(!a.salasC().pertenece(3)) fallo=1,cout<<"Falla abrirSalaC"<<endl;
  if(!a.salasC().pertenece(5)) fallo=1,cout<<"Falla abrirSalaC"<<endl;

  a.agregarPeliculaC(pelis[0],1);
  a.agregarPeliculaC(pelis[1],3);
  a.agregarPeliculaC(pelis[2],5);

  if(a.peliculasC().longitud()!=3) fallo=1,cout<<"Falla agregarPeliculaC"<<endl;
  if(!a.peliculasC().pertenece(pelis[0])) fallo=1,cout<<"Falla agregarPeliculaC"<<endl;
  if(!a.peliculasC().pertenece(pelis[1])) fallo=1,cout<<"Falla agregarPeliculaC"<<endl;
  if(!a.peliculasC().pertenece(pelis[2])) fallo=1,cout<<"Falla agregarPeliculaC"<<endl;

  a.cerrarSalaC(1);
  if(a.salasC().longitud()!=2) fallo=1,cout<<"Falla cerrarSalaC"<<endl;
  if(!a.salasC().pertenece(3)) fallo=1,cout<<"Falla cerrarSalaC"<<endl;
  if(!a.salasC().pertenece(5)) fallo=1,cout<<"Falla cerrarSalaC"<<endl;
  if(a.peliculasC().longitud()!=2) fallo=1,cout<<"Falla cerrarSalaC"<<endl;
  if(!a.peliculasC().pertenece(pelis[1])) fallo=1,cout<<"Falla cerrarSalaC"<<endl;
  if(!a.peliculasC().pertenece(pelis[2])) fallo=1,cout<<"Falla cerrarSalaC"<<endl;

  if(!(a.peliculaC(3)==pelis[1])) fallo=1,cout<<"Falla peliculaC" <<endl;
  if(!(a.peliculaC(5)==pelis[2])) fallo=1,cout<<"Falla peliculaC" <<endl;


  a.pasarA3DUnaPeliculaC("Peli2");
  if(!a.peliculaC(3).es3DP()) fallo=1,cout<<"Falla pasarA3D" <<endl;

  Ticket t;
  t = a.venderTicketC("Peli3");
  if(t.usadoT()) fallo=1,cout<<"Falla venderTicketC"<<endl;
  if(t.salaT()!=5) fallo=1,cout<<"Falla venderTicketC"<<endl;
  if(!(t.peliculaT()==pelis[2])) fallo=1,cout<<"Falla venderTicketC"<<endl;
  a.venderTicketC("Peli3");

  if(a.ticketsVendidosSinUsarC().longitud()!=2) fallo=1,cout<<"Falla ticketsVendidosSinUsarC"<<endl;
  if(!a.ticketsVendidosSinUsarC().pertenece(t)) fallo=1,cout<<"Falla ticketsVendidosSinUsarC"<<endl;

  a.ingresarASalaC(5,t);
  if(a.espectadoresC(5)!=1) fallo=1,cout<<"Falla ingresarASalaC"<<endl;
  if(a.ticketsVendidosSinUsarC().longitud()!=1) fallo=1,cout<<"Falla ingresarASalaC"<<endl;
  if(!a.ticketsVendidosSinUsarC().pertenece(t)) fallo=1,cout<<"Falla ingresarASalaC"<<endl;
  t = a.ingresarASalaC(5,t);
  if(a.espectadoresC(5)!=2) fallo=1,cout<<"Falla ingresarASalaC"<<endl;
  if(a.ticketsVendidosSinUsarC().longitud()!=0) fallo=1,cout<<"Falla ingresarASalaC"<<endl;
  if(!t.usadoT()) fallo=1,cout<<"Falla ingresarASalaC"<<endl;

  a.cerrarSalasC(1);

  if(a.peliculasC().longitud()!=1) fallo=1,cout<<"Falla cerrarSalasC1"<<endl;
  if(!a.peliculasC().pertenece(pelis[2])) fallo=1,cout<<"Falla cerrarSalasC2"<<endl;

  ///void cerrarSalasDeLaCadenaC(Lista<Cine> &cs, int e) const;
}