Пример #1
0
 INaleznoscSwiadczenieBaza ITabelaNaleznosciZwrotna.this[IPolozenieWTabeliNaleznosci polozenieWTabeli]
 {
     get
     {
         return(this[polozenieWTabeli as IPolozenieGornotrojkatneWTabeliNaleznosci]);
     }
 }
Пример #2
0
 private void SprawdzCzyJestWZasiegu(IPolozenieWTabeliNaleznosci polozenieWTabeli)
 {
     if (polozenieWTabeli.Indeks_X > Rozmiar || polozenieWTabeli.Indeks_Y > Rozmiar)
     {
         throw new ArgumentOutOfRangeException();
     }
 }
Пример #3
0
 public virtual INaleznoscPienieznaSwiadczenie this[IPolozenieWTabeliNaleznosci polozenieWTabeli]
 {
     get
     {
         return(polozenieWTabeli.CzyKoordynatyDiagonalne ?
                abstrakcyjnaFabrykaNaleznosciDlaTabeliNaleznosci.StworzNaleznoscPienieznaZwrotna(polozenieWTabeli)
             : abstrakcyjnaFabrykaNaleznosciDlaTabeliNaleznosci.StworzNaleznoscPienieznaZerowa());
     }
 }
Пример #4
0
        public override INaleznoscPienieznaSwiadczenie this[IPolozenieWTabeliNaleznosci polozenieWTabeli]
        {
            get
            {
                SprawdzCzyJestWZasiegu(polozenieWTabeli);

                return(polozenieWTabeli.CzyKoordynatyDiagonalne ?
                       base[polozenieWTabeli] :
                       this[polozenieWTabeli as IPolozenieGornotrojkatneWTabeliNaleznosci]);
            }
        }
        public void Czy_ZwracaNiePrawde_GdyNieDiagonalne(byte indeks_X, byte indeks_Y)
        {
            //Ustal
            IPolozenieWTabeliNaleznosci polozenieWTabeliNaleznosci = Stworz_PolozenieWTabeliNaleznosci.Stworz(indeks_X, indeks_Y);

            //Dzialaj
            bool czyKoordynatyDiagonalne = polozenieWTabeliNaleznosci.CzyKoordynatyDiagonalne;

            //Asercja
            Assert.False(czyKoordynatyDiagonalne);
        }
Пример #6
0
        public INaleznoscSwiadczenieBaza NaleznoscZeSlwonika(IPolozenieWTabeliNaleznosci polozenieKlucz)
        {
            INaleznoscSwiadczenieBaza naleznosc = Stworz_NaleznoscSwiadczenieBaza_Mock.Stworz_Mock();

            if (naleznosciSlownik.ContainsKey(polozenieKlucz) == true)
            {
                return(naleznosciSlownik[polozenieKlucz]);
            }

            naleznosciSlownik.Add(polozenieKlucz, naleznosc);

            return(naleznosc);
        }
Пример #7
0
        public void UaktualnijTabelaNaleznocsci(ITabelaNaleznosciZwrotna tabelaNaleznosci)
        {
            Stack <IKomorkaKwotyNaleznej[]> wylicznikKomorekKwotyNaleznej = OdwocStosKomorekKwotyNaleznej();

            for (byte indeks_X = 0; indeks_X < tabelaNaleznosci.Rozmiar; indeks_X++)
            {
                IKomorkaKwotyNaleznej[] tabelaKomorek = wylicznikKomorekKwotyNaleznej.Pop();

                for (byte indeks_Y = 0; indeks_Y < indeks_X; indeks_Y++)
                {
                    IPolozenieWTabeliNaleznosci polozeniaWTabeli = fabrykaDlaTabelaKomorek.StworzPolozenieWTabeliNaleznosci(indeks_X, indeks_Y);

                    tabelaKomorek[indeks_Y].UstalNaleznosc(tabelaNaleznosci[polozeniaWTabeli]);
                }
            }
        }
        public void Czy_UstawiaIZwraca_PrawidlowaWartosc(byte indeks_X, byte indeks_Y, int naleznoscWPolgroszach)
        {
            //Ustal
            ITabelaNaleznosciPienieznej tabelaNaleznosciPienieznej = Stworz_TabelaNaleznosciPienieznej.Stworz_Pusty();

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

            INaleznoscPieniezna naleznoscOczekiwana = Stworz_NaleznoscPieniezna.Stworz(naleznoscWPolgroszach);

            //Dzialaj
            tabelaNaleznosciPienieznej.DodajWymianeNalzenosciUaktualniajacKryterium(naleznoscOczekiwana, polozenieWTabeli);

            INaleznoscPienieznaSwiadczenie naleznosc_Zwrocona = tabelaNaleznosciPienieznej[polozenieWTabeli];

            //Asercja
            Assert.Equal(naleznoscOczekiwana.Swiadczenie, naleznosc_Zwrocona.Swiadczenie);
        }
