Example #1
0
        public void TestOK()
        {
            List <Data.HistoricalColumn> columns = new List <Data.HistoricalColumn>();

            columns.Add(Data.HistoricalColumn.Open);
            columns.Add(Data.HistoricalColumn.High);
            columns.Add(Data.HistoricalColumn.Low);
            columns.Add(Data.HistoricalColumn.Close);
            columns.Add(Data.HistoricalColumn.Volume);



            List <String> l = new List <string>();

            l.Add("GOOG".ToUpper());


            DateTime debut = new DateTime(2015, 01, 01);
            DateTime fin   = new DateTime(2015, 04, 01);


            Services   s       = new Services();
            Data       donnees = s.getActifHistorique(l, columns, debut, fin);
            DataRetour dretour = new DataRetour();
            Data       d       = GestionErreurs.actifErreur((DataActif)donnees, dretour);

            for (int i = 0; i < d.Ds.Tables[0].Rows.Count; i++)
            {
                foreach (string c in d.Columns)
                {
                    Assert.AreEqual <double>((double)d.Ds.Tables[0].Rows[i][c], (double)donnees.Ds.Tables[0].Rows[i][c]);
                }
            }
        }
        /// <summary>
        /// Méthode qui set un Data de taux de change, à partir de certains paramètres
        /// </summary>
        /// <param name="refCurr"> Currency de référence</param>
        /// <param name="comparedCurr"> Liste de Currency qu'on compare à la référene</param>
        /// <param name="startDate"></param>
        /// <param name="endDate"></param>
        /// <param name="frequence">Fréquence de récupération des données: 0 = Daily, 1 = Monthly, 2 = Yearly</param>
        public void setExchangeRate(String refCurr, List <Data.Currency> comparedCurr, DateTime startDate, DateTime endDate, int frequence)
        {
            Data.Currency nameExchangeRate = (Data.Currency)Enum.Parse(typeof(Data.Currency), refCurr.ToUpper());

            Data.Frequency freq = Data.Frequency.Daily;
            if (frequence == 0)
            {
                freq = Data.Frequency.Daily;
            }
            if (frequence == 1)
            {
                freq = Data.Frequency.Monthly;
            }
            if (frequence == 2)
            {
                freq = Data.Frequency.Yearly;
            }


            Services s = new Services();

            Data d = s.getExchangeRate(nameExchangeRate, comparedCurr, startDate, endDate, freq, donnees);

            // gestion d'erreur
            donnees.SetData(GestionErreurs.exchangeErreur((DataExchangeRate)d, donnees));
            GestionErreurs.donneesIncomplètes(donnees, startDate, endDate);
            //
        }
Example #3
0
        //TODO: Gérer les erreurs dans les chiffres pour date, et choix d'options
        //      Virer les fonctions statics et les mettre dans un meilleur endroit
        //      BLoquer quand 2 fois le meme actif

        /// <summary>
        /// Methode qui set un Data d'actifs à partir de différents paramètres
        /// </summary>
        /// <param name="namesActif"> Liste de String contenant les noms (Yahoo) des actifs désirés </param>
        /// <param name="columns"> Liste contenant les options souhaitées (High, Low, Volume ...)</param>
        /// <param name="startDate"></param>
        /// <param name="endDate"></param>
        public void setActif(List <String> namesActif, List <Data.HistoricalColumn> columns, DateTime startDate, DateTime endDate)
        {
            //Gestion du GetActif sans spécifier les options --> tout ajouter
            if (!columns.Any())
            {
                columns.Add(Data.HistoricalColumn.Open);
                columns.Add(Data.HistoricalColumn.High);
                columns.Add(Data.HistoricalColumn.Low);
                columns.Add(Data.HistoricalColumn.Close);
                columns.Add(Data.HistoricalColumn.Volume);
            }

            Services s = new Services();
            Data     d = s.getActifHistorique(namesActif, columns, startDate, endDate, donnees);

            // gestion d'erreur
            try
            {
                donnees.SetData(GestionErreurs.actifErreur((DataActif)d, donnees));
                GestionErreurs.donneesIncomplètes(donnees, startDate, endDate);
            }
            catch
            {
            }
            //
        }
