public void Czy_Uaktualnij_Uaktulnia_Poprawnie()
        {
            // Ustal
            IFabrykaModelu fabrykaModelu =
                Stworz_FabrykaModelu_Mock.Stworz_WeryfikowalnyObliczaczMock(out Mock <IObliczaczTabeliNaleznosciProkurent> obliczaczTabeliNaleznosciProkurent_Mock);

            IModelDzielnika model = Stworz_ModelDzielnika.Stworz(fabrykaModelu);

            ITabelaNaleznosciZwrotna tabelaNaleznoscOtrzymana = null;

            Mock <Action <object, ObliczonaTabelaNaleznosci_ArgumentZdarzenia> > action = new Mock <Action <object, ObliczonaTabelaNaleznosci_ArgumentZdarzenia> >();

            model.ObliczonaTabelNaleznocsci += (sender, e) =>
            {
                tabelaNaleznoscOtrzymana = e.TabelaNaleznosciZwrotna;
            };

            ITablicaOsobBaza tablicaOsob = Stworz_TablicaOsobPienieznych_Mock.Stworz_Mock();

            KryteriumWyboruTabeliNaleznosciWylicznik kryteriumWyboruTabeliNaleznosci = default(KryteriumWyboruTabeliNaleznosciWylicznik);

            //Dzialaj
            model.Uaktualnij(tablicaOsob, kryteriumWyboruTabeliNaleznosci);

            // Asercja
            obliczaczTabeliNaleznosciProkurent_Mock.
            Verify(obliczacz => obliczacz.ObliczNaleznosci
                   (
                       It.Is <ITablicaOsobBaza>(tablica => tablica.Equals(tablicaOsob)),
                       It.Is <KryteriumWyboruTabeliNaleznosciWylicznik>(kryterium => kryterium.Equals(kryteriumWyboruTabeliNaleznosci))
                   ), Times.Once);
        }
        public void Czy_Wywoluje_Znajdz_Prawidlowo()
        {
            //Ustal
            Mock <INajlepszaWymianaNalezosciPienieznejZnajdywacz> znajdywacz_Mock =
                Stworz_NajlepszaWymianaNalezosciPienieznejZnajdywacz_Mock.Stworz_Weryfikator_Mock();

            IFabrykaDlaTabelaNaleznosciPienieznychObliczacz fabryka =
                Stworz_FabrykaDlaTabelaNaleznosciObliczaczPienieznych_Mock.Stworz_Weryfikator_Mock(znajdywacz_Mock);

            Mock <ITablicaOsobPienieznaKoncowaPrefabrykator> prefabrykator_Mock = Stworz_TablicaOsobKoncowaPrefabrykator_Mock.Stworz_Weryfikator_Mock();

            ITabelaNaleznosciPienieznychObliczacz Obliczacz = Stworz_TabelaNaleznosciPienieznychObliczacz.Stworz(fabryka, prefabrykator_Mock.Object);

            ITablicaOsobPienieznych tablicaOsob = Stworz_TablicaOsobPienieznych_Mock.Stworz_Mock();

            KryteriumWyboruTabeliNaleznosciWylicznik kryteriumWyboruTabeliNaleznosciWylicznik = default(KryteriumWyboruTabeliNaleznosciWylicznik);

            //Dzialaj
            Obliczacz.ObliczNaleznosci(tablicaOsob, kryteriumWyboruTabeliNaleznosciWylicznik);

            //Asercja
            znajdywacz_Mock.Verify(znajdywacz => znajdywacz.Znajdz(It.IsAny <ITablicaOsobPienieznych>()), Times.Once);

            prefabrykator_Mock.Verify(prefabrykator => prefabrykator.StworzTablicaKoncowa(It.IsAny <ITablicaOsobPienieznych>()), Times.Once);
        }
        public ITabelaNaleznosciPienieznej StworzTabelaNaleznosci(byte iloscOsob, KryteriumWyboruTabeliNaleznosciWylicznik kryteriumWyboruTabeliNaleznosci)
        {
            IKryteriumWyboruTabeliNaleznosciPienieznej kryterium =
                fabrykaKryteriumWyboruTabeliNaleznosci.StworzKryteriumWyboruTabeliNaleznosci(kryteriumWyboruTabeliNaleznosci);

            return(new TabelaNaleznosciPienieznej(iloscOsob, kryterium, abstrakcyjnaFabrykaNaleznosciDlaTabeliNaleznosci));
        }
