public void SpawdzCzy_TablicaOsob_WymienNaleznosciPomiedzyOsobami_WymieniaPrawidlowo (int[] naleznosciPoczatkowe, int[] naleznosciOczekiwane, byte iDKorzen, byte iDPotomek, int swiadczenieDoWymiany) { //Ustal ITablicaOsobPienieznychPrzekazywalna tablicaOsobPoczatkowe = Stworz_TablicaOsobPienieznych.Stworz(naleznosciPoczatkowe); IOsobaID osobaKorzen = Stworz_OsobaID_Moq.Stworz_ID_Moq(iDKorzen); IOsobaID osobaPotomek = Stworz_OsobaID_Moq.Stworz_ID_Moq(iDPotomek); INaleznoscPieniezna naleznoscDoWymiany = Stworz_NaleznoscPieniezna_Mock.Stworz_Naleznosc_Swiadczenie_Mock(swiadczenieDoWymiany); ITablicaOsobPienieznychIterowalna tablicaOsobOczekiwane = Stworz_TablicaOsobPienieznych_Mock.Stworz_GetEnumerator_Mock_Swiadczenie_Mock(naleznosciOczekiwane); //Dzialaj ITablicaOsobPienieznychIterowalna tablicaOsobObliczonych = tablicaOsobPoczatkowe.PrzekazNaleznosciPomiedzyOsobami(osobaKorzen, osobaPotomek, naleznoscDoWymiany); //Asercja IEnumerator <IOsobaSwiadczeniePieniezne> enumeratorObliczonychOsob = tablicaOsobObliczonych.GetEnumerator(); IEnumerator <IOsobaSwiadczeniePieniezne> enumeratorOczekiwanychOsob = tablicaOsobOczekiwane.GetEnumerator(); while (enumeratorObliczonychOsob.MoveNext() && enumeratorOczekiwanychOsob.MoveNext()) { IOsobaSwiadczeniePieniezne osobaObliczona = enumeratorObliczonychOsob.Current; IOsobaSwiadczeniePieniezne osobaOczekiwana = enumeratorOczekiwanychOsob.Current; Assert.Equal(osobaObliczona.ID, osobaOczekiwana.ID); Assert.Equal(osobaObliczona.Wplata.Swiadczenie, osobaOczekiwana.Wplata.Swiadczenie); } }
private ITabelaNaleznosciPienieznej Znajdz(ITablicaOsobPienieznych tablicaOsob, long staraRozniceDoPoczatkowej) { ITabelaNaleznosciPienieznej najlepszaTabelaNaleznosci = fabryka.StworzTabelaNaleznosciPienieznejNull(); foreach (IOsobaSwiadczeniePieniezne osobaKorzen in tablicaOsob) { foreach (IOsobaSwiadczeniePieniezne osobaPotomek in tablicaOsob) { INaleznoscPieniezna roznicaNaleznosci = najwiekszaMozliwaNaleznoscDoWymianyUstalacz.UstalNaleznoscDoWymiany(tablicaOsob, osobaKorzen, osobaPotomek); if (roznicaNaleznosci.Swiadczenie == 0) { continue; } ITablicaOsobPienieznych nowaTablicaOsob = tablicaOsob.PrzekazNaleznosciPomiedzyOsobami(osobaKorzen, osobaPotomek, roznicaNaleznosci); long rozniceDoPoczatkowej = rozniceDoStanuKwitaSumator.SumujRoznice(nowaTablicaOsob); if (rozniceDoPoczatkowej >= staraRozniceDoPoczatkowej) { continue; } ITabelaNaleznosciPienieznej NowaTabelaNaleznosci = ZnajdzTabeleNaleznosciDlaNoweTablicyOsob(nowaTablicaOsob, rozniceDoPoczatkowej); NowaTabelaNaleznosci.DodajWymianeNalzenosciUaktualniajacKryterium(roznicaNaleznosci, fabryka.StworzPolozenieWTabeliNaleznosci(osobaPotomek.ID, osobaKorzen.ID)); najlepszaTabelaNaleznosci = najlepszaTabelaNaleznosci.ZwrocLepszeKryterium(NowaTabelaNaleznosci); } } return(najlepszaTabelaNaleznosci); }
private void ZainicjalizujRzedyTabeliNaleznosci() { for (byte indeks_X = 0; indeks_X < Rozmiar; indeks_X++) { tabelaKomorekNaleznosci[indeks_X] = new INaleznoscPieniezna[indeks_X]; } }
internal NajwiekszaMozliwaNaleznoscPienieznaDoWymianyUstalacz(IFabrykaNaleznoscPienieznaZerowa fabrykaNaleznoscPienieznaZerowa, ITablicaOsobPienieznychZwrotna koncowaTablicaOsob) { this.koncowaTablicaOsob = koncowaTablicaOsob; naleznoscPienieznaZerowa = fabrykaNaleznoscPienieznaZerowa.StworzNaleznoscZerowa(); }
internal static void Czy_Naleznosc_Suma_ObliczaPoprawnie(INaleznoscPieniezna naleznosc1, INaleznoscPieniezna naleznosc2, int swiadczenieOczekiwane) { //Dzialaj INaleznoscPieniezna naleznoscSuma = naleznosc1.Suma(naleznosc2); //Asercja Assert.Equal(swiadczenieOczekiwane, naleznoscSuma.Swiadczenie); }
internal static void Czy_Naleznosc_CzyWieksze_ObliczaPoprawnie(INaleznoscPieniezna naleznosc1, INaleznoscPieniezna naleznosc2, bool czyPowinnoBycWieksze) { //Dzialaj bool czyWieksze = naleznosc1.CzyWieksze(naleznosc2); //Asercja Assert.Equal(czyPowinnoBycWieksze, czyWieksze); }
public void Czy_Naleznosc_Odwrotnosc_ObliczaPoprawnie(int grosze, int groszeOczekiwane) { //Ustal INaleznoscPieniezna naleznosc = Stworz_NaleznoscPieniezna.Stworz(grosze); //Dzialaj i Asercja Czy_NaleznoscPienieznaBaza_Odwrotnosc.Czy_Naleznosc_Odwrotnosc_ObliczaPoprawnie(naleznosc, groszeOczekiwane); }
public void Czy_Naleznosc_Odwrotnosc_ObliczaPoprawnie() { //Ustal INaleznoscPieniezna naleznosc = Stworz_NaleznoscPienieznaZerowa.Stworz(); //Dzialaj i Asercja Czy_NaleznoscPienieznaBaza_Odwrotnosc.Czy_Naleznosc_Odwrotnosc_ObliczaPoprawnie(naleznosc, 0); }
private static IEnumerable <IOsobaPieniezna> WyliczOsoby(int[] wplatyWGroszach) { for (byte iD = 0; iD < wplatyWGroszach.Length; iD++) { INaleznoscPieniezna naleznoscPieniezna = Stworz_NaleznoscPieniezna.Stworz(wplatyWGroszach[iD]); yield return(fabrykaOsobaPieniezna.StworzOsoba(iD, naleznoscPieniezna)); } }
public void Czy_NaleznoscPieniezna_Roznica_ObliczaPoprawnie(int groszeSkladnik1, int groszeSkladnik2, int groszeOczekiwane) { //Ustal INaleznoscPieniezna naleznosc1 = Stworz_NaleznoscPieniezna.Stworz(groszeSkladnik1); INaleznoscPieniezna naleznosc2 = Stworz_NaleznoscPieniezna.Stworz(groszeSkladnik2); //Dzialaj Czy_NaleznoscPienieznaBaza_Roznica.Czy_Naleznosc_Roznica_ObliczaPoprawnie(naleznosc1, naleznosc2, groszeOczekiwane); }
public void Czy_NaStringOdwrotnosc_Konwertuje_Prawidlowo(int grosze, string tekstOczekiwany) { //Ustal INaleznoscNaStringKonwerter konwerter = Stworz_NaleznoscPienieznaNaStringKonwerter.Stworz(); INaleznoscPieniezna naleznosc = Stworz_NaleznoscPieniezna_Mock.Stworz_Naleznosc_Swiadczenie_Mock(grosze); //Dzialaj i Asercja PorownajTekstAktualnyzKonwersjaNaStringOdwrotnosc(konwerter, naleznosc, tekstOczekiwany); }
public static IOsobaPieniezna Stworz_Wpalta_ID_Mock(INaleznoscPieniezna naleznosc, byte iD) { Mock <IOsobaPieniezna> osoba_Mock = new Mock <IOsobaPieniezna>(); osoba_Mock.Setup(osoba => osoba.Wplata).Returns(naleznosc); osoba_Mock.Setup(osoba => osoba.ID).Returns(iD); return(osoba_Mock.Object); }
public void Czy_Naleznosc_CzyWieksze_ObliczaPoprawnie_Grosze(int groszeSkladnik, bool czyPowinnoBycWieksze) { //Ustal INaleznoscPieniezna naleznosc1 = Stworz_NaleznoscPienieznaZerowa.Stworz(); INaleznoscPieniezna naleznosc2 = Stworz_NaleznoscPieniezna.Stworz(groszeSkladnik); //Dzialaj i Asercja Czy_NaleznoscPienieznaBaza_CzyWieksze.Czy_Naleznosc_CzyWieksze_ObliczaPoprawnie(naleznosc1, naleznosc2, czyPowinnoBycWieksze); }
public void Czy_Naleznosc_Suma_ObliczaPoprawnie_Grosze(int groszeSkladnik, int polgroszeOczekiwane) { //Ustal INaleznoscPieniezna naleznosc1 = Stworz_NaleznoscPienieznaZerowa.Stworz(); INaleznoscPieniezna naleznosc2 = Stworz_NaleznoscPieniezna.Stworz(groszeSkladnik); //Dzialaj i Asercja Czy_NaleznoscPienieznaBaza_Suma.Czy_Naleznosc_Suma_ObliczaPoprawnie(naleznosc1, naleznosc2, polgroszeOczekiwane); }
private static IEnumerator <IOsobaPieniezna> WyliczAtrapyOsob(int[] NaleznosciPieniezneWGroszach) { for (byte iD = 0; iD < NaleznosciPieniezneWGroszach.Length; iD++) { INaleznoscPieniezna naleznoscPieniezna = Stworz_NaleznoscPieniezna_Mock.Stworz_Naleznosc_Swiadczenie_Mock(NaleznosciPieniezneWGroszach[iD]); IOsobaPieniezna osobaAtrapa = Stworz_OsobaPieniezna_Mock.Stworz_Wpalta_ID_Mock(naleznoscPieniezna, iD); yield return(osobaAtrapa); } }
public void Czy_KryteriumSumyWymienionejNaleznosciPienieznej_WezWymienionaNaleznosc_Zwraca_PrawidlowaNaleznosc(int wpalata) { //Ustal i Dzialaj INaleznoscPieniezna naleznoscPieniezna = Stworz_NaleznoscPieniezna.Stworz(wpalata); IKryteriumSumyWymienionejNaleznosciPienieznej kryteriumSumyWymienionejNaleznosci_Sprawdzana = Stworz_KryteriumWymienionejNaleznosciPienieznej.Stworz_KryteriumSumyWymienionejNaleznosci(naleznoscPieniezna); //Asercja Assert.Equal(wpalata, kryteriumSumyWymienionejNaleznosci_Sprawdzana.WezWymienionaNaleznosc.Swiadczenie); }
public void Czy_Zwaraca_PrawidlowaWartosc(ushort iloscWymian) { //Ustal INaleznoscPieniezna naleznoscPieniezna = Stworz_NaleznoscPieniezna_Mock.Stworz_Naleznosc_Mock(); //Dzialaj IKryteriumIlosciWymian kryteriumIlosciWymian = Stworz_KryteriumWymienionejNaleznosciPienieznej.Stworz_KryteriumIlosciWymian(iloscWymian, naleznoscPieniezna); //Asercja Assert.Equal(iloscWymian, kryteriumIlosciWymian.WezIlosciWymian); }
public void Czy_Zwaraca_PrawidlowaWartosc(int swiadczenieWGroszach) { //Ustal INaleznoscPieniezna naleznoscPieniezna = Stworz_NaleznoscPieniezna_Mock.Stworz_Naleznosc_Swiadczenie_Mock(swiadczenieWGroszach); //Dzialaj IKryteriumIlosciWymian kryteriumIlosciWymian = Stworz_KryteriumWymienionejNaleznosciPienieznej.Stworz_KryteriumIlosciWymian(1, naleznoscPieniezna); //Asercja Assert.Equal(swiadczenieWGroszach, kryteriumIlosciWymian.WezWymienionaNaleznosc.Swiadczenie); }
private IOsobaPieniezna[] OsobyZWymienionymiNaleznosciami(byte iDOsobaKorzen, byte iDOsobaPotomek, INaleznoscPieniezna naleznosc) { IOsobaPieniezna[] nowaTablica = new IOsobaPieniezna[osoby.Length]; for (int iD = 0; iD < nowaTablica.Length; iD++) { nowaTablica[iD] = WymienNaleznoscOsobie(osoby[iD], iDOsobaKorzen, iDOsobaPotomek, naleznosc); } return(nowaTablica); }
public static IKryteriumSumyWymienionejNaleznosciPienieznej Stworz_Kryterium_Naleznosc_Polgrsze_Mock(int naleznoscKryteriumWPolgroszach = 0) { Mock <IKryteriumSumyWymienionejNaleznosciPienieznej> kryteriumSumyWymienionejNaleznosci_Mock = new Mock <IKryteriumSumyWymienionejNaleznosciPienieznej>(); INaleznoscPieniezna naleznoscKryterium_Mock = Stworz_NaleznoscPieniezna_Mock.Stworz_Naleznosc_Swiadczenie_Mock(naleznoscKryteriumWPolgroszach); kryteriumSumyWymienionejNaleznosci_Mock. SetupGet(tabela => tabela.WezWymienionaNaleznosc). Returns(naleznoscKryterium_Mock); return(kryteriumSumyWymienionejNaleznosci_Mock.Object); }
private static bool Czy_Kryterium_Wieksze(ushort ilosciWymianSprawdzana, ushort ilosciWymianPorownywana, int swiadczenieWGroszachSprawdzana, int swiadczenieWGroszachPorownywana) { //Ustal INaleznoscPieniezna naleznoscPienieznaSprawdzana = Stworz_NaleznoscPieniezna.Stworz(swiadczenieWGroszachSprawdzana); IKryteriumIlosciWymian kryteriumIlosciWymian_Sprawdzana = Stworz_KryteriumWymienionejNaleznosciPienieznej.Stworz_KryteriumIlosciWymian(ilosciWymianSprawdzana, naleznoscPienieznaSprawdzana); IKryteriumIlosciWymian kryteriumIlosciWymian_Porownywana = Stworz_KryteriumIlosciWymian_Mock.Stworz_KryteriumIlosciWymian_WezIlosciWymian_WezWymienionaNaleznosc_Mock(ilosciWymianPorownywana, swiadczenieWGroszachPorownywana); //Dzialaj return(kryteriumIlosciWymian_Sprawdzana.CzyPorownywaneKyrteriumLepsze(kryteriumIlosciWymian_Porownywana)); }
public void Czy_OsobaPieniezna_CzyToTaSamaOsoba_Zwraca_Prawde(byte iDOryginalne, byte iDPorownywane) { //Ustal INaleznoscPieniezna naleznosc = Stworz_NaleznoscPieniezna_Mock.Stworz_Naleznosc_Mock(); IOsobaID osobaOryginalna = Stworz_OsobaPieniezna.Stworz(naleznosc, iDOryginalne); IOsobaID osobaPorownywana = Stworz_OsobaID_Moq.Stworz_ID_Moq(iDPorownywane); bool czyPowinnaBycToTaSamaOsoba = (iDOryginalne == iDPorownywane); //Dzialaj i Asercja Czy_OsobaID_CzyToTaSamaOsoba_Baza.Czy_OsobaID_CzyToTaSamaOsoba_Baza_Zwraca_Prawde(osobaOryginalna, osobaPorownywana, czyPowinnaBycToTaSamaOsoba); }
public void Czy_OsobaPieniezna_ZmienWplate_ZmieniaPoprawnie(int nowaNaleznosc) { //Ustal INaleznoscPieniezna naleznosc = Stworz_NaleznoscPieniezna_Mock.Stworz_Naleznosc_Mock(); IOsobaPieniezna osoba = Stworz_OsobaPieniezna.Stworz(naleznosc); INaleznoscPieniezna dodawanaNaleznosc_Mock = Stworz_NaleznoscPieniezna_Mock.Stworz_Naleznosc_Swiadczenie_Mock(nowaNaleznosc); //Dzialaj IOsobaPieniezna OsobaAktualna = osoba.ZmienWplate(dodawanaNaleznosc_Mock); //Asercja Assert.Equal(nowaNaleznosc, OsobaAktualna.Wplata.Swiadczenie); }
public static IKryteriumIlosciWymian Stworz_KryteriumIlosciWymian_WezIlosciWymian_WezWymienionaNaleznosc_Mock(ushort iloscWymian, int swiadczenieWGroszach) { Mock <IKryteriumIlosciWymian> kryteriumIlosciWymian_Mock = new Mock <IKryteriumIlosciWymian>(); kryteriumIlosciWymian_Mock. Setup(kryterium => kryterium.WezIlosciWymian). Returns(iloscWymian); INaleznoscPieniezna naleznoscPieniezna = Stworz_NaleznoscPieniezna.Stworz(swiadczenieWGroszach); kryteriumIlosciWymian_Mock. Setup(kryterium => kryterium.WezWymienionaNaleznosc). Returns(naleznoscPieniezna); return(kryteriumIlosciWymian_Mock.Object); }
public IKryteriumIlosciWymian DodajPolozenieZmienionejNaleznosci(IPolozenieGornotrojkatneWTabeliNaleznosci zmienionePolozeniaWTabeli, INaleznoscPieniezna wymienionaNaleznosc) { foreach (IPolozenieGornotrojkatneWTabeliNaleznosci polozeniaWTabeli in zmienionePolozeniaKolekcja) { if (polozeniaWTabeli.Indeks_X == zmienionePolozeniaWTabeli.Indeks_X) { if (polozeniaWTabeli.Indeks_Y == zmienionePolozeniaWTabeli.Indeks_Y) { return(new KryteriumIlosciWymian(zmienionePolozeniaKolekcja, wymienionaNaleznosc)); } } } return(new KryteriumIlosciWymian(zmienionePolozeniaKolekcja, zmienionePolozeniaWTabeli, wymienionaNaleznosc)); }
private INaleznoscPieniezna WezwartoscBezwzglednaNaleznosci(INaleznoscPieniezna roznicaNaleznosci) { INaleznoscPieniezna naleznoscZero = abstrakcyjnaFabrykaNaleznosciDlaTabeliNaleznosci.StworzNaleznoscPienieznaZerowa(); if (naleznoscZero.CzyWieksze(roznicaNaleznosci)) { return(roznicaNaleznosci); } if (roznicaNaleznosci.CzyWieksze(naleznoscZero)) { return(roznicaNaleznosci.Odwrotnosc()); } return(naleznoscZero); }
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); }
private static void Czy_UstalNaleznoscDoWymiany_Ustala(byte iDKorzen, byte iDPotomek, int oczekiwanaNaleznoscDoWymiany, ITablicaOsobPienieznychZwrotna poczatkowatablicaOsob, ITablicaOsobPienieznychZwrotna koncowaTablicaOsob) { IOsobaID osobaKorzen = Stworz_OsobaID_Moq.Stworz_ID_Moq(iDKorzen); IOsobaID osobaPotomek = Stworz_OsobaID_Moq.Stworz_ID_Moq(iDPotomek); INajwiekszaMozliwaNaleznoscPienieznaDoWymianyUstalacz najwiekszaMozliwaNaleznoscPienieznaDoWymianyUstalacz = Stworz_NajwiekszaMozliwaNaleznoscPienieznaDoWymianyUstalacz.Stworz(koncowaTablicaOsob); //Dzialaj INaleznoscPieniezna naleznoscDoWymiany = najwiekszaMozliwaNaleznoscPienieznaDoWymianyUstalacz.UstalNaleznoscDoWymiany(poczatkowatablicaOsob, osobaKorzen, osobaPotomek); //Asercja Assert.Equal(oczekiwanaNaleznoscDoWymiany, naleznoscDoWymiany.Swiadczenie); }
public void DodajWymianeNalzenosciUaktualniajacKryterium(INaleznoscPieniezna naleznosc, IPolozenieGornotrojkatneWTabeliNaleznosci polozenieWTabeli) { if (polozenieWTabeli.CzyKoordynatyDiagonalne == true) { throw new ArrayTypeMismatchException(); } if (polozenieWTabeli.CzyKoordynatyGorntrojkatne == false) { naleznosc = naleznosc.Odwrotnosc(); } this[polozenieWTabeli] = naleznosc.Suma(this[polozenieWTabeli]); KryteriumWyboruTabeliNaleznosci = WezUaktalnioneKryteriumWyboruOZmiane(polozenieWTabeli, naleznosc); }
private INaleznoscPieniezna this[IPolozenieGornotrojkatneWTabeliNaleznosci polozenieWTabeli] { get { INaleznoscPieniezna nowaNaleznoscPieniezna = tabelaKomorekNaleznosci[polozenieWTabeli.Indeks_X][polozenieWTabeli.Indeks_Y]; return(nowaNaleznoscPieniezna == null? abstrakcyjnaFabrykaNaleznosciDlaTabeliNaleznosci.StworzNaleznoscPienieznaZerowa() : polozenieWTabeli.CzyKoordynatyGorntrojkatne?nowaNaleznoscPieniezna : nowaNaleznoscPieniezna.Odwrotnosc()); } set { //!Uwaga nie wprowadza zmian w kryterium naleznosci - uzywac jedynie do samej zmiany wartosci!! tabelaKomorekNaleznosci[polozenieWTabeli.Indeks_X][polozenieWTabeli.Indeks_Y] = value; } }