Example #4
0
        public void TestMauvaiseEntree()
        {
            List <Data.HistoricalColumn> columns = new List <Data.HistoricalColumn>();

            columns.Add(Data.HistoricalColumn.Open);
            columns.Add(Data.HistoricalColumn.High);
            columns.Add(Data.HistoricalColumn.Low);
            columns.Add(Data.HistoricalColumn.Close);
            columns.Add(Data.HistoricalColumn.Volume);



            List <String> l = new List <string>();

            l.Add("GOOG".ToUpper());
            //mauvaise entrée
            l.Add("lkdfsopf".ToUpper());
            l.Add("CA.PA".ToUpper());


            DateTime debut = new DateTime(2015, 01, 01);
            DateTime fin   = new DateTime(2015, 04, 01);


            Services   s       = new Services();
            DataRetour dretour = new DataRetour();
            Data       donnees = s.getActifHistorique(l, columns, debut, fin, dretour);
            Data       d       = GestionErreurs.actifErreur((DataActif)donnees, dretour);

            dretour.SetData(d);
            Assert.AreEqual <string>(dretour.GetListeErreur()[0], "lkdfsopf".ToUpper());
        }
Example #5
0
        public void TestValeurIsolee()
        {
            List <Data.HistoricalColumn> columns = new List <Data.HistoricalColumn>();

            columns.Add(Data.HistoricalColumn.Open);
            columns.Add(Data.HistoricalColumn.High);
            columns.Add(Data.HistoricalColumn.Low);
            columns.Add(Data.HistoricalColumn.Close);
            columns.Add(Data.HistoricalColumn.Volume);



            List <String> l = new List <string>();

            l.Add("GOOG".ToUpper());


            DateTime debut = new DateTime(2015, 01, 01);
            DateTime fin   = new DateTime(2015, 04, 01);


            Services s       = new Services();
            Data     donnees = s.getActifHistorique(l, columns, debut, fin);
            // on supprime une ligne
            // attention à ne pas prendre un vendredi ou lundi
            DataRow row = donnees.Ds.Tables[0].Rows[2];

            if (((DateTime)row["Date"]).DayOfWeek == DayOfWeek.Friday)
            {
                donnees.Ds.Tables[0].Rows.Remove(donnees.Ds.Tables[0].Rows[5]);
            }
            else if (((DateTime)row["Date"]).DayOfWeek == DayOfWeek.Monday)
            {
                donnees.Ds.Tables[0].Rows.Remove(donnees.Ds.Tables[0].Rows[3]);
            }
            else
            {
                donnees.Ds.Tables[0].Rows.Remove(row);
            }


            DataRetour dretour = new DataRetour();
            Data       d       = GestionErreurs.actifErreur((DataActif)donnees, dretour);

            for (int i = 0; i < d.Ds.Tables[0].Rows.Count; i++)
            {
                foreach (string c in d.Columns)
                {
                    Assert.AreEqual <double>((double)d.Ds.Tables[0].Rows[i][c], (double)donnees.Ds.Tables[0].Rows[i][c]);
                    // Trace.Write((double)donnees.Ds.Tables[0].Rows[i]["Open"] + "   " + (double)d.Ds.Tables[0].Rows[i]["Open"] + "\n");
                }
            }
        }
        /// <summary>
        /// Methode qui set un Data d'un taux d'intêrets à partir de certains paramètres
        /// </summary>
        /// <param name="NameRate"> Nom du taux voulu</param>
        /// <param name="startDate"></param>
        /// <param name="endDate"></param>
        public void setInterestRate(String NameRate, DateTime startDate, DateTime endDate)
        {
            Data.InterestRate nameInterest = (Data.InterestRate)Enum.Parse(typeof(Data.InterestRate), NameRate.ToUpper());

            Services s = new Services();

            Data d = s.getInterestRate(nameInterest, startDate, endDate, donnees);

            // gestion d'erreur
            donnees.SetData(GestionErreurs.interestErreur((DataInterestRate)d, donnees));
            GestionErreurs.donneesIncomplètes(donnees, startDate, endDate);
            //
        }
