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"); }
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"); }
/// <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; } }
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"); }