public void RozdzielaczMorzIJeziorOdpowiednioPrzypisujeTypy(int indeksInicjatora,
         TypKomorki spodziewanyTypK1, TypKomorki spodziewanyTypK2,
         TypKomorki spodziewanyTypK3, TypKomorki spodziewanyTypK4, TypKomorki spodziewanyTypK5)
        {
            _komorki = MockKomorek();
             IMapa mapa = MockKlasyMapa(_komorki);
             IKomorka inicjator = _komorki.ElementAt(indeksInicjatora);
             IPrzetwarzaczMapy rozdzielacz = new RozdzielaczMorzIJezior(inicjator);

             mapa.ZastosujPrzetwarzanie(rozdzielacz);

             _komorki.ElementAt(0).Dane.Typ.ShouldEqual(spodziewanyTypK1);
             _komorki.ElementAt(1).Dane.Typ.ShouldEqual(spodziewanyTypK2);
             _komorki.ElementAt(2).Dane.Typ.ShouldEqual(spodziewanyTypK3);
             _komorki.ElementAt(3).Dane.Typ.ShouldEqual(spodziewanyTypK4);
             _komorki.ElementAt(4).Dane.Typ.ShouldEqual(spodziewanyTypK5);
        }
        public void RzekaSpływającaDoMorzaPrzezKomorkeTworzySięPoprawnie(Podloze podlozeK2, TypKomorki typK2)
        {
            var aktualizator = new AktualizatorNastepstwaMapyWysokosci();
             IPunkt punktPoczatkowy = _mapa.Komorki.ElementAt(2).Punkt;
             _mapa.Komorki.ElementAt(1).Dane.Podloze = podlozeK2;
             _mapa.Komorki.ElementAt(1).Dane.Typ = typK2;
             IRog brzeg = _mapa.Komorki.ElementAt(0).Rogi.First();
             brzeg.Dane.Brzeznosc = BrzeznoscRogu.Brzeg;
             _mapa.ZastosujPrzetwarzanie(aktualizator);

             IGeneratorRzeki generatorRzeki = new GeneratorRzeki(punktPoczatkowy);
             _mapa.ZastosujPrzetwarzanie(generatorRzeki as IPrzetwarzaczMapy);

             generatorRzeki.UdaloSieUtworzyc.Value.ShouldBeTrue();
             _mapa.Rzeki.Count().ShouldEqual(1);
             _mapa.Rzeki.First().Odcinki.Last().PunktB.ShouldEqual(brzeg.Punkt);
             _mapa.Rzeki.First().Odcinki.Count.ShouldEqual(2); // k3-r2-r1
             _mapa.Komorki.ElementAt(2).Punkt.ZawieraRzeke.ShouldBeTrue();
             _mapa.Rogi.ElementAt(1).Punkt.ZawieraRzeke.ShouldBeTrue();
             _mapa.Rogi.ElementAt(0).Punkt.ZawieraRzeke.ShouldBeTrue();
        }