Example #7
0
        public void Test1requete()
        {
            List <Data.HistoricalColumn> columns = new List <Data.HistoricalColumn>();

            columns.Add(Data.HistoricalColumn.Open);

            List <String> l = new List <string>();

            l.Add("GOOG".ToUpper());


            DateTime debut = new DateTime(2015, 01, 01);
            DateTime fin   = new DateTime(2015, 04, 01);


            Services s       = new Services();
            Data     donnees = s.getActifHistorique(l, columns, debut, fin);

            // on supprime une ligne
            // attention à ne pas prendre un vendredi ou lundi
            for (int k = 0; k < 15; k++)
            {
                donnees.Ds.Tables[0].Rows.Remove(donnees.Ds.Tables[0].Rows[2]);
            }
            DataRetour dretour = new DataRetour();
            Data       d       = GestionErreurs.actifErreur((DataActif)donnees, dretour);

            Assert.AreNotEqual(d.Ds.Tables[0].Rows.Count, donnees.Ds.Tables[0].Rows.Count);
            for (int j = 0; j < donnees.Ds.Tables[0].Rows.Count; j++)
            {
                Trace.Write(((DateTime)donnees.Ds.Tables[0].Rows[j]["Date"]).ToString("yyyy/MM/dd") + "   " + (double)donnees.Ds.Tables[0].Rows[j]["Open"] + "\n");
            }
            Trace.Write("new tab \n\n");
            for (int i = 0; i < d.Ds.Tables[0].Rows.Count; i++)
            {
                Trace.Write(((DateTime)d.Ds.Tables[0].Rows[i]["Date"]).ToString("yyyy/MM/dd") + "   " + (double)d.Ds.Tables[0].Rows[i]["Open"] + "\n");
            }
        }
