public void AddCzytelnikTest()
        {
            Baza baza = new Baza();
            Czytelnik czyt = new Czytelnik("Adam", "Telekomunista");

            int expected = baza.LiczbaCzytelnikow + 1;
            baza.Add(czyt);
            int result = baza.LiczbaCzytelnikow;

            Assert.AreEqual(expected, result);
        }
        public void AddWypozyczenieTest()
        {
            Baza baza = new Baza();
            Ksiazka ks = new Ksiazka(123, "Ogniem i mieczem");
            Czytelnik czyt = new Czytelnik("Adam", "Telekomunista");

            int expected = baza.LiczbaWypozyczen + 1;
            baza.Add(new Wypozyczenie(ks, czyt));
            int result = baza.LiczbaWypozyczen;

            Assert.AreEqual(expected, result);
        }
 public void AnulujWypozyczenieNrTest()
 {
     Baza b = new Baza();
     Ksiazka ks = new Ksiazka(123, "Ogniem i mieczem");
     Czytelnik czyt1 = new Czytelnik("Adam", "Telekomunista");
     Czytelnik czyt2 = new Czytelnik("Adam", "Technologik");
     Wypozyczenie wyp1 = new Wypozyczenie(ks, czyt1);
     Wypozyczenie wyp2 = new Wypozyczenie(ks, czyt2);
     b.Add(wyp1);
     b.Add(wyp2);
     Assert.AreNotEqual(b.GetRentByNumber(0), wyp2);
     Assert.AreEqual(b.GetRentByNumber(1), wyp2);
     b.AnulujWypozyczenieNr(0);
     Assert.AreEqual(b.GetRentByNumber(0), wyp2); //Drugi element przesuniety na miejsce pierwszego, usunietego.
 }
 public void Add(Czytelnik czyt)
 {
     czytelnicy.Add(czyt);
 }
 public void Remove(Czytelnik czyt)
 {
     czytelnicy.Remove(czyt);
 }
        static void Main(string[] args)
        {
            IBase baza = new Baza(new MassFiller(15));
            //baza.Add(new Czytelnik("a", "k", 333));
            Inputter inp = new Inputter();
            baza.AnulujWypozyczenieNr(0);
            //baza.Write();
            Console.WriteLine();
            Console.WriteLine("print, stat, +reader, -reader, +book, -book, +rent, -rent");
            string wybor;
            while (true) {
                Console.WriteLine("\nWybierz komende:");
                wybor = Console.ReadLine();
                if (wybor == "STOP" || wybor == "stop") {
                    Console.WriteLine("Stop.");
                    break;
                }
                switch (wybor) {
                    case "print":
                        baza.Write();
                        break;

                    case "stat":
                        Console.WriteLine("Liczba ksiazek: " + baza.LiczbaKsiazek);
                        Console.WriteLine("Liczba czytalnikow: " + baza.LiczbaCzytelnikow);
                        Console.WriteLine("Liczba wypozyczen: " + baza.LiczbaWypozyczen);
                        break;

                    case "+reader":
                        Console.Write("Imie: ");
                        string imie = Console.ReadLine();
                        Console.Write("Nazwisko: ");
                        string nazwisko = Console.ReadLine();
                        int id = -1;
                        if (!inp.GetInt("ID (nonpositive to get receive automatically): ", out id)) {
                            Console.WriteLine("Invalid number");
                            break;
                        }
                        if (id<0)
                            baza.Add(new Czytelnik(imie, nazwisko));
                        else {
                            Console.WriteLine(id);
                            try {
                                Czytelnik nowy = new Czytelnik(imie, nazwisko, id);
                                baza.Add(nowy);
                            } catch (Exception e) {
                                Console.WriteLine(e.Message);
                                break;
                            }

                        }

                        break;

                    case "-reader":
                        int idr;
                        if (!inp.GetInt("ID (nonpositive will cancel): ", out idr)) {
                            Console.WriteLine("Invalid number");
                            break;
                        }
                        if (idr < 0)
                            break;
                        else {
                            try {
                                baza.RemoveReaderWithId(idr);
                            } catch (Exception e) {
                                Console.WriteLine(e.Message);
                                break;
                            }
                        }

                        break;

                    case "+book":
                        Console.Write("Tytul: ");
                        string tutul = Console.ReadLine();
                        int idb;
                        if (!inp.GetInt("ID: ", out idb) || idb < 0) {
                            Console.WriteLine("Invalid number");
                            break;
                        }
                        try{
                            baza.Add(new Ksiazka(idb, tutul));
                        } catch (ArgumentException ae) {
                            Console.WriteLine(ae.Message + " Wcześniej.");
                        }

                        break;

                    case "-book":
                        int idb2;
                        if (!inp.GetInt("ID: ", out idb2)) {
                            Console.WriteLine("Invalid number");
                            break;
                        }

                        baza.RemoveBookWithId(idb2);
                        break;

                    case "+rent":
                        int ksID, czID;
                        if (!inp.GetInt("Book ID: ", out ksID)) {
                            Console.WriteLine("Invalid number");
                            break;
                        }

                        if (!inp.GetInt("Reader ID: ", out czID)) {
                            Console.WriteLine("Invalid number");
                            break;
                        }
                        try {
                            baza.Add(new Wypozyczenie(baza.GetBookById(ksID), baza.GetReaderById(czID)));
                        } catch (KeyNotFoundException ke) {
                            Console.WriteLine(ke.Message);
                        }
                        break;

                    case "-rent":
                        int wypID;
                        if (!inp.GetInt("Number of Rent Receipt on the list: ", out wypID)) {
                            Console.WriteLine("Invalid number");
                            break;
                        }
                        baza.AnulujWypozyczenieNr(wypID);
                        break;
                }
            }
        }
 public void GetRentByNumberTest()
 {
     Baza b = new Baza();
     Ksiazka ks = new Ksiazka(123, "Ogniem i mieczem");
     Czytelnik czyt1 = new Czytelnik("Adam", "Telekomunista");
     Czytelnik czyt2 = new Czytelnik("Adam", "Technologik");
     Wypozyczenie wyp1 = new Wypozyczenie(ks, czyt1);
     Wypozyczenie wyp2 = new Wypozyczenie(ks, czyt2);
     b.Add(wyp1);
     b.Add(wyp2);
     Assert.AreEqual(b.GetRentByNumber(0), wyp1);
     Assert.AreNotEqual(b.GetRentByNumber(0), wyp2);
     Assert.AreEqual(b.GetRentByNumber(1), wyp2);
 }
        public void GetReaderByIdTest()
        {
            Baza b = new Baza(new RandomFiller(15));
            Czytelnik czyt = new Czytelnik("J", "K", 500);
            b.Add(czyt);

            Czytelnik wyluskany = b.GetReaderById(500);
            Assert.AreEqual(czyt, wyluskany);
        }
 public void RemoveWypozyczenieTest()
 {
     Baza baza = new Baza();
     Ksiazka ks = new Ksiazka(123, "Ogniem i mieczem");
     Czytelnik czyt = new Czytelnik("Jan", "Nowak");
     Wypozyczenie wyp = new Wypozyczenie(ks, czyt);
     baza.Add(wyp);
     int start = baza.LiczbaWypozyczen;
     baza.Remove(wyp);
     int end = baza.LiczbaWypozyczen;
     Assert.AreEqual(end, start - 1);
 }
        public void RemoveReaderWithIdTest()
        {
            Baza b = new Baza(new RandomFiller(15));
            Czytelnik czyt = new Czytelnik("J", "K", 1000);
            b.Add(czyt);

            Czytelnik wyluskany = b.GetReaderById(1000);
            Assert.AreEqual(czyt, wyluskany);

            b.RemoveReaderWithId(1000);
            var wyluskany2 = b.GetReaderById(1000);
        }
 public void RemoveCzytelnikTest()
 {
     Baza baza = new Baza();
     Czytelnik cz = new Czytelnik("Jan", "Kowalsky");
     baza.Add(cz);
     int start = baza.LiczbaCzytelnikow;
     baza.Remove(cz);
     int end = baza.LiczbaCzytelnikow;
     Assert.AreEqual(end, start - 1);
 }
 public Wypozyczenie(Ksiazka ks, Czytelnik czyt)
 {
     Ksiazka = ks;
     Czytelnik = czyt;
     //Console.WriteLine(Zawartosc);
 }