예제 #1
0
        public void nbMinutesTest()
        {
            TimeMartien tm     = new TimeMartien(3, 10, 20, 30);
            int         min    = tm.nbMinutes();
            int         result = 620;

            Assert.IsTrue(min == result, "Le nombre de minutes n'est pas bon");
        }
예제 #2
0
        public void affichageSansJourTest()
        {
            TimeMartien tm = new TimeMartien(3, 10, 20, 30);
            Assert.AreEqual(tm.affichageSansJour(), "10:20:30", "affichageSansJour ne renvoie pas la bonne valeur");

            tm = new TimeMartien(0, 1, 2, 3);
            Assert.AreEqual(tm.affichageSansJour(), "01:02:03", "affichageSansJour ne renvoie pas la bonne valeur");
        }
예제 #3
0
        public void op_AdditionTest()
        {
            TimeMartien t1     = new TimeMartien(0, 10, 20, 30);
            TimeMartien t2     = new TimeMartien(1, 20, 30, 40);
            TimeMartien result = new TimeMartien(2, 6, 11, 10);
            TimeMartien somme  = t1 + t2;

            Assert.IsTrue(somme == result, "Le résultat de l'addition entre 2 TimeMartien est faux");
        }
예제 #4
0
        public void affichageSansJourTest()
        {
            TimeMartien tm = new TimeMartien(3, 10, 20, 30);

            Assert.AreEqual(tm.affichageSansJour(), "10:20:30", "affichageSansJour ne renvoie pas la bonne valeur");

            tm = new TimeMartien(0, 1, 2, 3);
            Assert.AreEqual(tm.affichageSansJour(), "01:02:03", "affichageSansJour ne renvoie pas la bonne valeur");
        }
예제 #5
0
        public void op_SubtractionTest()
        {
            TimeMartien t1     = new TimeMartien(2, 10, 20, 30);
            TimeMartien t2     = new TimeMartien(1, 20, 30, 40);
            TimeMartien result = new TimeMartien(1, 14, 29, 50);
            TimeMartien diff   = t1 - t2;

            Assert.IsTrue(diff == result, "Le résultat de la soustraction entre 2 TimeMartien est faux");
            Assert.IsTrue((diff + t2) == t1, "Le résultat de la soustraction entre 2 TimeMartien est faux");
        }
예제 #6
0
        public void op_EqualityTest()
        {
            TimeMartien t1 = new TimeMartien(0, 10, 20, 30);
            TimeMartien t2 = new TimeMartien(0, 10, 20, 30);
            TimeMartien t3 = new TimeMartien(0, 10, 20, 35);
            TimeMartien t4 = new TimeMartien(0, 10, 22, 00);
            TimeMartien t5 = new TimeMartien(0, 12, 20, 00);

            Assert.IsTrue(t1 == t2, "Le résultat de l'égalité entre 2 TimeMartien est faux");
            Assert.IsFalse(t2 == t3, "Le résultat de l'égalité entre 2 TimeMartien est faux");
            Assert.IsFalse(t2 == t4, "Le résultat de l'égalité entre 2 TimeMartien est faux");
            Assert.IsFalse(t2 == t5, "Le résultat de l'égalité entre 2 TimeMartien est faux");
        }
예제 #7
0
        public void accesseursTest()
        {
            TimeMartien tm = new TimeMartien(3, 10, 20, 30);

            Assert.AreEqual(tm.getJours(), 3, "getJours ne renvoie pas la bonne valeur");
            Assert.AreEqual(tm.getHeures(), 10, "getHeures ne renvoie pas la bonne valeur");
            Assert.AreEqual(tm.getMinutes(), 20, "getMinutes ne renvoie pas la bonne valeur");
            Assert.AreEqual(tm.getSecondes(), 30, "getSecondes ne renvoie pas la bonne valeur");
            Assert.AreEqual(tm.getTotalMinutes(), 620, "getTotalMinutes ne renvoie pas la bonne valeur");

            tm.setJours(5);
            Assert.AreEqual(tm.getJours(), 5, "setJours ne fonctionne pas");
        }
예제 #8
0
        public void EqualsTest()
        {
            TimeMartien t1 = new TimeMartien(0, 10, 20, 30);
            TimeMartien t2 = new TimeMartien(0, 10, 20, 30);
            TimeMartien t3 = new TimeMartien(0, 10, 20, 35);
            TimeMartien t4 = new TimeMartien(0, 10, 22, 00);
            TimeMartien t5 = new TimeMartien(0, 12, 20, 00);

            Assert.IsTrue(t1.Equals(t2), "Le résultat de l'égalité entre 2 TimeMartien est faux");
            Assert.IsFalse(t2.Equals(t3), "Le résultat de l'égalité entre 2 TimeMartien est faux");
            Assert.IsFalse(t2.Equals(t4), "Le résultat de l'égalité entre 2 TimeMartien est faux");
            Assert.IsFalse(t2.Equals(t5), "Le résultat de l'égalité entre 2 TimeMartien est faux");
        }
