public void test_czy_rozliczenie_wczyta_495_działek() { var słownik = WczytajSłownik(); var fileName = Path.Combine(@"..\..", "CzytnikRozliczeniaTest.txt"); var rozliczenie = new Rozliczenie(); var czytnik = new CzytnikRozliczenia(rozliczenie, słownik); czytnik.Wczytaj(fileName); Assert.AreEqual(495, rozliczenie.Count()); //19-1/1 23574 var id_19_1_1 = new IdentyfikatorDziałki("19", "1/1"); var dz_19_1_1 = rozliczenie.SzukajIdDziałki(id_19_1_1); Assert.AreEqual(1, dz_19_1_1.Count()); //6-99 9278 var id_6_99 = new IdentyfikatorDziałki("6", "99"); var dz_6_99 = rozliczenie.SzukajIdDziałki(id_6_99); Assert.AreEqual(1, dz_6_99.Count()); //19-34 59347 var id_19_34 = new IdentyfikatorDziałki("19", "34"); var dz_19_34 = rozliczenie.SzukajIdDziałki(id_19_34); Assert.AreEqual(59347, dz_19_34.Powierzchnia.metryKwadratowe()); Assert.AreEqual(6, dz_19_34.Count()); var psIV = dz_19_34.SzukajUżytku(new Klasoużytek("Ps", "Ps", "IV", new Powierzchnia(20277))); var lzVI = dz_19_34.SzukajUżytku(new Klasoużytek("Lz", "Ps", "VI", new Powierzchnia(3614))); Assert.IsNotNull(psIV); Assert.AreEqual(20277, psIV.powierzchnia().metryKwadratowe()); Assert.IsNotNull(lzVI); Assert.AreEqual(3614, lzVI.powierzchnia().metryKwadratowe()); // PsIV 20277 // LsVI 17788 // PsV 12329 // ŁV 4232 // Lz/PsVI 3614 // W 1107 }
static void Main(string[] args) { PokażLogo(args); if (args.Length < 1) { Logger.błąd("Nie podano roboczego katalogu."); PokażKoniec(); return; } _roboczyKatalog = args[0]; if (Directory.Exists(_roboczyKatalog) == false) { Logger.błąd("Roboczy katalog nie istnieje: " + _roboczyKatalog); PokażKoniec(); return; } Console.WriteLine("Roboczy katalog: {0}", _roboczyKatalog); if (args.Length < 2) { Logger.błąd("Nie podano starego pliku SWDE."); PokażKoniec(); return; } _starePath = Path.Combine(_roboczyKatalog, args[1]); if (File.Exists(_starePath) == false) { Logger.błąd("Plik nie istnieje: " + _starePath); PokażKoniec(); return; } if (args.Length < 3) { Logger.błąd("Nie podano nowego pliku SWDE."); PokażKoniec(); return; } _nowePath = Path.Combine(_roboczyKatalog, args[2]); if (File.Exists(_nowePath) == false) { Logger.błąd("Plik nie istnieje: " + _nowePath); PokażKoniec(); return; } if (args.Length < 4) { Logger.błąd("Nie określono filtru działek."); PokażKoniec(); return; } _działkiPath = Directory.GetFiles(_roboczyKatalog, args[3], SearchOption.TopDirectoryOnly); if (args.Length < 5) { Logger.błąd("Nie podano szablonu wykazu."); PokażKoniec(); return; } _szablonZmian = Path.Combine(_exeKatalog, args[4]); if (File.Exists(_szablonZmian) == false) { Logger.błąd("Plik nie istnieje: " + _szablonZmian); PokażKoniec(); return; } //Przygotuj docelowy katalog _docelowyKatalog = Path.Combine(_roboczyKatalog, DateTime.Now.ToString("yyyyMMddTHHmmss")); if (!Directory.Exists(_docelowyKatalog)) { Directory.CreateDirectory(_docelowyKatalog); } Console.WriteLine("Docelowy katalog: {0}", _docelowyKatalog); //Wczytaj repozytorium KERG _repozytoriumKERG = RepozytoriumKerg.WczytajPlik(Path.Combine(_exeKatalog, "KERG.txt")); //Wczytaj stan stary i nowy z plików SWDE Console.WriteLine("Stan dotychczasowy z pliku: " + _starePath.name()); var słownik = new SłownikOznaczenia(); var czytnikOnaczenia = new CzytnikOznaczenia(słownik); czytnikOnaczenia.Wczytaj(Path.Combine(_exeKatalog, "uzytkiG5.csv")); var rozliczenie = new Rozliczenie(); var czytnikRozliczenia = new CzytnikRozliczenia(rozliczenie, słownik); if (_starePath.EndsWith("*.swd")) { _staryStan = new CzytnikOpisowegoSwde(_starePath); } else { czytnikRozliczenia.Wczytaj(_starePath); _staryStan = rozliczenie; } Console.WriteLine("Stan nowy z pliku: " + _nowePath.name()); _nowyStan = new CzytnikOpisowegoSwde(_nowePath); var działki = PrzygotujDziałkiDoWykazu(); //Zapisz wykazy obrębami var obrębyPogrupowane = działki.GroupBy(id => id.NumerObrębu()); foreach (var działkiObrębu in obrębyPogrupowane) { ZapiszWykaz(działkiObrębu); } PokażKoniec(); }