Пример #1
0
        public void ParseTest()
        {
            XmlDocument xmlDoc = new XmlDocument();

            Lieu l = new Lieu("TestDeLieu", new System.Drawing.Point(50, 50));

            XmlNode NodeLieu = xmlDoc.CreateElement("Lieu");

            XmlNode NodeNom = xmlDoc.CreateElement("Nom");
            NodeNom.InnerText = l.Nom.ToString();
            NodeLieu.AppendChild(NodeNom);

            XmlNode NodeCoords = xmlDoc.CreateElement("Coordonnées");
            NodeCoords.InnerText = l.Coords.ToString();
            NodeLieu.AppendChild(NodeCoords);

            XmlNode test = NodeLieu; // TODO: initialisez à une valeur appropriée
            string expected =  l.Nom ; // TODO: initialisez à une valeur appropriée
            System.Drawing.Point Expected = l.Coords;

            string actual = Lieu.Parse(test).Nom;
            System.Drawing.Point Actual = Lieu.Parse(test).Coords;

            Assert.AreEqual(expected, actual);
            Assert.AreEqual(Expected, Actual);
            // Assert.Inconclusive("Vérifiez l\'exactitude de cette méthode de test.");
        }
Пример #2
0
        //On utilise le contenu d'un noeud
        public static Lieu Parse(XmlNode test)
        {
            Lieu l = new Lieu();
            Point coords = new Point(0, 0);
            string nomLieu = "";

            nomLieu = test.SelectSingleNode("Nom").InnerText; //On donne le contenu du noeud Nom à la variable
            string Coord = test.SelectSingleNode("Coordonnées").InnerText;//On prend le texte du noeud coordonnées

            int i = 0;
            int j = 0;
            string numberX = "";
            string numberY = "";

            foreach (char c in Coord)   //Pour chaque caractère
            {
                if (c == 'X')     //Quand on trouve le caractère X
                {
                    j = i + 3;     //On se place sur le premier nombre
                    do          //On boucle à l'infini
                    {
                        if (Coord[j - 1] == ',') //Quand un trouve le caractère spécifié
                        {
                            break;
                        }
                        else
                        {
                            numberX = numberX + Coord[j - 1];    //On ajoute les numéros comme caractères les uns derrière les autres
                            j++;
                        }
                    } while (true);
                    coords.X = int.Parse(numberX);  //On converti la chaîne de caractères en entier
                }

                if (c == 'Y')
                {
                    j = i + 3;
                    do
                    {
                        if (Coord[j - 1] == '}')
                        {
                            break;
                        }
                        else
                        {
                            numberY = numberY + Coord[j - 1];
                            j++;
                        }
                    } while (true);
                    coords.Y = int.Parse(numberY);
                }
                i++;
            }
            l.Nom = nomLieu;
            l.Coords = coords;
            return l;
        }
Пример #3
0
 public Activite(string nom)
 {
     _nom = nom;
     _debut = new Heure (0,0);
     _fin = new Heure(0, 0);
     _texteDescriptif = "";
     _gps = new Lieu();
     _texteDescriptif = "";
     _listAstronaute.Add (new Astronaute(0,""));
 }