예제 #9
0
        public void op_InequalityTest()
        {
            TimeMartien t1 = new TimeMartien(0, 10, 20, 30);
            TimeMartien t2 = new TimeMartien(0, 15, 20, 30);
            TimeMartien t3 = new TimeMartien(0, 15, 20, 30);
            TimeMartien t4 = new TimeMartien(0, 15, 20, 29);
            TimeMartien t5 = new TimeMartien(0, 15, 19, 30);

            Assert.IsTrue(t1 != t2, "Le résultat de l'inégalité entre 2 TimeMartien est faux");
            Assert.IsFalse(t3 != t2, "Le résultat de l'inégalité entre 2 TimeMartien est faux");
            Assert.IsTrue(t4 != t2, "Le résultat de l'inégalité entre 2 TimeMartien est faux");
            Assert.IsTrue(t5 != t2, "Le résultat de l'inégalité entre 2 TimeMartien est faux");
        }
예제 #10
0
        public void accesseursTest()
        {
            TimeMartien tm = new TimeMartien(3, 10, 20, 30);

            Assert.AreEqual(tm.getJours(), 3, "getJours ne renvoie pas la bonne valeur");
            Assert.AreEqual(tm.getHeures(), 10, "getHeures ne renvoie pas la bonne valeur");
            Assert.AreEqual(tm.getMinutes(), 20, "getMinutes ne renvoie pas la bonne valeur");
            Assert.AreEqual(tm.getSecondes(), 30, "getSecondes ne renvoie pas la bonne valeur");
            Assert.AreEqual(tm.getTotalMinutes(), 620, "getTotalMinutes ne renvoie pas la bonne valeur");

            tm.setJours(5);
            Assert.AreEqual(tm.getJours(), 5, "setJours ne fonctionne pas");
        }
예제 #11
0
        public void op_LessThanTest()
        {
            TimeMartien t1 = new TimeMartien(0, 10, 20, 30);
            TimeMartien t2 = new TimeMartien(0, 11, 00, 00);
            TimeMartien t3 = new TimeMartien(0, 10, 20, 31);
            TimeMartien t4 = new TimeMartien(0, 10, 21, 30);
            TimeMartien t5 = new TimeMartien(0, 11, 20, 30);

            Assert.IsTrue(t1 < t2, "Le résultat de l'inégalité < entre 2 TimeMartien est faux");
            Assert.IsFalse(t3 < t1, "Le résultat de l'inégalité < entre 2 TimeMartien est faux");
            Assert.IsTrue(t1 < t3, "Le résultat de l'inégalité < entre 2 TimeMartien est faux");
            Assert.IsTrue(t1 < t4, "Le résultat de l'inégalité < entre 2 TimeMartien est faux");
            Assert.IsTrue(t1 < t5, "Le résultat de l'inégalité < entre 2 TimeMartien est faux");
        }
예제 #12
0
        public void op_GreaterThanTest()
        {
            TimeMartien t1 = new TimeMartien(0, 10, 20, 30);
            TimeMartien t2 = new TimeMartien(0, 11, 00, 00);
            TimeMartien t3 = new TimeMartien(0, 10, 20, 29);
            TimeMartien t4 = new TimeMartien(0, 10, 19, 30);
            TimeMartien t5 = new TimeMartien(0, 9, 20, 30);

            Assert.IsTrue(t2 > t1, "Le résultat de l'inégalité > entre 2 TimeMartien est faux");
            Assert.IsFalse(t3 > t1, "Le résultat de l'inégalité > entre 2 TimeMartien est faux");
            Assert.IsTrue(t1 > t3, "Le résultat de l'inégalité > entre 2 TimeMartien est faux");
            Assert.IsTrue(t1 > t4, "Le résultat de l'inégalité > entre 2 TimeMartien est faux");
            Assert.IsTrue(t1 > t5, "Le résultat de l'inégalité > entre 2 TimeMartien est faux");
        }
예제 #13
0
        public void op_GreaterThanOrEqualTest()
        {
            TimeMartien t1 = new TimeMartien(0, 10, 20, 30);
            TimeMartien t2 = new TimeMartien(0, 11, 00, 00);
            TimeMartien t3 = new TimeMartien(0, 10, 20, 30);
            TimeMartien t4 = new TimeMartien(0, 10, 20, 29);
            TimeMartien t5 = new TimeMartien(0, 10, 19, 30);
            TimeMartien t6 = new TimeMartien(0, 9, 20, 30);

            Assert.IsTrue(t2 >= t1, "Le résultat de >= entre 2 TimeMartien est faux");
            Assert.IsTrue(t3 >= t1, "Le résultat de l'inégalité >= entre 2 TimeMartien est faux");
            Assert.IsFalse(t4 >= t1, "Le résultat de l'inégalité >= entre 2 TimeMartien est faux");
            Assert.IsTrue(t1 >= t5, "Le résultat de l'inégalité >= entre 2 TimeMartien est faux");
            Assert.IsTrue(t1 >= t6, "Le résultat de l'inégalité >= entre 2 TimeMartien est faux");
        }
