public void TestEinzelstrecke()
        {
            var target = new VerbindungsErzeugung(new FahrplanProviderMock());
            this.results = new List<Verbindung>();

            target.OnVerbindung += MerkeVerbindungInListe;

            Strecke s = new Strecke();
            s.Linienname = "U1";
            s.Zielhaltestellenname = "H2";

            Pfad pfad = new Pfad();
            pfad.Starthaltestellenname = "H1";
            pfad.Strecken = new Strecke[1];
            pfad.Strecken[0] = s;

            target.Verbindugen_zu_Pfad_bilden(pfad, Time(9, 0));

            Assert.AreEqual(1, this.results.Count);
            var res = this.results[0];
            Assert.AreEqual("H1", res.Pfad.Starthaltestellenname);
            Assert.AreEqual(1, res.Pfad.Strecken.Length);
            Assert.AreEqual("H2", res.Pfad.Strecken[0].Zielhaltestellenname);
            Assert.AreEqual(1, res.Fahrtzeiten.Length);
            Assert.AreEqual(Time(9, 0), res.Fahrtzeiten[0].Abfahrtszeit);
            Assert.AreEqual(Time(9, 2), res.Fahrtzeiten[0].Ankunftszeit);
        }
        public void TestNullEvent()
        {
            var target = new VerbindungsErzeugung(new FahrplanProviderMock());
            this.results = new List<Verbindung>();

            Strecke s = new Strecke();
            s.Linienname = "U1";
            s.Zielhaltestellenname = "H2";
            Pfad p = new Pfad();
            p.Starthaltestellenname = "H1";
            p.Strecken = new Strecke[1];
            p.Strecken[0] = s;

            target.Verbindugen_zu_Pfad_bilden(p, Time(8, 0));
        }
 public void ConstructorTest()
 {
     var target = new VerbindungsErzeugung(new FahrplanProviderMock());
     Assert.IsNotNull(target);
 }
        public void TestZweiStreckenMehrereVerbindungen()
        {
            var target = new VerbindungsErzeugung(new FahrplanProviderMock());
            this.results = new List<Verbindung>();

            target.OnVerbindung += MerkeVerbindungInListe;

            Pfad pfad = new Pfad();
            pfad.Starthaltestellenname = "H1";
            pfad.Strecken = new Strecke[2];

            Strecke s = new Strecke();
            s.Linienname = "U1";
            s.Zielhaltestellenname = "H2";
            pfad.Strecken[0] = s;

            s = new Strecke();
            s.Linienname = "U3";
            s.Zielhaltestellenname = "H3";
            pfad.Strecken[1] = s;

            target.Verbindugen_zu_Pfad_bilden(pfad, Time(8, 40));

            Assert.AreEqual(3, this.results.Count);
            Assert.AreEqual(Time(8, 48), this.results[0].Fahrtzeiten[1].Ankunftszeit);
            Assert.AreEqual(Time(8, 58), this.results[1].Fahrtzeiten[1].Ankunftszeit);
            Assert.AreEqual(Time(9, 08), this.results[2].Fahrtzeiten[1].Ankunftszeit);
        }
        public void TestWithNull()
        {
            var target = new VerbindungsErzeugung(new FahrplanProviderMock());
            this.results = new List<Verbindung>();
            target.OnVerbindung += MerkeVerbindungInListe;

            target.Verbindugen_zu_Pfad_bilden(null, Time(8, 0));
            Assert.AreEqual(1, this.results.Count);
            Assert.IsNull(this.results[0]);
        }
        public void TestUmsteigezeitZuSpät()
        {
            var target = new VerbindungsErzeugung(new FahrplanProviderMock());
            this.results = new List<Verbindung>();

            target.OnVerbindung += MerkeVerbindungInListe;

            Pfad pfad = new Pfad();
            pfad.Starthaltestellenname = "H1";
            pfad.Strecken = new Strecke[2];

            Strecke s = new Strecke();
            s.Linienname = "U2";
            s.Zielhaltestellenname = "H2";
            pfad.Strecken[0] = s;

            s = new Strecke();
            s.Linienname = "U1";
            s.Zielhaltestellenname = "H3";
            pfad.Strecken[1] = s;

            target.Verbindugen_zu_Pfad_bilden(pfad, Time(9, 07));

            Assert.AreEqual(0, this.results.Count);
        }