public void AktualniStav() { Auto a = new Auto(60, 120); a.PridejOmezeni(new Omezeni(TypOmezeni.Most, 100, 200)); a.PridejOmezeni(new Omezeni(TypOmezeni.Tunel, 300, 400)); a.Ujeto = 15.0; AktualniStavAuta b = a.AktualniStav(AktualniStavAuta.Start); Assert.True(b == AktualniStavAuta.Trasa); AktualniZmenaAuta za = a.NajdiAktualniZmenu(AktualniStavAuta.Start); Assert.True(za == AktualniZmenaAuta.StartTrasa); a.Ujeto = 150; Assert.True(a.NaMoste()); b = a.AktualniStav(AktualniStavAuta.Trasa); Assert.True(b == AktualniStavAuta.Most); za = a.NajdiAktualniZmenu(AktualniStavAuta.Trasa); Assert.True(za == AktualniZmenaAuta.TrasaMost); a.Ujeto = 210.0; Assert.True(a.NaTrase()); b = a.AktualniStav(AktualniStavAuta.Most); Assert.True(b == AktualniStavAuta.Trasa); za = a.NajdiAktualniZmenu(AktualniStavAuta.Most); Assert.True(za == AktualniZmenaAuta.MostTrasa); a.Ujeto = 310.0; Assert.True(a.VTunelu()); b = a.AktualniStav(AktualniStavAuta.Trasa); Assert.True(b == AktualniStavAuta.Tunel); za = a.NajdiAktualniZmenu(AktualniStavAuta.Trasa); Assert.True(za == AktualniZmenaAuta.TrasaTunel); a.Ujeto = 410.0; Assert.False(a.VTunelu()); b = a.AktualniStav(AktualniStavAuta.Tunel); Assert.True(b == AktualniStavAuta.Trasa); za = a.NajdiAktualniZmenu(AktualniStavAuta.Tunel); Assert.True(za == AktualniZmenaAuta.TunelTrasa); a.Ujeto = 120010.0; Assert.False(a.NaTrase()); b = a.AktualniStav(AktualniStavAuta.Trasa); Assert.True(b == AktualniStavAuta.Stop); }
public AktualniZmenaAuta NajdiAktualniZmenu(AktualniStavAuta minulyStav) { AktualniStavAuta a; AktualniZmenaAuta zmenaNaTrase = AktualniZmenaAuta.BezeZmeny; if ((a = AktualniStav(minulyStav)) != minulyStav) { this.stav = a; if (minulyStav == AktualniStavAuta.Start) { zmenaNaTrase = AktualniZmenaAuta.StartTrasa; } if (minulyStav == AktualniStavAuta.Trasa) { if (a == AktualniStavAuta.Stop) { zmenaNaTrase = AktualniZmenaAuta.TrasaStop; } if (a == AktualniStavAuta.Most) { zmenaNaTrase = AktualniZmenaAuta.TrasaMost; } if (a == AktualniStavAuta.Tunel) { zmenaNaTrase = AktualniZmenaAuta.TrasaTunel; } } if (minulyStav == AktualniStavAuta.Most) { if (a == AktualniStavAuta.Stop) { zmenaNaTrase = AktualniZmenaAuta.TrasaStop; } if (a == AktualniStavAuta.Trasa) { zmenaNaTrase = AktualniZmenaAuta.MostTrasa; } if (a == AktualniStavAuta.Tunel) { zmenaNaTrase = AktualniZmenaAuta.MostTunel; } } if (minulyStav == AktualniStavAuta.Tunel) { if (a == AktualniStavAuta.Stop) { zmenaNaTrase = AktualniZmenaAuta.TrasaStop; } if (a == AktualniStavAuta.Trasa) { zmenaNaTrase = AktualniZmenaAuta.TunelTrasa; } if (a == AktualniStavAuta.Most) { zmenaNaTrase = AktualniZmenaAuta.TunelMost; } } if (a == AktualniStavAuta.Stop) { zmenaNaTrase = AktualniZmenaAuta.KonecRegistrace; Console.WriteLine($"Auto ID:{ this.id.ToString().Substring(0, 3)} je v cíli."); } Debug.WriteLine(this); } this.minulyStav = a; return(zmenaNaTrase); }