예제 #14
0
        public void op_LessThanOrEqualTest()
        {
            TimeMartien t1 = new TimeMartien(0, 10, 20, 30);
            TimeMartien t2 = new TimeMartien(0, 11, 00, 00);
            TimeMartien t3 = new TimeMartien(0, 10, 20, 30);
            TimeMartien t4 = new TimeMartien(0, 10, 20, 31);
            TimeMartien t5 = new TimeMartien(0, 10, 21, 30);
            TimeMartien t6 = new TimeMartien(0, 11, 20, 30);

            Assert.IsTrue(t1 <= t2, "Le résultat de <= entre 2 TimeMartien est faux");
            Assert.IsTrue(t3 <= t1, "Le résultat de l'inégalité <= entre 2 TimeMartien est faux");
            Assert.IsFalse(t4 <= t1, "Le résultat de l'inégalité <= entre 2 TimeMartien est faux");
            Assert.IsTrue(t1 <= t5, "Le résultat de l'inégalité <= entre 2 TimeMartien est faux");
            Assert.IsTrue(t1 <= t6, "Le résultat de l'inégalité <= entre 2 TimeMartien est faux");
        }
예제 #15
0
        public void calculerJoursTest()
        {
            DateTime dt  = new DateTime(2015, 12, 04, 0, 20, 0);
            DateTime dt2 = new DateTime(2015, 12, 07, 10, 43, 52);

            /* Algo de calculerJours
             * Dépend d'un DateTime.Now, donc méthode inutilisable pour des tests */
            long     ticks = dt2.Ticks - dt.Ticks;
            TimeSpan ts    = new TimeSpan(ticks);

            TimeMartien tm = new TimeMartien(0, 0, 0, (int)Math.Truncate(ts.TotalSeconds));

            TimeMartien result = new TimeMartien(3, 8, 23, 52);

            Assert.IsTrue(tm.Equals(result) && tm.getJours() == result.getJours(),
                          "Le nombre de jours calculés n'est pas le bon");
        }
예제 #16
0
        public void retirerTempsTest()
        {
            TimeMartien t1 = new TimeMartien(5, 10, 20, 30);

            t1.retirerTemps(2, 10, 21, 35);
            TimeMartien result = new TimeMartien(3, 24, 38, 55);

            Assert.IsTrue(t1 == result, "Le temps n'a pas bien été retiré");

            t1 = new TimeMartien(5, 10, 20, 30);
            TimeMartien retrait = new TimeMartien(2, 9, 15, 10);

            t1.retirerTemps(retrait);
            result = new TimeMartien(3, 1, 5, 20);

            Assert.IsTrue(t1 == result, "Le temps n'a pas bien été retiré");
        }
예제 #17
0
        public void ajouterTempsTest()
        {
            TimeMartien t1 = new TimeMartien(5, 10, 20, 30);
            t1.ajouterTemps(2, 10, 21, 35);
            TimeMartien result = new TimeMartien(7, 20, 42, 5);

            Assert.IsTrue(t1 == result, "Le temps n'a pas bien été ajouté");

            t1 = new TimeMartien(5, 20, 0, 0);
            TimeMartien ajout = new TimeMartien(2, 5, 30, 75);
            t1.ajouterTemps(ajout);
            result = new TimeMartien(8, 0, 51, 15);

            Assert.IsTrue(t1 == result, "Le temps n'a pas bien été ajouté");

            t1 = new TimeMartien(0, 0, 0, 0);
            t1.ajouterTemps(2, 30, 80, 30);
            result = new TimeMartien(3, 6, 40, 30);

            Assert.IsTrue(t1 == result, "Le temps n'a pas bien été ajouté");
        }
예제 #18
0
        public void sePasseDansPeriodeTest()
        {
            TimeMartien deb    = new TimeMartien(1, 2, 3, 4);
            TimeMartien fin    = new TimeMartien(2, 3, 4, 5);
            TimeMartien actDeb = new TimeMartien(1, 10, 50, 0);
            TimeMartien actFin = new TimeMartien(2, 3, 0, 0);

            Assert.IsTrue(TimeMartien.sePasseDansPeriode(actDeb, actFin, deb, fin));

            actDeb = new TimeMartien(1, 2, 3, 4);
            actFin = new TimeMartien(2, 3, 4, 5);

            Assert.IsTrue(TimeMartien.sePasseDansPeriode(actDeb, actFin, deb, fin));

            actDeb = new TimeMartien(1, 1, 3, 4);
            actFin = new TimeMartien(2, 4, 4, 5);

            Assert.IsTrue(TimeMartien.sePasseDansPeriode(actDeb, actFin, deb, fin));

            deb    = new TimeMartien(1, 15, 3, 4);
            fin    = new TimeMartien(2, 0, 0, 0);
            actDeb = new TimeMartien(1, 17, 0, 0);
            actFin = new TimeMartien(2, 0, 0, 0);

            Assert.IsTrue(TimeMartien.sePasseDansPeriode(actDeb, actFin, deb, fin));

            actDeb = new TimeMartien(1, 0, 0, 0);
            actFin = new TimeMartien(2, 17, 0, 0);

            Assert.IsTrue(TimeMartien.sePasseDansPeriode(actDeb, actFin, deb, fin));

            deb    = new TimeMartien(1, 9, 0, 0);
            fin    = new TimeMartien(2, 10, 0, 0);
            actDeb = new TimeMartien(1, 11, 0, 0);
            actFin = new TimeMartien(2, 12, 0, 0);

            Assert.IsTrue(TimeMartien.sePasseDansPeriode(actDeb, actFin, deb, fin));
        }