Пример #4
0
        //Lecture XML et génération objets
        public void chargerXml(XmlDocument xmlDoc, Mission M)
        {
            XmlNodeList nodelistCalendrier = xmlDoc.GetElementsByTagName("Calendrier_Martien");  //On crée une liste de tous les éléments dans tout le document qui portent le nom de Calendrier_Martien

            CalendrierMartien c = new CalendrierMartien();

            foreach (XmlNode nodeCalendrier in nodelistCalendrier)  //Pour tout les noeuds présents dans notre liste d'élements (ici on a juste un élément)
            {
                c.Debut = DateTime.Parse(nodeCalendrier.SelectSingleNode("Début").InnerText);  //La date de début du calendrier est égale à ce qui est contenu dans le seul noeud portant le nom début
                c.Fin = DateTime.Parse(nodeCalendrier.SelectSingleNode("Fin").InnerText);
                c.Last= DateTime.Parse(nodeCalendrier.SelectSingleNode("Last").InnerText);
                c.Day = int.Parse(nodeCalendrier.SelectSingleNode("Jour").InnerText);
                c.Heure = int.Parse(nodeCalendrier.SelectSingleNode("Heure").InnerText);
                c.Minute = int.Parse(nodeCalendrier.SelectSingleNode("Minute").InnerText);
                c.Seconde = int.Parse(nodeCalendrier.SelectSingleNode("Seconde").InnerText);

                XmlNodeList nodelistJours = nodeCalendrier.SelectNodes("Liste_Jour");
                foreach (XmlNode nodeJour in nodelistJours)
                {
                    XmlNodeList nodelistJour = nodeJour.SelectNodes("Jour");
                    foreach (XmlNode jour in nodelistJour)
                    {
                        string CompteRendu = "";
                        int num = 0;
                        bool[] tabHoraires = new bool[148];

                        Jour j = new Jour(CompteRendu, num, tabHoraires);

                        j.CompteRendu = jour.SelectSingleNode("Compte_Rendu").InnerText;
                        j.Numero = int.Parse(jour.SelectSingleNode("Numéro").InnerText);
                        j.Sortie = bool.Parse(jour.SelectSingleNode("Sortie").InnerText);

                        List<Activite> listeActivites = new List<Activite>();

                        XmlNodeList nodelistActivite = jour.SelectNodes("Liste_Activité");
                        foreach (XmlNode nodeActivite in nodelistActivite)
                        {
                            XmlNodeList nodelisteActivite = nodeActivite.SelectNodes("Activité");

                            foreach (XmlNode Activite in nodelisteActivite)
                            {
                                Heure debut = new Heure(0, 0);
                                Heure fin = new Heure(0, 0);
                                Lieu gps = new Lieu();
                                List<Astronaute> listAstronaute = new List<Astronaute>();

                                Activite a = new Activite("");

                                a.Nom = Activite.SelectSingleNode("Nom").InnerText;
                                debut.Heures = int.Parse(Activite.SelectSingleNode("Heure_Debut").InnerText);
                                fin.Heures = int.Parse(Activite.SelectSingleNode("Heure_Fin").InnerText);
                                debut.Minutes = int.Parse(Activite.SelectSingleNode("Minute_Debut").InnerText);
                                fin.Minutes = int.Parse(Activite.SelectSingleNode("Minute_Fin").InnerText);

                                a.Debut = new Heure(debut.Heures, debut.Minutes);
                                a.Fin = new Heure(fin.Heures, fin.Minutes);

                                gps = Lieu.Parse(Activite.SelectSingleNode("Lieu"));
                                a.Gps = gps;

                                List<Astronaute> listAstr = new List<Astronaute>();

                                XmlNodeList nodelistAstronaute = Activite.SelectNodes("Liste_Astronaute");
                                foreach (XmlNode nodeAstronaute in nodelistAstronaute)
                                {
                                    string nomAst = "";
                                    int id = 0;
                                    XmlNodeList nodeAstronautee = nodeAstronaute.SelectNodes("Astronaute");
                                    foreach (XmlNode nodeAstro in nodeAstronautee)
                                    {
                                        id = int.Parse(nodeAstro.SelectSingleNode("Id").InnerText);
                                        nomAst = nodeAstro.SelectSingleNode("Nom").InnerText;
                                        Astronaute ast = new Astronaute(id, nomAst);
                                        listAstr.Add(ast);
                                    }
                                }
                                a.ListAstronaute = listAstr;
                                a.TexteDescriptif = Activite.SelectSingleNode("Texte_Descriptif").InnerText;
                                listeActivites.Add(a);
                            }
                        }

                        j.ListeActivites = listeActivites;

                            XmlNodeList nodelistTabHoraire = jour.SelectNodes("Tableau_Horaire");
                            foreach (XmlNode nodeListeLibre in nodelistTabHoraire)
                            {
                                XmlNodeList nodelistLibre = nodeListeLibre.SelectNodes("Libre");
                                int i = 0;
                                foreach (XmlNode nodeLibre in nodelistLibre)
                                {
                                    tabHoraires[i] = bool.Parse(nodeLibre.InnerText);
                                    i++;
                                }
                            }

                            j.TabHoraires = tabHoraires;

                        c.Jours.Add(j);
                    }
                }
            }
            M.Calendar = c;
        }
Пример #5
0
 public Activite(string nom, Heure debut, Heure fin, string texteDescriptif, List<Astronaute> listAst, Lieu lieu)
     : this(nom, debut, fin, texteDescriptif)
 {
     _listAstronaute = listAst;
     _gps = lieu;
 }