Beispiel #4
0
        public void Uaktualnij(ITablicaOsobBaza tablicaOsob, KryteriumWyboruTabeliNaleznosciWylicznik kryteriumWyboruTabeliNaleznosci)
        {
            TablicaOsob = tablicaOsob;

            KryteriumWyboruTabeliNaleznosci = kryteriumWyboruTabeliNaleznosci;

            NaUaktualnienieModelu();
        }
Beispiel #5
0
        public Ustawienia(KryteriumWyboruTabeliNaleznosciWylicznik kryteriumWyboruTabeliNaleznosci, RodzajNaleznosciWylicznik rodzajNaleznosciWylicznik, byte iloscOsob)
        {
            KryteriumWyboruTabeliNaleznosci = kryteriumWyboruTabeliNaleznosci;

            IloscOsob = iloscOsob;

            RodzajNaleznosciWylicznik = rodzajNaleznosciWylicznik;
        }
Beispiel #6
0
        public FabrykaDlaNajlepszaWymianaNalezosciPienieznejZnajdywaczFasada(IFabrykaDlaNajlepszaWymianaNalezosciPienieznejZnajdywacz fabryka,
                                                                             byte iloscOsob, KryteriumWyboruTabeliNaleznosciWylicznik kryteriumWyboruTabeliNaleznosci)
        {
            this.fabryka = fabryka;

            this.iloscOsob = iloscOsob;

            this.kryteriumWyboruTabeliNaleznosci = kryteriumWyboruTabeliNaleznosci;
        }
        public ITabelaNaleznosciPienieznejZwrotna ObliczNaleznosci(ITablicaOsobPienieznych tablicaOsob,
                                                                   KryteriumWyboruTabeliNaleznosciWylicznik kryteriumWyboruTabeliNaleznosci)
        {
            ITablicaOsobPienieznych koncowaTablicaOsob = tablicaOsobKoncowaPrefabrykator.StworzTablicaKoncowa(tablicaOsob);

            INajlepszaWymianaNalezosciPienieznejZnajdywacz znajdywacz =
                fabryka.StworzNajlepszaWymianaNalezosciPienieznejZnajdywacz(koncowaTablicaOsob, kryteriumWyboruTabeliNaleznosci);

            return(znajdywacz.Znajdz(tablicaOsob));
        }
Beispiel #8
0
        public void Czy_Uaktualnij_Uaktualnia()
        {
            //Ustal
            Mock <IModelDzielnikaDlaUaktualniaczModelu> model_Mock = Stworz_Model_Mock.Stworz_Uaktualnij_WeryfikowalnyMock();

            IModelUaktualniacz uaktualniacz = Stworz_ModelUaktualniacz.Stworz(model_Mock.Object);

            ITablicaOsobBaza tablicaOsob = Stworz_TablicaOsobPienieznych_Mock.Stworz_Mock();

            KryteriumWyboruTabeliNaleznosciWylicznik kryteriumWyboruTabeliNaleznosci = default(KryteriumWyboruTabeliNaleznosciWylicznik);

            //Dzialaj
            uaktualniacz.Uaktualnij(tablicaOsob, kryteriumWyboruTabeliNaleznosci);

            //Asercja
            model_Mock.Verify(model => model.Uaktualnij
                              (
                                  It.Is <ITablicaOsobBaza>(tablica => tablica.Equals(tablicaOsob)),
                                  It.Is <KryteriumWyboruTabeliNaleznosciWylicznik>(kryterium => kryterium.Equals(kryteriumWyboruTabeliNaleznosci))
                              ), Times.Once, "Uaktualniacz nie uaktualnil modelu.");
        }