예제 #19
0
        public void ajouterTempsTest()
        {
            TimeMartien t1 = new TimeMartien(5, 10, 20, 30);

            t1.ajouterTemps(2, 10, 21, 35);
            TimeMartien result = new TimeMartien(7, 20, 42, 5);

            Assert.IsTrue(t1 == result, "Le temps n'a pas bien été ajouté");

            t1 = new TimeMartien(5, 20, 0, 0);
            TimeMartien ajout = new TimeMartien(2, 5, 30, 75);

            t1.ajouterTemps(ajout);
            result = new TimeMartien(8, 0, 51, 15);

            Assert.IsTrue(t1 == result, "Le temps n'a pas bien été ajouté");

            t1 = new TimeMartien(0, 0, 0, 0);
            t1.ajouterTemps(2, 30, 80, 30);
            result = new TimeMartien(3, 6, 40, 30);

            Assert.IsTrue(t1 == result, "Le temps n'a pas bien été ajouté");
        }
예제 #20
0
        public void retirerTempsTest()
        {
            TimeMartien t1 = new TimeMartien(5, 10, 20, 30);
            t1.retirerTemps(2, 10, 21, 35);
            TimeMartien result = new TimeMartien(3, 24, 38, 55);

            Assert.IsTrue(t1 == result, "Le temps n'a pas bien été retiré");

            t1 = new TimeMartien(5, 10, 20, 30);
            TimeMartien retrait = new TimeMartien(2, 9, 15, 10);
            t1.retirerTemps(retrait);
            result = new TimeMartien(3, 1, 5, 20);

            Assert.IsTrue(t1 == result, "Le temps n'a pas bien été retiré");
        }
예제 #21
0
        public void op_SubtractionTest()
        {
            TimeMartien t1 = new TimeMartien(2, 10, 20, 30);
            TimeMartien t2 = new TimeMartien(1, 20, 30, 40);
            TimeMartien result = new TimeMartien(1, 14, 29, 50);
            TimeMartien diff = t1 - t2;

            Assert.IsTrue(diff == result, "Le résultat de la soustraction entre 2 TimeMartien est faux");
            Assert.IsTrue((diff + t2) == t1, "Le résultat de la soustraction entre 2 TimeMartien est faux");
        }
예제 #22
0
        public void op_LessThanTest()
        {
            TimeMartien t1 = new TimeMartien(0, 10, 20, 30);
            TimeMartien t2 = new TimeMartien(0, 11, 00, 00);
            TimeMartien t3 = new TimeMartien(0, 10, 20, 31);
            TimeMartien t4 = new TimeMartien(0, 10, 21, 30);
            TimeMartien t5 = new TimeMartien(0, 11, 20, 30);

            Assert.IsTrue(t1 < t2, "Le résultat de l'inégalité < entre 2 TimeMartien est faux");
            Assert.IsFalse(t3 < t1, "Le résultat de l'inégalité < entre 2 TimeMartien est faux");
            Assert.IsTrue(t1 < t3, "Le résultat de l'inégalité < entre 2 TimeMartien est faux");
            Assert.IsTrue(t1 < t4, "Le résultat de l'inégalité < entre 2 TimeMartien est faux");
            Assert.IsTrue(t1 < t5, "Le résultat de l'inégalité < entre 2 TimeMartien est faux");
        }
예제 #23
0
        public void op_LessThanOrEqualTest()
        {
            TimeMartien t1 = new TimeMartien(0, 10, 20, 30);
            TimeMartien t2 = new TimeMartien(0, 11, 00, 00);
            TimeMartien t3 = new TimeMartien(0, 10, 20, 30);
            TimeMartien t4 = new TimeMartien(0, 10, 20, 31);
            TimeMartien t5 = new TimeMartien(0, 10, 21, 30);
            TimeMartien t6 = new TimeMartien(0, 11, 20, 30);

            Assert.IsTrue(t1 <= t2, "Le résultat de <= entre 2 TimeMartien est faux");
            Assert.IsTrue(t3 <= t1, "Le résultat de l'inégalité <= entre 2 TimeMartien est faux");
            Assert.IsFalse(t4 <= t1, "Le résultat de l'inégalité <= entre 2 TimeMartien est faux");
            Assert.IsTrue(t1 <= t5, "Le résultat de l'inégalité <= entre 2 TimeMartien est faux");
            Assert.IsTrue(t1 <= t6, "Le résultat de l'inégalité <= entre 2 TimeMartien est faux");
        }
예제 #24
0
        public void op_InequalityTest()
        {
            TimeMartien t1 = new TimeMartien(0, 10, 20, 30);
            TimeMartien t2 = new TimeMartien(0, 15, 20, 30);
            TimeMartien t3 = new TimeMartien(0, 15, 20, 30);
            TimeMartien t4 = new TimeMartien(0, 15, 20, 29);
            TimeMartien t5 = new TimeMartien(0, 15, 19, 30);

            Assert.IsTrue(t1 != t2, "Le résultat de l'inégalité entre 2 TimeMartien est faux");
            Assert.IsFalse(t3 != t2, "Le résultat de l'inégalité entre 2 TimeMartien est faux");
            Assert.IsTrue(t4 != t2, "Le résultat de l'inégalité entre 2 TimeMartien est faux");
            Assert.IsTrue(t5 != t2, "Le résultat de l'inégalité entre 2 TimeMartien est faux");
        }
