public void conversionHeureMartienneTest() { Calendrier target = new Calendrier(); target.JourDebutMission = new DateTime(2015, 12, 16, 18, 00, 00); DateTime HeureTerre = new DateTime(); HeureTerre = new DateTime(2015, 12, 18, 18, 00, 00); // 2880 = durée mission sur Terre en minute (pour 2 jours) // 1480 = durée 1 jour sur Mars // 2880 / 1480 = 1,94... jours // 2880 mod 1480 = 1400 // 1400 / 60 = 23,33 heures // 1400 mod 60 = 20 minutes Dates expected = new Dates(1, 23, 20); Dates actual = target.conversionHeureMartienne(HeureTerre); Assert.AreEqual(expected.Jour, actual.Jour); Assert.AreEqual(expected.Heure, actual.Heure); Assert.AreEqual(expected.Minute, actual.Minute); // La ligne du dessous (générée par défaut) fait échouer le code à chaque fois si non commentée // Assert.Inconclusive("Vérifiez l\'exactitude de cette méthode de test."); }
public void conversionHeureMartienneTest() { //on créé un calendrier initialiseCalendrier(); DateTime HeureTerre = new DateTime(2015, 12, 10); Dates expected = new Dates(34,1,20); Dates actual; actual = LeCalendrier.conversionHeureMartienne(HeureTerre); Assert.AreEqual(expected, actual); }
public Activite(string nom, Dates hdeb,Dates hfin, Coordonnees lieu, string desc, List<Spationaute> listSpatio) { this.Nom = nom; this.HeureDebut = hdeb; this.HeureFin = hfin; this.Lieu = lieu; this.Descritpion = desc; this.ListSpationaute = listSpatio; }
public void rechercheLieuExplorationTest() { initialiseCalendrier(); Point hg = new Point(0,60); Point bd = new Point(50,30); Dates dateDeb = new Dates(0); Dates dateFin = new Dates(3); List<Activite> expected = new List<Activite>(); expected.Add(LeCalendrier.ListJournees[2].ListActiviteJournee[1]); List<Activite> actual; actual = LeCalendrier.rechercheLieuExploration(hg, bd, dateDeb, dateFin); //Assert.AreEqual(expected, actual); CollectionAssert.AreEqual(expected, actual); }
public void rechercheSortiesTest() { initialiseCalendrier(); Dates dateDeb = new Dates(); Dates dateFin = new Dates(7); List<Activite> expected = new List<Activite>(); expected.Add(LeCalendrier.ListJournees[2].ListActiviteJournee[1]); expected.Add(LeCalendrier.ListJournees[5].ListActiviteJournee[3]); List<Activite> actual; actual = LeCalendrier.rechercheSorties(dateDeb, dateFin); //Assert.AreEqual(expected, actual); CollectionAssert.AreEqual(expected, actual); }
//converti 2 int en dates. private Tuple<Dates, Dates> int2Dates(int HeureDeb, int HeureFin) { Dates dateDeb = new Dates(this.NumJour, HeureDeb, 0); Dates dateFin; if (HeureFin == 24) dateFin = new Dates(this.NumJour, HeureFin, 40); else dateFin = new Dates(this.NumJour, HeureFin, 0); return Tuple.Create(dateDeb, dateFin); }
internal List<Activite> rechercheSorties(Dates HeureDeb, Dates HeureFin) { List<Activite> activitesDehors = new List<Activite>(); foreach (Activite act in ListActiviteJournee) { if (act.Lieu.Position.X != 0 || act.Lieu.Position.Y != 0) activitesDehors.Add(act); } return activitesDehors; }
/*renvoie la liste des activités dans la plage horaire donnée par les deux dates martiennes * passées en argument. Cette méthode est appelée par la méthode Calendrier.selectionPeriode*/ public List<Activite> selectionPeriode(Dates HeureDeb, Dates HeureFin) { List<Activite> lst_periode = new List<Activite>(); foreach (Activite uneActivite in ListActiviteJournee) { if (uneActivite.HeureFin.Heure > HeureDeb.Heure || uneActivite.HeureDebut.Heure < HeureFin.Heure) { lst_periode.Add(uneActivite); } } return lst_periode; }
public List<Activite> rechercheNomActivite(string mot, Dates dateDeb, Dates dateFin) { List<Activite> listPeriode = selectionPeriode(dateDeb, dateFin); List<Activite> listResult = listPeriode.FindAll( delegate(Activite act) { return (act.Nom == mot); } ); return listResult; }
// hg : point en haut à gauche du rectangle dans lequel on veut chercher // bd : point en bas à droite du rectangle dans lequel on veut chercher public List<Activite> rechercheLieuExploration(Point hg, Point bd, Dates HeureDeb, Dates HeureFin) { List<Activite> listPeriode = selectionPeriode(HeureDeb, HeureFin); List<Activite> listResult = listPeriode.FindAll( delegate(Activite act) { return (act.Lieu.Position.X >= hg.X && act.Lieu.Position.X <= bd.X && act.Lieu.Position.Y <= hg.Y && act.Lieu.Position.Y >= bd.Y); } ); return listResult; }
/*Renvoie la liste des activités dont la description contient "mot" dans la plage horaire sélectionnée. * Elle est appelée par la méthode rechercheDescActivitePeriode de calendrier. */ public List<Activite> rechercheDescActivite(string mot, Dates dateDeb, Dates dateFin) { List<Activite> listPeriode = selectionPeriode(dateDeb, dateFin); List<Activite> listResult = listPeriode.FindAll( delegate(Activite act) { return (act.Descritpion.Contains(mot)); } ); return listResult; }
private void btn_confirmer_Click(object sender, EventArgs e) { bool PossibleDeChanger = true; Dates datesDebut = null; Dates datesFin = null; // vérifie qu'on renseigne bien des horaires if (H_debut.Text == "" || M_debut.Text == "" || H_fin.Text == "" || M_fin.Text == "") { PossibleDeChanger = false; } else { datesDebut = new Dates(jourSelec.NumJour, int.Parse(H_debut.Text), int.Parse(M_debut.Text)); datesFin = new Dates(jourSelec.NumJour, int.Parse(H_fin.Text), int.Parse(M_fin.Text)); } // vérifie qu'on renseigne bien des coordonnées double cooX, cooY; if (!testCoord(textBoxX.Text, out cooX, -1000, 1000)) PossibleDeChanger = false; if (!testCoord(textBoxY.Text, out cooY, -1000, 1000)) PossibleDeChanger = false; Coordonnees coo = new Coordonnees(nom_position.Text, new Point((int)cooX, (int)cooY)); string nomActiTmp = ""; if (treeView1.SelectedNode == null && actiActuelle == null) // vérifie qu'on sélectionne bien un type d'activité { PossibleDeChanger = false; } else if (treeView1.SelectedNode == null) // par défaut, mais le type de l'activité sélectionné si c'est un chargement d'activité { nomActiTmp = actiActuelle.Nom; } else { nomActiTmp = treeView1.SelectedNode.Text; // autrement, met ls noeud sélectionné par l'utilisateur } Activite tmpActi = new Activite(nomActiTmp, datesDebut, datesFin, coo, description.Text, this._listSpatio); //attention a l'assignation des Spationautes // Vérification des données if (!verifieDonnees(jourSelec.ListActiviteJournee, tmpActi)) PossibleDeChanger = false; // Vérification du treeView if (!testTreeView()) PossibleDeChanger = false; if (PossibleDeChanger) // ajoute ou modifie l'activité { jourSelec.ListActiviteJournee.Remove(actiActuelle); jourSelec.ListActiviteJournee.Add(tmpActi); actiActuelle = tmpActi; this.Close(); } else // si un des critères n'est pas vérifié, un pop-up annonce la modification ou création impossible et renvoie au form de modification { PopUp_ModifImpossible popup = new PopUp_ModifImpossible(); DialogResult dialogresult = popup.ShowDialog(); popup.Dispose(); } }
// renvoie toutes les journees comprises entre les deux dates passées en argument public List<Journee> selectionPeriodeJour(Dates dateDeb, Dates dateFin) { List<Journee> lst_periode = new List<Journee>(); foreach (Journee uneJournee in ListJournees) { if (uneJournee.NumJour > dateDeb.Jour || uneJournee.NumJour < dateFin.Jour) { lst_periode.Add(uneJournee); } } return lst_periode; }
/* renvoie une liste de toutes les activités en exterieur comprises entre deux dates*/ public List<Activite> rechercheSorties(Dates dateDeb, Dates dateFin) { List<Activite> activitesDehors = new List<Activite>(); List<Journee> listPeriode = selectionPeriodeJour(dateDeb, dateFin); List<Activite> listSortiesJour; foreach (Journee jour in listPeriode) { listSortiesJour = jour.rechercheSorties(dateDeb, dateFin); if (listSortiesJour.Count() != 0) activitesDehors.AddRange(listSortiesJour); } return activitesDehors; }
// converti une date terrestre en une date martienndu calendrier de la mission martienne public Dates conversionHeureMartienne(DateTime HeureTerre) { TimeSpan DureeMissionT = HeureTerre - JourDebutMission; int DureeMissionMin = (DureeMissionT.Days * 24 + DureeMissionT.Hours) * 60 + DureeMissionT.Minutes; int minuteM = DureeMissionMin % (60 * 24 + 40) % 60; int heureM = DureeMissionMin % (60 * 24 + 40) / 60; int joursM = DureeMissionMin / (24 * 60 + 40); Dates DateM = new Dates(joursM, heureM, minuteM); return DateM; }