Salome HOME
Updated copyright comment
[modules/yacs.git] / src / pmml / Test / tools.cxx
1 // Copyright (C) 2007-2024  CEA, EDF
2 //
3 // This library is free software; you can redistribute it and/or
4 // modify it under the terms of the GNU Lesser General Public
5 // License as published by the Free Software Foundation; either
6 // version 2.1 of the License, or (at your option) any later version.
7 //
8 // This library is distributed in the hope that it will be useful,
9 // but WITHOUT ANY WARRANTY; without even the implied warranty of
10 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
11 // Lesser General Public License for more details.
12 //
13 // You should have received a copy of the GNU Lesser General Public
14 // License along with this library; if not, write to the Free Software
15 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
16 //
17 // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
18 //
19
20 #include <cstring>
21 #include <iostream>
22 #include <fstream>
23
24 #include "tools.hxx"
25
26 using namespace std ;
27
28 /** Test if two files are identical. 
29  * \param fileName Name of the first file
30  * \param otherFileName Name of the other file
31  * \return 0 if files are equal.
32  */
33 int areFilesEqual(const std::string & fileName, std::string otherFileName)
34 {
35     // Get content of the files 
36     string str1("");
37     const char* f1 = fileName.c_str();
38     std::ifstream ifs1 (f1, ios::in);
39     if (ifs1) 
40     {
41         string ligne;
42         while(getline(ifs1, ligne))
43         {
44             str1 +=  ligne ;
45             str1 += "'\n'";
46         }
47         ifs1.close();
48     } 
49     //
50     string str2("");
51     const char* f2 = otherFileName.c_str();
52     std::ifstream ifs2 (f2);
53     if (ifs2) 
54     {
55         string ligne;
56         while(getline(ifs2, ligne))
57         {
58             str2 +=  ligne ;
59             str2 += "'\n'";
60         }    
61         ifs2.close();
62     }  
63     // Compare
64     int cmp = str1.compare(str2);
65     return cmp; 
66 }