Example #8
0
        public void TestRequeteComplete_Interest()
        {
            Data.InterestRate taux = Data.InterestRate.EURIBOR;


            DateTime debut = new DateTime(2015, 01, 01);
            DateTime fin   = new DateTime(2015, 04, 01);


            Services   s       = new Services();
            DataRetour dretour = new DataRetour();
            Data       donnees = s.getInterestRate(taux, debut, fin, dretour);
            // Pour extraire les données en format .csv
            string text3 = "Date;1w;2w;1m;2m;3m;6m;9m;12m;\n";


            //Trace.Write("  date        1w         2w        1m         2m         3m         6m        9m     12m \n");
            for (int i = 0; i < donnees.Ds.Tables[0].Rows.Count; i++)
            {
                text3 += ((DateTime)donnees.Ds.Tables[0].Rows[i]["Date"]).ToString("yyyy/MM/dd")
                         + ";" + ((double)donnees.Ds.Tables[0].Rows[i]["1w"]).ToString()
                         + ";" + ((double)donnees.Ds.Tables[0].Rows[i]["2w"]).ToString()
                         + ";" + ((double)donnees.Ds.Tables[0].Rows[i]["1m"]).ToString()
                         + ";" + ((double)donnees.Ds.Tables[0].Rows[i]["2m"]).ToString()
                         + ";" + ((double)donnees.Ds.Tables[0].Rows[i]["3m"]).ToString()
                         + ";" + ((double)donnees.Ds.Tables[0].Rows[i]["6m"]).ToString()
                         + ";" + ((double)donnees.Ds.Tables[0].Rows[i]["9m"]).ToString()
                         + ";" + ((double)donnees.Ds.Tables[0].Rows[i]["12m"]).ToString() + "\n";
                //Trace.Write(((DateTime)d.Ds.Tables[0].Rows[i]["Date"]).ToString("yyyy/MM/dd") + "   " + (double)d.Ds.Tables[0].Rows[i]["Open"] + "   " + (double)d.Ds.Tables[0].Rows[i]["Close"] + "   " + (double)d.Ds.Tables[0].Rows[i]["Low"] + "   " + (double)d.Ds.Tables[0].Rows[i]["High"] + "   " + (double)d.Ds.Tables[0].Rows[i]["Volume"] + "\n");
            }
            // on supprime une ligne
            // attention à ne pas prendre un vendredi ou lundi
            for (int k = 0; k < 15; k++)
            {
                donnees.Ds.Tables[0].Rows.Remove(donnees.Ds.Tables[0].Rows[15]);
            }
            Data d = GestionErreurs.interestErreur((DataInterestRate)donnees, dretour);

            Assert.AreEqual <double>((double)d.Ds.Tables[0].Rows[0]["2w"], (double)donnees.Ds.Tables[0].Rows[0]["2w"]);

            /////////////////////////////// A decommenter pour avoir les donnees de test en .csv \\\\\\\\\\\\\\\\\\\\\\\\\\
            /////////////////////////////// Penser à changer le path pour ecrire dans les fichiers \\\\\\\\\\\\\\\\\\\\\\\\

            /*
             * // Pour extraire les données en format .csv
             * string text = "Date;1w;2w;1m;2m;3m;6m;9m;12m;\n";
             * string text2 = "Date;1w;2w;1m;2m;3m;6m;9m;12m;\n";
             *
             * //Trace.Write("  date        1w         2w        1m         2m         3m         6m        9m     12m \n");
             * for (int i = 0; i < d.Ds.Tables[0].Rows.Count; i++)
             * {
             *  text += ((DateTime)d.Ds.Tables[0].Rows[i]["Date"]).ToString("yyyy/MM/dd")
             + ";" + ((double)d.Ds.Tables[0].Rows[i]["1w"]).ToString()
             + ";" + ((double)d.Ds.Tables[0].Rows[i]["2w"]).ToString()
             + ";" + ((double)d.Ds.Tables[0].Rows[i]["1m"]).ToString()
             + ";" + ((double)d.Ds.Tables[0].Rows[i]["2m"]).ToString()
             + ";" + ((double)d.Ds.Tables[0].Rows[i]["3m"]).ToString()
             + ";" + ((double)d.Ds.Tables[0].Rows[i]["6m"]).ToString()
             + ";" + ((double)d.Ds.Tables[0].Rows[i]["9m"]).ToString()
             + ";" + ((double)d.Ds.Tables[0].Rows[i]["12m"]).ToString() + "\n";
             +  //Trace.Write(((DateTime)d.Ds.Tables[0].Rows[i]["Date"]).ToString("yyyy/MM/dd") + "   " + (double)d.Ds.Tables[0].Rows[i]["Open"] + "   " + (double)d.Ds.Tables[0].Rows[i]["Close"] + "   " + (double)d.Ds.Tables[0].Rows[i]["Low"] + "   " + (double)d.Ds.Tables[0].Rows[i]["High"] + "   " + (double)d.Ds.Tables[0].Rows[i]["Volume"] + "\n");
             + }
             + for (int i = 0; i < donnees.Ds.Tables[0].Rows.Count; i++)
             + {
             +  text2 += ((DateTime)donnees.Ds.Tables[0].Rows[i]["Date"]).ToString("yyyy/MM/dd")
             + ";" + ((double)donnees.Ds.Tables[0].Rows[i]["1w"]).ToString()
             + ";" + ((double)donnees.Ds.Tables[0].Rows[i]["2w"]).ToString()
             + ";" + ((double)donnees.Ds.Tables[0].Rows[i]["1m"]).ToString()
             + ";" + ((double)donnees.Ds.Tables[0].Rows[i]["2m"]).ToString()
             + ";" + ((double)donnees.Ds.Tables[0].Rows[i]["3m"]).ToString()
             + ";" + ((double)donnees.Ds.Tables[0].Rows[i]["6m"]).ToString()
             + ";" + ((double)donnees.Ds.Tables[0].Rows[i]["9m"]).ToString()
             + ";" + ((double)donnees.Ds.Tables[0].Rows[i]["12m"]).ToString() + "\n";
             +  //Trace.Write(((DateTime)d.Ds.Tables[0].Rows[i]["Date"]).ToString("yyyy/MM/dd") + "   " + (double)d.Ds.Tables[0].Rows[i]["Open"] + "   " + (double)d.Ds.Tables[0].Rows[i]["Close"] + "   " + (double)d.Ds.Tables[0].Rows[i]["Low"] + "   " + (double)d.Ds.Tables[0].Rows[i]["High"] + "   " + (double)d.Ds.Tables[0].Rows[i]["Volume"] + "\n");
             + }
             + // On écrit dans le fichier
             + System.IO.File.WriteAllText(@"C:\Users\BVE\Desktop\Projet_Spe\TestResults\SimuleValeurComplet_interest.csv", text);
             + System.IO.File.WriteAllText(@"C:\Users\BVE\Desktop\Projet_Spe\TestResults\Temoin_interest.csv", text2);
             + //System.IO.File.WriteAllText(@"C:\Users\BVE\Desktop\Projet_Spe\TestResults\Complet_interest.csv", text3);
             */
        }