Пример #9
0
        public void Czy_UaktualnijTabelaNaleznocsci_Uaktualnia_Prawidlowo(byte iloscOsob)
        {
            //Ustal
            IFabrykaModeluWidokuDlaTabelaKomorek fabryka_Mock =
                Stworz_FabrykaModeluWidokuDlaTabelaKomorek_Mock.
                Stworz_NaleznosciKomorekKwotyWejsciowej_Mock(out IDictionary <IPolozenieWTabeliNaleznosci, INaleznoscSwiadczenieBaza> naleznosciWlasciweSlownik);

            IUstawieniaDlaTabelaKomorek ustawienia = Stworz_UstawieniaDlaTabelaKomorek.Stworz(iloscOsob);

            ITabelaKomorek tabelaKomorek = Stworz_TabelaKomorek.Stworz(fabryka_Mock, ustawienia);

            ITabelaNaleznosciZwrotna tabelaNaleznosci =
                Stworz_TabelaNaleznosciZwrotna_Mock.Stworz_IndeksatorNaleznosci_Mock(out IDictionary <IPolozenieWTabeliNaleznosci, INaleznoscSwiadczenieBaza> naleznosciOczekiwaneSlownik);

            short iloscKomorekPozadiagonalnych = (short)((iloscOsob * (iloscOsob - 1)) / 2);

            //Dzialaj
            tabelaKomorek.UaktualnijTabelaNaleznocsci(tabelaNaleznosci);

            foreach (KeyValuePair <IPolozenieWTabeliNaleznosci, INaleznoscSwiadczenieBaza> paraKluczWartosc in naleznosciOczekiwaneSlownik)
            {
                IPolozenieWTabeliNaleznosci polozenie = paraKluczWartosc.Key;

                if (naleznosciWlasciweSlownik.TryGetValue(polozenie, out INaleznoscSwiadczenieBaza naleznoscWlasciwa))
                {
                    Assert.Same(paraKluczWartosc.Value, naleznoscWlasciwa);

                    naleznosciWlasciweSlownik.Remove(polozenie);
                }
                else
                {
                    throw new Exception(String.Format("Nie ma przypisanej naleznosci dla polozenia [{0},{1}].", polozenie.Indeks_X, polozenie.Indeks_Y));
                }
            }

            if (naleznosciWlasciweSlownik.Count > 0)
            {
                throw new Exception(String.Format("{0} naleznosci wlasciwych nie ma przypisanych oczekiwanych naleznosci", naleznosciWlasciweSlownik.Count));
            }
        }
Пример #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);
        }
Пример #11
0
        internal static IKomorkaKwotyNaleznej Stworz_UstalNaleznosc_WeryfikowalnyMock(IPolozenieWTabeliNaleznosci polozenia, TabelaZNaleznoscia_ObslugaSlownika obslugaListyKomorek)
        {
            Mock <IKomorkaKwotyNaleznej> komorka_Mock = Stworz_MockWlasciwy();

            komorka_Mock.
            Setup(komorka => komorka.UstalNaleznosc(It.IsAny <INaleznoscSwiadczenieBaza>()))
            .Callback((INaleznoscSwiadczenieBaza naleznosc) => obslugaListyKomorek.NaleznoscZeSlwonika(polozenia));

            return(komorka_Mock.Object);
        }
Пример #12
0
 INaleznoscSwiadczenieBaza ITabelaNaleznosciZwrotna.this[IPolozenieWTabeliNaleznosci polozenieWTabeli] =>
 abstrakcyjnaFabrykaNaleznosciDlaTabeliNaleznosci.StworzNaleznoscPienieznaZwrotna(polozenieWTabeli);