Esempio n. 1
0
        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);
        }
Esempio n. 2
0
        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);
        }