public void SubstituerVariableFichier(String FichierModele, String FichierResultat, String FichierDeVariables)
        {
            JCAVariable mesVariables = new JCAVariable();
            String monContenu;

            mesVariables.LireFichier(FichierDeVariables);
            monContenu = System.IO.File.ReadAllText(FichierModele );
            monContenu = JCAVariable.SubstituerVariables(monContenu, mesVariables.Variables );
            System.IO.File.WriteAllText(FichierResultat, monContenu);
        }
Пример #2
0
        public int ExecuteExporte(string[] args, out String Message)
        {
            JCAVariable mesArgs = new JCAssertionCore.JCAVariable();
            JCAVariable mesVariables = new JCAssertionCore.JCAVariable();
            JCAConsole maConsole = new JCAssertionCore.JCAConsole ();
            String Usage = "usage :" + Environment.NewLine + Environment.NewLine + "JCAExporte /F:fichier /V1:cle=valeur /v2=cle2=valeur2 ...";
            String Cle;
            String Valeur;

            Message = "";

            if (args.Count() < 2)
            {
                Message = "Pas assez d'arguments. " + Environment.NewLine + Usage ;
                return 99;
            }

            mesArgs = maConsole.Arguments(args);

            if ((mesArgs.GetValeurVariable("F") == null) || (mesArgs.GetValeurVariable("F") == ""))
                {
                    Message = "L'argument /F (Chemin du fichier de sortie n'a pas été spécfié.)" + Environment.NewLine + Usage;
                    return 99;
                }

            // Traitemen OK
            String NomFichier = mesArgs.GetValeurVariable("F");
            if (System.IO.File.Exists (NomFichier)) mesVariables.LireFichier(NomFichier );
            // Ajouter ou maj les variables

            foreach (var monParem in mesArgs.Variables )
                {

                    if ((monParem.Key.Length > 0 ) && (monParem.Key.Substring(0,1).ToUpper()   == "V"))
                    {
                        Cle = mesArgs.ExtrairePaire(monParem.Value, out  Valeur);
                        mesVariables.MAJVariable (Cle ,Valeur );

                    }
                }

            // metre les variables par défaut
            mesVariables.MAJVariable(JCAVariable.Constantes.JCA_FichierDeVariables   ,
                NomFichier);

            //Sauvegarder
            mesVariables.EcrireFichier(NomFichier);
            Message = Environment.NewLine +  "Fichier : " + NomFichier + " mis à jour.";

            return 0;
        }
        public void EcrireEtLire()
        {
            JCAVariable mesVariablesAvant = new JCAVariable();
            JCAVariable mesVariablesApres = new JCAVariable();
            String NomFichier = JCACore.RepertoireAssembly() + "Ressources\\EcrireEtLire.xml";

            // tester l'état de l'environnement de test
            if (File.Exists(NomFichier)) File.Delete(NomFichier);
            Assert.IsFalse (File.Exists (NomFichier),"Le fichier de sérialisation devrait ne pas exister");

            // remplir les avariables avant ecriture
            mesVariablesAvant.MAJVariable("Test<3>", "Valeur\" de la variable Test3");
            mesVariablesAvant.MAJVariable("Test\"1\"", "Valeur de <la> variable Test1");
            mesVariablesAvant.MAJVariable("AATest2", "Valeur de la variable Test2");
            mesVariablesAvant.MAJVariable("JCA.FichierDeVariables", NomFichier);

            mesVariablesAvant.EcrireFichier(NomFichier);

            String Contenu = System.IO.File.ReadAllText(NomFichier);
            Assert.IsTrue(Contenu.Contains("Test&lt;3&gt;"));
            Assert.IsTrue(Contenu.Contains("Valeur&quot; de la variable Test3"));
            Assert.IsTrue(Contenu.Contains("Test&quot;1&quot;"));
            Assert.IsTrue(Contenu.Contains("Valeur de &lt;la&gt; variable Test1"));
            Assert.IsTrue(Contenu.Contains("AATest2"));
            Assert.IsTrue(Contenu.Contains("Valeur de la variable Test2"));

            // Créer du contenu qui sera remplacé dans la variable apr
            mesVariablesApres.MAJVariable("errone","Cette valeur devrait disparaitre");
            String Detail;
            Boolean TestComplexe = mesVariablesAvant.EstEgal (mesVariablesApres.Variables  , out Detail  );

            Assert.IsFalse(TestComplexe, "Avant de commencer le test lesvariablesdevraient être différentes");

            mesVariablesApres.LireFichier(NomFichier );

            TestComplexe = mesVariablesAvant.EstEgal(mesVariablesApres.Variables, out Detail);

            Assert.IsTrue(TestComplexe, "Aprè le test les deux objets de variable devraient être pareils : " + Detail );
        }