#include "Klavier.h"
#include "Musiker.h"
#include "Musikinstrument.h"
#include "Orchester.h"
#include "Trompete.h"
#include <iostream>
#include <ostream>
#include <string>
int main() {
  // Test Orchester
  Orchester *orchesterPtr = new Orchester;
  Orchester testOrchester = *orchesterPtr;
  std::cout << "+++ Orchester erfolgreich addiert +++" << std::endl;
  std::string nameTrompete = "Musiker mit Trompete";
  Musiker *trompeteMusikerPtr = new Musiker(nameTrompete);
  Trompete *trompetePtr = new Trompete;
  trompeteMusikerPtr->weiseInstrumentZu(trompetePtr);
  std::cout << "Trompeten Musiker erfolgreich addiert +++" << std::endl;

  std::string nameKlavier = "Musiker mit Klavier";
  Musiker *klavierMusikerPtr = new Musiker(nameKlavier);
  Klavier *klavierPtr = new Klavier;
  klavierMusikerPtr->weiseInstrumentZu(klavierPtr);
  std::cout << "+++ Klavier Musiker erfolgreich addiert +++" << std::endl;

  std::string nameMusikinstrument = "Musiker mit Musikinstrument";
  Musiker *MusikinstrumentMusikerPtr = new Musiker(nameMusikinstrument);
  Musikinstrument *musikinstrumentPtr = new Musikinstrument;
  MusikinstrumentMusikerPtr->weiseInstrumentZu(musikinstrumentPtr);
  std::cout << "+++ Musikinstrument Musiker erfolgreich addiert +++"
            << std::endl;

  Musikinstrument *musikinstrument4 = new Musikinstrument();
  Musikinstrument *musikinstrument5 = new Klavier();
  Musikinstrument *musikinstrument6 = new Trompete();

  delete orchesterPtr;
  delete trompeteMusikerPtr;
  delete trompetePtr;
  delete klavierMusikerPtr;
  delete klavierPtr;
  delete MusikinstrumentMusikerPtr;
  delete musikinstrumentPtr;
    std::cout << "Lösche instrument4" << std::endl;
  return 0;
}
