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 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); }
public void Czy_UstawiaIZwracaZPrzeciwnejStronyTabeli_PrawidlowaWartosc (byte indeks_X, byte indeks_Y, int naleznoscWPolgroszach) { //Ustal ITabelaNaleznosciPienieznej tabelaNaleznosciPienieznej = Stworz_TabelaNaleznosciPienieznej.Stworz_Pusty(); IPolozenieWTabeliNaleznosci polozenieNaleznosciWTabeli = Stworz_PolozenieWTabeliNaleznosci.Stworz(indeks_X, indeks_Y); IPolozenieWTabeliNaleznosci polozeniePrzeciwlegleNaleznosciWTabeli = Stworz_PolozenieWTabeliNaleznosci.Stworz(indeks_Y, indeks_X); INaleznoscPieniezna naleznosc = Stworz_NaleznoscPieniezna.Stworz(naleznoscWPolgroszach); //Dzialaj tabelaNaleznosciPienieznej.DodajWymianeNalzenosciUaktualniajacKryterium(naleznosc, polozenieNaleznosciWTabeli); INaleznoscPienieznaSwiadczenie naleznosc_Zwrocona = tabelaNaleznosciPienieznej[polozeniePrzeciwlegleNaleznosciWTabeli]; //Asercja Assert.Equal(naleznosc.Odwrotnosc().Swiadczenie, naleznosc_Zwrocona.Swiadczenie); }
public INaleznoscPieniezna Roznica(INaleznoscPieniezna naleznosc) { return(naleznosc.Odwrotnosc()); }
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; } }