예제 #25
0
        public void op_GreaterThanTest()
        {
            TimeMartien t1 = new TimeMartien(0, 10, 20, 30);
            TimeMartien t2 = new TimeMartien(0, 11, 00, 00);
            TimeMartien t3 = new TimeMartien(0, 10, 20, 29);
            TimeMartien t4 = new TimeMartien(0, 10, 19, 30);
            TimeMartien t5 = new TimeMartien(0, 9, 20, 30);

            Assert.IsTrue(t2 > t1, "Le résultat de l'inégalité > entre 2 TimeMartien est faux");
            Assert.IsFalse(t3 > t1, "Le résultat de l'inégalité > entre 2 TimeMartien est faux");
            Assert.IsTrue(t1 > t3, "Le résultat de l'inégalité > entre 2 TimeMartien est faux");
            Assert.IsTrue(t1 > t4, "Le résultat de l'inégalité > entre 2 TimeMartien est faux");
            Assert.IsTrue(t1 > t5, "Le résultat de l'inégalité > entre 2 TimeMartien est faux");
        }
예제 #26
0
        /// <summary>
        /// Permet de procéder aux modifications
        /// </summary>
        /// <param name="sender">Objet source</param>
        /// <param name="e">Evènement</param>
        private void ok_Click(object sender, EventArgs e)
        {
            TimeMartien d = new TimeMartien(0, (int) debutHeure.Value, (int) debutMinute.Value, 0);
            TimeMartien f = new TimeMartien(0, (int) finHeure.Value, (int) finMinute.Value, 0);

            if (d < f || (d > f && f.Equals(new TimeMartien(0))))
            {
                String type = treeView.SelectedNode.Text;
                journeeAModifier.supprimerActivite(activiteAModifier);

                try
                {
                    lieu = new Lieu(int.Parse(lieuTB.Text.Split(';')[0]), int.Parse(lieuTB.Text.Split(';')[1]));
                }
                catch
                {
                    lieu = new Lieu(0, 0);
                }

                Activite a;

                if (exterieurRadio.Checked)
                {
                    ITransport transport;

                    if (vehiculeRadio.Checked)
                        transport = new Vehicule();
                    else
                        transport = new Scaphandre();

                    if (explorationRadio.Checked)
                        a = new ExplorationExterieure(new TypeActivite(type), descriptionTB.Text, new TimeMartien(0, (int)debutHeure.Value, (int)debutMinute.Value, 0), new TimeMartien(0, (int)finHeure.Value, (int)finMinute.Value, 0), lieu, transport);
                    else
                        a = new ExperienceExterieure(new TypeActivite(type), descriptionTB.Text, new TimeMartien(0, (int)debutHeure.Value, (int)debutMinute.Value, 0), new TimeMartien(0, (int)finHeure.Value, (int)finMinute.Value, 0), lieu, transport);
                }
                else
                    a = new Activite(new TypeActivite(type), descriptionTB.Text, new TimeMartien(0, (int)debutHeure.Value, (int)debutMinute.Value, 0), new TimeMartien(0, (int)finHeure.Value, (int)finMinute.Value, 0), new Lieu(0, 0));

                if (a.getDuree().getTotalMinutes() > 0)
                {
                    if (a.getHeureFin().getHeures() == 0 && a.getHeureFin().getMinutes() == 0 && a.getHeureFin().getSecondes() == 0)
                        a.setHeureFin(new TimeMartien(0, 24, 39, 59));

                    /* Découpage activité */
                    if (activiteAModifier.getHeureFin().getHeures() == 0 && activiteAModifier.getHeureFin().getMinutes() == 0 && activiteAModifier.getHeureFin().getSecondes() == 0)
                        activiteAModifier.setHeureFin(new TimeMartien(0, 24, 39, 59));

                    if (activiteAModifier.getDuree().getTotalMinutes() == 10 || activiteAModifier.getDuree().getTotalMinutes() == 9)
                        journeeAModifier.ajouterActivite(a);
                    else if (activiteAModifier.getDuree().getTotalMinutes() == 20 || activiteAModifier.getDuree().getTotalMinutes() == 19)
                    {
                        if (activiteAModifier.getHeureDebut() < a.getHeureDebut())
                            activiteAModifier.setHeureFin(new TimeMartien(0, (int)debutHeure.Value, (int)debutMinute.Value, 0));
                        else
                            activiteAModifier.setHeureDebut(new TimeMartien(0, (int)finHeure.Value, (int)finMinute.Value, 0));

                        journeeAModifier.ajouterActivite(a);
                        journeeAModifier.ajouterActivite(activiteAModifier);
                    }
                    else if (activiteAModifier.getDuree().getTotalMinutes() > 20)
                    {
                        if (activiteAModifier.getHeureDebut() < a.getHeureDebut()
                            && activiteAModifier.getHeureFin() > a.getHeureFin())
                        {
                            Activite copie = (activiteAModifier.isActiviteExterieure()) ? null : new Activite(activiteAModifier);

                            if (copie == null && activiteAModifier.isExploration())
                                copie = new ExplorationExterieure((ExplorationExterieure)activiteAModifier);
                            else if (copie == null)
                                copie = new ExperienceExterieure((ExperienceExterieure)activiteAModifier);

                            activiteAModifier.setHeureFin(new TimeMartien(0, (int)debutHeure.Value, (int)debutMinute.Value, 0));
                            copie.setHeureDebut(new TimeMartien(0, (int)finHeure.Value, (int)finMinute.Value, 0));

                            journeeAModifier.ajouterActivite(copie);
                            journeeAModifier.ajouterActivite(activiteAModifier);
                        }
                        else if (activiteAModifier.getHeureDebut() < a.getHeureDebut()
                                    && activiteAModifier.getHeureFin() == a.getHeureFin())
                        {
                            activiteAModifier.setHeureFin(new TimeMartien(0, (int)debutHeure.Value, (int)debutMinute.Value, 0));
                            journeeAModifier.ajouterActivite(activiteAModifier);
                        }
                        else if (activiteAModifier.getHeureDebut() == a.getHeureDebut()
                                    && activiteAModifier.getHeureFin() > a.getHeureFin())
                        {
                            activiteAModifier.setHeureDebut(new TimeMartien(0, (int)finHeure.Value, (int)finMinute.Value, 0));
                            journeeAModifier.ajouterActivite(activiteAModifier);
                        }

                        journeeAModifier.ajouterActivite(a);
                    }

                    if (a.getHeureFin().getHeures() == 24 && a.getHeureFin().getMinutes() == 39 && a.getHeureFin().getSecondes() == 59)
                        a.setHeureFin(new TimeMartien(0));

                    cm.miseAJourEdt(journeeAModifier);
                    dh.Close();
                    cm.ouvrirDernierDetailHeure();
                    fermerFenetre();
                }
                else
                {
                    errDuree.Text = "La durée de l'activité doit être d'au moins 10 minutes";
                    errDuree.Visible = true;
                }
            }
            else
            {
                errDuree.Text = "La date de début doit être inférieure à la date de fin";
                errDuree.Visible = true;
            }
        }