Beispiel #9
0
        public void Czy_Wywoluje_Znajdz_Prawidlowo()
        {
            //Ustal
            Mock <ITabelaNaleznosciPienieznychObliczacz> obliczacz_Mock = Stworz_TabelaNaleznosciPienieznychObliczacz_Mock.Stworz_Weryfikator_Mock();

            Mock <IFabrykaDlaObliczaczTabeliNaleznosciProkurent> fabryka =
                Stworz_FabrykaDlaObliczaczTabeliNaleznosciProkurent_Mock.Stworz_Weryfikator_Mock(obliczacz_Mock);

            IObliczaczTabeliNaleznosciProkurent Obliczacz = Stworz_ObliczaczTabeliNaleznosciProkurent.Stworz(fabryka.Object);

            ITablicaOsobPienieznych tablicaOsob = Stworz_TablicaOsobPienieznych_Mock.Stworz_Mock();

            KryteriumWyboruTabeliNaleznosciWylicznik kryteriumWyboruTabeliNaleznosciWylicznik = default(KryteriumWyboruTabeliNaleznosciWylicznik);

            //Dzialaj
            Obliczacz.ObliczNaleznosci(tablicaOsob, kryteriumWyboruTabeliNaleznosciWylicznik);

            //Asercja
            obliczacz_Mock.Verify(obliczacz => obliczacz.ObliczNaleznosci(It.IsAny <ITablicaOsobPienieznych>(), It.IsAny <KryteriumWyboruTabeliNaleznosciWylicznik>()), Times.Once);

            fabryka.Verify(_fabryka => _fabryka.StworzObliczaczTabeliNaleznosciPienieznych(), Times.Once);
        }
Beispiel #10
0
        internal static ITabelaNaleznosciPienieznej Stworz(int sumaNaleznosciDoTabeli, byte iloscOsob = 4,
                                                           KryteriumWyboruTabeliNaleznosciWylicznik kryteriumWyboruTabeliNaleznosci = default(KryteriumWyboruTabeliNaleznosciWylicznik))
        {
            ITabelaNaleznosciPienieznej tabelaNaleznosci = Stworz_Pusty(iloscOsob, kryteriumWyboruTabeliNaleznosci);

            Random GeneratorLiczbPseudolosowych = new Random();

            for (byte indeks_X = 2; indeks_X < iloscOsob; indeks_X++)
            {
                for (byte indeks_Y = 0; indeks_Y < indeks_X; indeks_Y++)
                {
                    int komorka = GeneratorLiczbPseudolosowych.Next(sumaNaleznosciDoTabeli);

                    if (komorka > 0)
                    {
                        sumaNaleznosciDoTabeli -= komorka;

                        IPolozenieWTabeliNaleznosci polozenieWTabeli =
                            Stworz_PolozenieWTabeliNaleznosci.Stworz(indeks_X, indeks_Y);

                        tabelaNaleznosci.
                        DodajWymianeNalzenosciUaktualniajacKryterium(Stworz_NaleznoscPieniezna.Stworz(komorka), polozenieWTabeli);
                    }
                }
            }

            if (sumaNaleznosciDoTabeli > 0)
            {
                IPolozenieWTabeliNaleznosci polozenieWTabeli =
                    Stworz_PolozenieWTabeliNaleznosci.Stworz(1, 0);

                tabelaNaleznosci.
                DodajWymianeNalzenosciUaktualniajacKryterium(Stworz_NaleznoscPieniezna.Stworz(sumaNaleznosciDoTabeli), polozenieWTabeli);
            }

            return(tabelaNaleznosci);
        }
Beispiel #11
0
        internal static ITabelaNaleznosciPienieznej Stworz(int[][] naleznosciDoTabeliNalznosci,
                                                           KryteriumWyboruTabeliNaleznosciWylicznik kryteriumWyboruTabeliNaleznosci = default(KryteriumWyboruTabeliNaleznosciWylicznik))
        {
            byte iloscOsob = (byte)naleznosciDoTabeliNalznosci.GetLength(0);

            ITabelaNaleznosciPienieznej tabelaNaleznosci = Stworz_Pusty((byte)(iloscOsob + 1), kryteriumWyboruTabeliNaleznosci);

            for (byte indeks_X = 0; indeks_X < iloscOsob; indeks_X++)
            {
                for (byte indeks_Y = 0; indeks_Y <= indeks_X; indeks_Y++)
                {
                    int komorka = naleznosciDoTabeliNalznosci[indeks_X][indeks_Y];

                    if (komorka != 0)
                    {
                        tabelaNaleznosci.
                        DodajWymianeNalzenosciUaktualniajacKryterium(Stworz_NaleznoscPieniezna.Stworz(komorka),
                                                                     Stworz_PolozenieWTabeliNaleznosci.Stworz((byte)(indeks_X + 1), indeks_Y));
                    }
                }
            }

            return(tabelaNaleznosci);
        }