Example #9
0
        public void TestRequeteComplete()
        {
            List <Data.HistoricalColumn> columns = new List <Data.HistoricalColumn>();

            columns.Add(Data.HistoricalColumn.Open);
            columns.Add(Data.HistoricalColumn.High);
            columns.Add(Data.HistoricalColumn.Low);
            columns.Add(Data.HistoricalColumn.Close);
            columns.Add(Data.HistoricalColumn.Volume);

            List <String> l = new List <string>();

            l.Add("GOOG".ToUpper());


            DateTime debut = new DateTime(2015, 01, 01);
            DateTime fin   = new DateTime(2015, 04, 01);


            Services s       = new Services();
            Data     donnees = s.getActifHistorique(l, columns, debut, fin);

            // on supprime une ligne
            // attention à ne pas prendre un vendredi ou lundi
            for (int k = 0; k < 15; k++)
            {
                donnees.Ds.Tables[0].Rows.Remove(donnees.Ds.Tables[0].Rows[2]);
            }
            DataRetour dretour = new DataRetour();
            Data       d       = GestionErreurs.actifErreur((DataActif)donnees, dretour);

            Assert.AreEqual <double>((double)d.Ds.Tables[0].Rows[1]["Open"], (double)donnees.Ds.Tables[0].Rows[1]["Open"]);


            /////////////////////////////// A decommenter pour avoir les donnees de test en .csv \\\\\\\\\\\\\\\\\\\\\\\\\\
            /////////////////////////////// Penser à changer le path pour ecrire dans les fichiers \\\\\\\\\\\\\\\\\\\\\\\\

            /*
             * // Pour extraire les données en format .csv
             * string text = "Date;Open;Close;Low;High;Volume\n";
             * string text2 = "Date;Open;Close;Low;High;Volume\n";
             * //Trace.Write("  date        open         close        low         high     volume\n");
             * for (int i = 0; i < d.Ds.Tables[0].Rows.Count; i++)
             * {
             *  text += ((DateTime)d.Ds.Tables[0].Rows[i]["Date"]).ToString("yyyy/MM/dd")
             + ";" + ((double)d.Ds.Tables[0].Rows[i]["Open"]).ToString()
             + ";" + ((double)d.Ds.Tables[0].Rows[i]["Close"]).ToString()
             + ";" + ((double)d.Ds.Tables[0].Rows[i]["Low"]).ToString()
             + ";" + ((double)d.Ds.Tables[0].Rows[i]["High"]).ToString()
             + ";" + ((double)d.Ds.Tables[0].Rows[i]["Volume"]).ToString() + "\n";
             +  //Trace.Write(((DateTime)d.Ds.Tables[0].Rows[i]["Date"]).ToString("yyyy/MM/dd") + "   " + (double)d.Ds.Tables[0].Rows[i]["Open"] + "   " + (double)d.Ds.Tables[0].Rows[i]["Close"] + "   " + (double)d.Ds.Tables[0].Rows[i]["Low"] + "   " + (double)d.Ds.Tables[0].Rows[i]["High"] + "   " + (double)d.Ds.Tables[0].Rows[i]["Volume"] + "\n");
             + }
             + for (int i = 0; i < donnees.Ds.Tables[0].Rows.Count; i++)
             + {
             +  text2 += ((DateTime)donnees.Ds.Tables[0].Rows[i]["Date"]).ToString("yyyy/MM/dd")
             + ";" + ((double)donnees.Ds.Tables[0].Rows[i]["Open"]).ToString()
             + ";" + ((double)donnees.Ds.Tables[0].Rows[i]["Close"]).ToString()
             + ";" + ((double)donnees.Ds.Tables[0].Rows[i]["Low"]).ToString()
             + ";" + ((double)donnees.Ds.Tables[0].Rows[i]["High"]).ToString()
             + ";" + ((double)donnees.Ds.Tables[0].Rows[i]["Volume"]).ToString() + "\n";
             +  //Trace.Write(((DateTime)d.Ds.Tables[0].Rows[i]["Date"]).ToString("yyyy/MM/dd") + "   " + (double)d.Ds.Tables[0].Rows[i]["Open"] + "   " + (double)d.Ds.Tables[0].Rows[i]["Close"] + "   " + (double)d.Ds.Tables[0].Rows[i]["Low"] + "   " + (double)d.Ds.Tables[0].Rows[i]["High"] + "   " + (double)d.Ds.Tables[0].Rows[i]["Volume"] + "\n");
             + }
             + // On écrit dans le fichier
             + System.IO.File.WriteAllText(@"C:\Users\BVE\Desktop\Projet_Spe\TestResults\SimuleValeurComplet_Actif.csv", text);
             + System.IO.File.WriteAllText(@"C:\Users\BVE\Desktop\Projet_Spe\TestResults\Temoin_Actif.csv", text2);
             * */
        }