예제 #27
0
        public void op_EqualityTest()
        {
            TimeMartien t1 = new TimeMartien(0, 10, 20, 30);
            TimeMartien t2 = new TimeMartien(0, 10, 20, 30);
            TimeMartien t3 = new TimeMartien(0, 10, 20, 35);
            TimeMartien t4 = new TimeMartien(0, 10, 22, 00);
            TimeMartien t5 = new TimeMartien(0, 12, 20, 00);

            Assert.IsTrue(t1 == t2, "Le résultat de l'égalité entre 2 TimeMartien est faux");
            Assert.IsFalse(t2 == t3, "Le résultat de l'égalité entre 2 TimeMartien est faux");
            Assert.IsFalse(t2 == t4, "Le résultat de l'égalité entre 2 TimeMartien est faux");
            Assert.IsFalse(t2 == t5, "Le résultat de l'égalité entre 2 TimeMartien est faux");
        }
예제 #28
0
        public void op_AdditionTest()
        {
            TimeMartien t1 = new TimeMartien(0, 10, 20, 30);
            TimeMartien t2 = new TimeMartien(1, 20, 30, 40);
            TimeMartien result = new TimeMartien(2, 6, 11, 10);
            TimeMartien somme = t1 + t2;

            Assert.IsTrue(somme == result, "Le résultat de l'addition entre 2 TimeMartien est faux");
        }
예제 #29
0
        public void nbMinutesTest()
        {
            TimeMartien tm = new TimeMartien(3, 10, 20, 30);
            int min = tm.nbMinutes();
            int result = 620;

            Assert.IsTrue(min == result, "Le nombre de minutes n'est pas bon");
        }
예제 #30
0
        public void EqualsTest()
        {
            TimeMartien t1 = new TimeMartien(0, 10, 20, 30);
            TimeMartien t2 = new TimeMartien(0, 10, 20, 30);
            TimeMartien t3 = new TimeMartien(0, 10, 20, 35);
            TimeMartien t4 = new TimeMartien(0, 10, 22, 00);
            TimeMartien t5 = new TimeMartien(0, 12, 20, 00);

            Assert.IsTrue(t1.Equals(t2), "Le résultat de l'égalité entre 2 TimeMartien est faux");
            Assert.IsFalse(t2.Equals(t3), "Le résultat de l'égalité entre 2 TimeMartien est faux");
            Assert.IsFalse(t2.Equals(t4), "Le résultat de l'égalité entre 2 TimeMartien est faux");
            Assert.IsFalse(t2.Equals(t5), "Le résultat de l'égalité entre 2 TimeMartien est faux");
        }
예제 #31
0
        public void calculerJoursTest()
        {
            DateTime dt = new DateTime(2015, 12, 04, 0, 20, 0);
            DateTime dt2 = new DateTime(2015, 12, 07, 10, 43, 52);

            /* Algo de calculerJours
             * Dépend d'un DateTime.Now, donc méthode inutilisable pour des tests */
            long ticks = dt2.Ticks - dt.Ticks;
            TimeSpan ts = new TimeSpan(ticks);

            TimeMartien tm = new TimeMartien(0, 0, 0, (int) Math.Truncate(ts.TotalSeconds));

            TimeMartien result = new TimeMartien(3, 8, 23, 52);

            Assert.IsTrue(tm.Equals(result) && tm.getJours() == result.getJours(),
                "Le nombre de jours calculés n'est pas le bon");
        }