Beispiel #12
0
        public INajlepszaWymianaNalezosciPienieznejZnajdywacz StworzNajlepszaWymianaNalezosciPienieznejZnajdywacz(ITablicaOsobPienieznych koncowaTablicaOsob,
                                                                                                                  KryteriumWyboruTabeliNaleznosciWylicznik kryteriumWyboruTabeliNaleznosci)
        {
            INajwiekszaMozliwaNaleznoscPienieznaDoWymianyUstalacz ustalacz = StworzNajwiekszaMozliwaNaleznoscDoWymianyUstalacz(koncowaTablicaOsob);

            IRozniceDoStanuKwitaNaleznosciPienieznychSumator sumator = StworzRozniceDoStanuKwitaNaleznosciPienieznychSumator(koncowaTablicaOsob);

            IFabrykaDlaNajlepszaWymianaNalezosciPienieznejZnajdywaczFasada fasadaFabryki =
                StworzFasadaFabrykiDlaNajlepszaWymianaNalezosciPienieznejZnajdywacz(koncowaTablicaOsob.WezIloscOsob, kryteriumWyboruTabeliNaleznosci);

            return(new NajlepszaWymianaNalezosciPienieznejZnajdywacz(fasadaFabryki, ustalacz, sumator));
        }
 public void Uaktualnij(ITablicaOsobBaza tablicaOsob, KryteriumWyboruTabeliNaleznosciWylicznik kryteriumWyboruTabeliNaleznosci)
 {
     model.Uaktualnij(tablicaOsob, kryteriumWyboruTabeliNaleznosci);
 }
Beispiel #14
0
 internal static ITabelaNaleznosciPienieznej Stworz_Pusty(byte iloscOsob = 4, KryteriumWyboruTabeliNaleznosciWylicznik kryteriumWyboruTabeliNaleznosci =
                                                          default(KryteriumWyboruTabeliNaleznosciWylicznik))
 {
     return(fabrykaTabelaNaleznosci.StworzTabelaNaleznosci(iloscOsob, kryteriumWyboruTabeliNaleznosci));
 }
        public IKryteriumWyboruTabeliNaleznosciPienieznej StworzKryteriumWyboruTabeliNaleznosci(KryteriumWyboruTabeliNaleznosciWylicznik kryteriumWyboruTabeliNaleznosci)
        {
            switch (kryteriumWyboruTabeliNaleznosci)
            {
            case KryteriumWyboruTabeliNaleznosciWylicznik.KryteriumSumyWymienionejNaleznosci:
                goto default;

            case KryteriumWyboruTabeliNaleznosciWylicznik.IlosciWymian:
                return(new KryteriumIlosciWymian(fabrykaNaleznoscPieniezna.StworzNaleznoscZerowa()));

            default:
                return(new KryteriumSumyWymienionejNaleznosciPienieznej(fabrykaNaleznoscPieniezna.StworzNaleznoscZerowa()));
            }
        }
Beispiel #16
0
 private IFabrykaDlaNajlepszaWymianaNalezosciPienieznejZnajdywaczFasada StworzFasadaFabrykiDlaNajlepszaWymianaNalezosciPienieznejZnajdywacz(byte iloscOsob,
                                                                                                                                            KryteriumWyboruTabeliNaleznosciWylicznik kryteriumWyboruTabeliNaleznosci)
 {
     return(new FabrykaDlaNajlepszaWymianaNalezosciPienieznejZnajdywaczFasada(this, iloscOsob, kryteriumWyboruTabeliNaleznosci));
 }
 /// <summary>
 /// Stworz argument zmiany kryterium wyboru w ustawieniach.
 /// </summary>
 public ZmianaUstawieniaKryteriumWyboruTabeliNaleznosci_ArgumentyZdarzenia(KryteriumWyboruTabeliNaleznosciWylicznik kryteriumWyboruTabeliNaleznosci)
 {
     KryteriumWyboruTabeliNaleznosci = kryteriumWyboruTabeliNaleznosci;
 }
Beispiel #18
0
 public ITabelaNaleznosciPienieznej StworzStartowaTabelaNaleznosciPienieznej(byte iloscOsob, KryteriumWyboruTabeliNaleznosciWylicznik kryteriumWyboruTabeliNaleznosci)
 {
     return(fabrykaTabelaNalezosciPienieznej.StworzTabelaNaleznosci(iloscOsob, kryteriumWyboruTabeliNaleznosci));
 }