예제 #32
0
        public void sePasseDansPeriodeTest()
        {
            TimeMartien deb = new TimeMartien(1, 2, 3, 4);
            TimeMartien fin = new TimeMartien(2, 3, 4, 5);
            TimeMartien actDeb = new TimeMartien(1, 10, 50, 0);
            TimeMartien actFin = new TimeMartien(2, 3, 0, 0);

            Assert.IsTrue(TimeMartien.sePasseDansPeriode(actDeb, actFin, deb, fin));

            actDeb = new TimeMartien(1, 2, 3, 4);
            actFin = new TimeMartien(2, 3, 4, 5);

            Assert.IsTrue(TimeMartien.sePasseDansPeriode(actDeb, actFin, deb, fin));

            actDeb = new TimeMartien(1, 1, 3, 4);
            actFin = new TimeMartien(2, 4, 4, 5);

            Assert.IsTrue(TimeMartien.sePasseDansPeriode(actDeb, actFin, deb, fin));

            deb = new TimeMartien(1, 15, 3, 4);
            fin = new TimeMartien(2, 0, 0, 0);
            actDeb = new TimeMartien(1, 17, 0, 0);
            actFin = new TimeMartien(2, 0, 0, 0);

            Assert.IsTrue(TimeMartien.sePasseDansPeriode(actDeb, actFin, deb, fin));

            actDeb = new TimeMartien(1, 0, 0, 0);
            actFin = new TimeMartien(2, 17, 0, 0);

            Assert.IsTrue(TimeMartien.sePasseDansPeriode(actDeb, actFin, deb, fin));

            deb = new TimeMartien(1, 9, 0, 0);
            fin = new TimeMartien(2, 10, 0, 0);
            actDeb = new TimeMartien(1, 11, 0, 0);
            actFin = new TimeMartien(2, 12, 0, 0);

            Assert.IsTrue(TimeMartien.sePasseDansPeriode(actDeb, actFin, deb, fin));
        }
예제 #33
0
        /// <summary>
        /// Permet de mettre à jour les activités en fonction de si elles sont passées ou non
        /// </summary>
        public void mettreAJourActiviteEnCours()
        {
            TimeMartien heureActuelle = TimeMartien.calculerJours(debutMission);

            for (int k = 1; k <= journeeActuelle.getNumero(); ++k)
            {
                Journee j = journeesMission[k];

                for (int i = 0; i < heures.Count; ++i)
                    if (heures[i].Tag.ToString().Equals(heureActuelle.getHeures().ToString()) && journeeActuelle.getNumero() == k)
                        j.trouverActivite(heureActuelle, ((heureActuelle.getHeures() == 0 && heureActuelle.getMinutes() == 0) ? true : false)).activiteEnCours();
                    else if (int.Parse(heures[i].Tag.ToString()) < heureActuelle.getHeures() || journeeActuelle.getNumero() != k)
                        foreach (Activite a in j.getActivites())
                        {
                            TimeMartien tm = new TimeMartien(0, int.Parse(heures[i].Tag.ToString()), 0, 0);

                            if ((a.getHeureFin() < heureActuelle || journeeActuelle.getNumero() != k))
                                a.activitePassee();

                            if ((j.getNumero() > journeeActuelle.getNumero()) || (j.getNumero() == journeeActuelle.getNumero() && a.getHeureFin().getHeures() == 0 && a.getHeureFin().getMinutes() == 0))
                                a.activiteAVenir();
                        }
            }
        }
예제 #34
0
        public void op_GreaterThanOrEqualTest()
        {
            TimeMartien t1 = new TimeMartien(0, 10, 20, 30);
            TimeMartien t2 = new TimeMartien(0, 11, 00, 00);
            TimeMartien t3 = new TimeMartien(0, 10, 20, 30);
            TimeMartien t4 = new TimeMartien(0, 10, 20, 29);
            TimeMartien t5 = new TimeMartien(0, 10, 19, 30);
            TimeMartien t6 = new TimeMartien(0, 9, 20, 30);

            Assert.IsTrue(t2 >= t1, "Le résultat de >= entre 2 TimeMartien est faux");
            Assert.IsTrue(t3 >= t1, "Le résultat de l'inégalité >= entre 2 TimeMartien est faux");
            Assert.IsFalse(t4 >= t1, "Le résultat de l'inégalité >= entre 2 TimeMartien est faux");
            Assert.IsTrue(t1 >= t5, "Le résultat de l'inégalité >= entre 2 TimeMartien est faux");
            Assert.IsTrue(t1 >= t6, "Le résultat de l'inégalité >= entre 2 TimeMartien est faux");
        }
예제 #35
0
 /// <summary>
 /// Constructeur paramétré
 /// </summary>
 /// <param name="typeActivite">Type de l'Activite</param>
 /// <param name="description">Description de l'Activite</param>
 /// <param name="debut">Date de début de l'Activite</param>
 /// <param name="fin">Date de fin de l'Activite</param>
 /// <param name="lieu">Lieu de l'Activite</param>
 public ExperienceExterieure(TypeActivite typeActivite, String description, TimeMartien debut, TimeMartien fin, Lieu lieu)
     : this(typeActivite, description, debut, fin, lieu, new Scaphandre())
 {
 }
예제 #36
0
 /// <summary>
 /// Constructeur paramétré
 /// </summary>
 /// <param name="typeActivite">Type de l'Activite</param>
 /// <param name="description">Description de l'Activite</param>
 /// <param name="debut">Date de début de l'Activite</param>
 /// <param name="fin">Date de fin de l'Activite</param>
 /// <param name="lieu">Lieu de l'Activite</param>
 /// <param name="transport">Moyen de transport pour l'Activite</param>
 public ExperienceExterieure(TypeActivite typeActivite, String description, TimeMartien debut, TimeMartien fin, Lieu lieu, ITransport transport)
     : base(typeActivite, description, debut, fin, lieu)
 {
     this.transport = transport;
 }
예제 #37
0
        /// <summary>
        /// Constructeur paramétré
        /// </summary>
        /// <param name="j">Une journée</param>
        /// <param name="a">Une activité la journée</param>
        /// <param name="cm">L'interface graphique CalendrierMission</param>
        /// <param name="dh">L'interface graphique DetailHeure</param>
        public ModificationActivite(Journee j, Activite a, CalendrierMission cm, DetailHeure dh)
        {
            if (a.getHeureFin().getHeures() == 24 && a.getHeureFin().getMinutes() == 39)
                a.setHeureFin(new TimeMartien(0));

            InitializeComponent();
            this.dh = dh;

            if (finHeure.Value == 0 && finMinute.Value == 0)
            {
                finHeure.Value = 24;
                finMinute.Value = 40;
            }

            debutHeure.Maximum = finHeure.Value;

            lieu = new Lieu(0, 0);

            activiteAModifier = a;
            journeeAModifier = j;
            this.cm = cm;

            debutHeure.Value = activiteAModifier.getHeureDebut().getHeures();
            finHeure.Value = activiteAModifier.getHeureFin().getHeures();

            debutMinute.Value = activiteAModifier.getHeureDebut().getMinutes();
            finMinute.Value = activiteAModifier.getHeureFin().getMinutes();

            debutHeure.Minimum = debutHeure.Value;
            finHeure.Maximum = (finHeure.Value == 0) ? 24 : finHeure.Value;

            finHeure.Minimum = (finHeure.Value == 0) ? 0 : debutHeure.Value;

            remplirTreeView();

            descriptionTB.Text = a.getDescription();

            if (a.isActiviteExterieure())
            {
                exterieurRadio.Checked = true;

                if (a.isExploration())
                {
                    explorationRadio.Checked = true;
                    scaphandreRadio.Checked = (((ExplorationExterieure)a).nomTransport().Equals("Scaphandre")) ? true : false;
                    vehiculeRadio.Checked = !scaphandreRadio.Checked;
                }
                else
                {
                    experienceRadio.Checked = true;
                    scaphandreRadio.Checked = (((ExperienceExterieure)a).nomTransport().Equals("Scaphandre")) ? true : false;
                    vehiculeRadio.Checked = !scaphandreRadio.Checked;
                }
            }
            else
                interieurRadio.Checked = true;

            foreach (TreeNode tn in treeView.Nodes)
                foreach (TreeNode tnn in tn.Nodes)
                    if (tnn.Text.Equals(a.getNom()))
                        treeView.SelectedNode = tnn;

            lieuTB.Text = activiteAModifier.getLieu().ToString();

            debutHeure.Maximum = finHeure.Maximum;

            heureDebutStatic = new TimeMartien(0, (int) debutHeure.Value, (int) debutMinute.Value, 0);
            heureFinStatic = new TimeMartien(0, (int) finHeure.Value, (int) finMinute.Value, 0);
        }
예제 #38
0
        /// <summary>
        /// Permet de trouver une activité dans la journée en fonction d'une heure de début
        /// </summary>
        /// <param name="heure">Une heure</param>
        /// <returns>L'activité se passant à l'heure donnée</returns>
        public Activite trouverActivite(TimeMartien tm, bool debut)
        {
            if (tm != null)
            {
                if (!debut && tm.getHeures() == 0 && tm.getMinutes() == 0 && tm.getSecondes() == 0)
                    tm = new TimeMartien(0, 24, 39, 58);

                foreach (Activite a in listeActivites)
                {
                    if (a.getHeureFin().getHeures() == 0 && a.getHeureFin().getMinutes() == 0 && a.getHeureFin().getSecondes() == 0)
                        a.setHeureFin(new TimeMartien(0, 24, 39, 59));

                    if (a.getHeureDebut() <= tm && a.getHeureFin() > tm)
                    {
                        if (a.getHeureFin().getHeures() == 24 && a.getHeureFin().getMinutes() == 39 && a.getHeureFin().getSecondes() == 59)
                            a.setHeureFin(new TimeMartien(0, 24, 40, 00));
                        return a;
                    }
                }
            }

            return null;
        }