-
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Enable TestBound in the CMakeFile of the test folder. In this version, we duplicate the CMake and CMake builds to download the Google Test Framework. This is required due to the fact that with the current option ExternalProject_Add the external project is only downloaded and installed during the first CMake build. We will change this in another PR to align it with the framework Eigen. Tests that work on linux "obviously" do not work always with windows ¯_(ツ)_/¯, e.g., in debug mode. The above test fail was due to the fact that (.*) regular expression is not supported, but .* is. The issue is only happening on Windows. In addition, the message looks a little bit different on Windows compared to Unix systems. The output differs in "inside Bound.\n Condition" (Unix) from "inside egoa::Bound::Bound.\n Condition" (Windows). Commits: * Enable TestBound in the CMakeFile * Add TestBound testcases * Remove Gurobi Library from TestBound * Check whether Windows and MacOS find the include with that file * Replace find_package with own find CMake for Google Testframework * Downloads need an initial build then the data is on the disk Why: * add subdirectory in CMake requires the CMakeFile that is not downloaded yet * Check sudo * The error in the tests is due to wrong runtime library * Does DLL works * Check without debug * Resolve libcpmt.lib(StlLCMapStringW.obj) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MT_StaticRelease' doesn't match value 'MD_DynamicRelease' in TestBound.obj [D:\a\egoa\egoa\build\tests\TestBound.vcxproj] See note in: https://cmake.org/cmake/help/latest/variable/CMAKE_MSVC_RUNTIME_LIBRARY.html#variable:CMAKE_MSVC_RUNTIME_LIBRARY * Fix a label mistake * Add more verbose to the test output to understand what is going on * Check if differentiation is necessary between Debug and Release * Follow the error given in Windows debug death test "')' is unsupported" D:\a\egoa\egoa\external\GoogleTestFramework\googletest\src/gtest-port.cc(844): error: Failed Syntax error at index 42 in simple regular expression "(.*) assertion failed at (.*)Bound.hpp:(.*) inside Bound. Condition: minimum_ <= maximum_": ')' is unsupported. Running main() from D:\a\egoa\egoa\external\GoogleTestFramework\googletest\src\gtest_main.cc D:\a\egoa\egoa\tests\DataStructures\TestBound.cpp(70): error: Death test: {egoa::Bound<> bound (3,1);} Result: died but not with expected error. Expected: contains regular expression "(.*) assertion failed at (.*)Bound.hpp:(.*) inside Bound.\n Condition: minimum_ <= maximum_" Actual msg: [ DEATH ] USAGE assertion failed at D:\a\egoa\egoa\include\DataStructures/Bound.hpp:48 inside egoa::Bound<double>::Bound. [ DEATH ] Condition: minimum_ <= maximum_ [ FAILED ] TestBound.DeathTest (146 ms) * The output differs in "inside Bound.\n Condition" from "inside egoa::Bound<double>::Bound.\n Condition". D:\a\egoa\egoa\tests\DataStructures\TestBound.cpp(70): error: Death test: {egoa::Bound<> bound (3,1);} Result: died but not with expected error. Expected: contains regular expression ".* assertion failed at .*Bound.hpp:.* inside Bound.\n Condition: minimum_ <= maximum_" Actual msg: [ DEATH ] USAGE assertion failed at D:\a\egoa\egoa\include\DataStructures/Bound.hpp:48 inside egoa::Bound<double>::Bound. [ DEATH ] Condition: minimum_ <= maximum_ 63a79b1
- Loading branch information
0 parents
commit 753b8af
Showing
523 changed files
with
140,242 additions
and
0 deletions.
There are no files selected for viewing
Empty file.
Large diffs are not rendered by default.
Oops, something went wrong.
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,170 @@ | ||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> | ||
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US"> | ||
<head> | ||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> | ||
<meta http-equiv="X-UA-Compatible" content="IE=11"/> | ||
<meta name="generator" content="Doxygen 1.9.8"/> | ||
<meta name="viewport" content="width=device-width, initial-scale=1"/> | ||
<title>Energy Grid Optimization & Analysis (EGOA): include/Auxiliary/Types.hpp Source File</title> | ||
<link href="tabs.css" rel="stylesheet" type="text/css"/> | ||
<script type="text/javascript" src="jquery.js"></script> | ||
<script type="text/javascript" src="dynsections.js"></script> | ||
<link href="search/search.css" rel="stylesheet" type="text/css"/> | ||
<script type="text/javascript" src="search/searchdata.js"></script> | ||
<script type="text/javascript" src="search/search.js"></script> | ||
<link href="doxygen.css" rel="stylesheet" type="text/css" /> | ||
</head> | ||
<body> | ||
<div id="top"><!-- do not remove this div, it is closed by doxygen! --> | ||
<div id="titlearea"> | ||
<table cellspacing="0" cellpadding="0"> | ||
<tbody> | ||
<tr id="projectrow"> | ||
<td id="projectalign"> | ||
<div id="projectname">Energy Grid Optimization & Analysis (EGOA)<span id="projectnumber"> 1.0</span> | ||
</div> | ||
</td> | ||
</tr> | ||
</tbody> | ||
</table> | ||
</div> | ||
<!-- end header part --> | ||
<!-- Generated by Doxygen 1.9.8 --> | ||
<script type="text/javascript"> | ||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */ | ||
var searchBox = new SearchBox("searchBox", "search/",'.html'); | ||
/* @license-end */ | ||
</script> | ||
<script type="text/javascript" src="menudata.js"></script> | ||
<script type="text/javascript" src="menu.js"></script> | ||
<script type="text/javascript"> | ||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */ | ||
$(function() { | ||
initMenu('',true,false,'search.php','Search'); | ||
$(document).ready(function() { init_search(); }); | ||
}); | ||
/* @license-end */ | ||
</script> | ||
<div id="main-nav"></div> | ||
<script type="text/javascript"> | ||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */ | ||
$(document).ready(function() { init_codefold(0); }); | ||
/* @license-end */ | ||
</script> | ||
<!-- window showing the filter options --> | ||
<div id="MSearchSelectWindow" | ||
onmouseover="return searchBox.OnSearchSelectShow()" | ||
onmouseout="return searchBox.OnSearchSelectHide()" | ||
onkeydown="return searchBox.OnSearchSelectKey(event)"> | ||
</div> | ||
|
||
<!-- iframe showing the search results (closed by default) --> | ||
<div id="MSearchResultsWindow"> | ||
<div id="MSearchResults"> | ||
<div class="SRPage"> | ||
<div id="SRIndex"> | ||
<div id="SRResults"></div> | ||
<div class="SRStatus" id="Loading">Loading...</div> | ||
<div class="SRStatus" id="Searching">Searching...</div> | ||
<div class="SRStatus" id="NoMatches">No Matches</div> | ||
</div> | ||
</div> | ||
</div> | ||
</div> | ||
|
||
<div id="nav-path" class="navpath"> | ||
<ul> | ||
<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_1feb286f4781c752994d85cc2f2db043.html">Auxiliary</a></li> </ul> | ||
</div> | ||
</div><!-- top --> | ||
<div class="header"> | ||
<div class="headertitle"><div class="title">Types.hpp</div></div> | ||
</div><!--header--> | ||
<div class="contents"> | ||
<div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno"> 1</span><span class="comment">/*</span></div> | ||
<div class="line"><a id="l00002" name="l00002"></a><span class="lineno"> 2</span><span class="comment"> * Types.hpp</span></div> | ||
<div class="line"><a id="l00003" name="l00003"></a><span class="lineno"> 3</span><span class="comment"> *</span></div> | ||
<div class="line"><a id="l00004" name="l00004"></a><span class="lineno"> 4</span><span class="comment"> * Created on: Sep 07, 2018</span></div> | ||
<div class="line"><a id="l00005" name="l00005"></a><span class="lineno"> 5</span><span class="comment"> * Author: Franziska Wegner</span></div> | ||
<div class="line"><a id="l00006" name="l00006"></a><span class="lineno"> 6</span><span class="comment"> */</span></div> | ||
<div class="line"><a id="l00007" name="l00007"></a><span class="lineno"> 7</span><span class="preprocessor">#ifndef EGOA__AUXILIARY__TYPES_HPP</span></div> | ||
<div class="line"><a id="l00008" name="l00008"></a><span class="lineno"> 8</span><span class="preprocessor">#define EGOA__AUXILIARY__TYPES_HPP</span></div> | ||
<div class="line"><a id="l00009" name="l00009"></a><span class="lineno"> 9</span> </div> | ||
<div class="line"><a id="l00010" name="l00010"></a><span class="lineno"> 10</span><span class="preprocessor">#include <QDebug></span></div> | ||
<div class="line"><a id="l00011" name="l00011"></a><span class="lineno"> 11</span><span class="preprocessor">#include <QRegularExpression></span></div> | ||
<div class="line"><a id="l00012" name="l00012"></a><span class="lineno"> 12</span><span class="preprocessor">#ifdef GUROBI_AVAILABLE</span></div> | ||
<div class="line"><a id="l00013" name="l00013"></a><span class="lineno"> 13</span><span class="preprocessor"> #include "gurobi_c++.h"</span></div> | ||
<div class="line"><a id="l00014" name="l00014"></a><span class="lineno"> 14</span><span class="preprocessor">#endif</span></div> | ||
<div class="line"><a id="l00015" name="l00015"></a><span class="lineno"> 15</span> </div> | ||
<div class="line"><a id="l00016" name="l00016"></a><span class="lineno"> 16</span><span class="keyword">namespace </span>egoa::Types {</div> | ||
<div class="line"><a id="l00017" name="l00017"></a><span class="lineno"> 17</span> </div> | ||
<div class="line"><a id="l00018" name="l00018"></a><span class="lineno"> 18</span> <span class="comment">// Integer Z</span></div> | ||
<div class="line"><a id="l00019" name="l00019"></a><span class="lineno"> 19</span> <span class="keyword">typedef</span> int64_t integer; </div> | ||
<div class="line"><a id="l00020" name="l00020"></a><span class="lineno"> 20</span> <span class="keyword">typedef</span> integer rcount; </div> | ||
<div class="line"><a id="l00021" name="l00021"></a><span class="lineno"> 21</span> <span class="keyword">typedef</span> integer difference; </div> | ||
<div class="line"><a id="l00023" name="l00023"></a><span class="lineno"> 23</span> <span class="comment">// Positive integer Z_{>=0}</span></div> | ||
<div class="line"><a id="l00024" name="l00024"></a><span class="lineno"> 24</span> <span class="comment">// for uint64_t check: https://en.cppreference.com/w/cpp/types/integer</span></div> | ||
<div class="line"><a id="l00025" name="l00025"></a><span class="lineno"> 25</span> <span class="keyword">typedef</span> uint64_t posInteger; </div> | ||
<div class="line"><a id="l00026" name="l00026"></a><span class="lineno"> 26</span> <span class="keyword">typedef</span> uint8_t ubyte; </div> | ||
<div class="line"><a id="l00027" name="l00027"></a><span class="lineno"> 27</span> <span class="keyword">typedef</span> posInteger largeNumber; </div> | ||
<div class="line"><a id="l00028" name="l00028"></a><span class="lineno"> 28</span> <span class="keyword">typedef</span> posInteger count; </div> | ||
<div class="line"><a id="l00029" name="l00029"></a><span class="lineno"> 29</span> <span class="keyword">typedef</span> posInteger index; </div> | ||
<div class="line"><a id="l00031" name="l00031"></a><span class="lineno"> 31</span> <span class="comment">// Identifier</span></div> | ||
<div class="line"><a id="l00032" name="l00032"></a><span class="lineno"> 32</span> <span class="keyword">typedef</span> index vertexId; </div> | ||
<div class="line"><a id="l00033" name="l00033"></a><span class="lineno"> 33</span> <span class="keyword">typedef</span> index loadId; </div> | ||
<div class="line"><a id="l00034" name="l00034"></a><span class="lineno"> 34</span> <span class="keyword">typedef</span> index generatorId; </div> | ||
<div class="line"><a id="l00035" name="l00035"></a><span class="lineno"> 35</span> <span class="keyword">typedef</span> index edgeId; </div> | ||
<div class="line"><a id="l00036" name="l00036"></a><span class="lineno"> 36</span> <span class="keyword">typedef</span> index labelId; </div> | ||
<div class="line"><a id="l00037" name="l00037"></a><span class="lineno"> 37</span> <span class="keyword">typedef</span> index blockId; </div> | ||
<div class="line"><a id="l00039" name="l00039"></a><span class="lineno"> 39</span> <span class="comment">// Real numbers R</span></div> | ||
<div class="line"><a id="l00040" name="l00040"></a><span class="lineno"> 40</span> <span class="keyword">typedef</span> <span class="keywordtype">double</span> real; </div> | ||
<div class="line"><a id="l00041" name="l00041"></a><span class="lineno"> 41</span> <span class="keyword">typedef</span> <span class="keywordtype">long</span> <span class="keywordtype">double</span> largeReal; </div> | ||
<div class="line"><a id="l00043" name="l00043"></a><span class="lineno"> 43</span> <span class="comment">// String </span></div> | ||
<div class="line"><a id="l00044" name="l00044"></a><span class="lineno"> 44</span> <span class="keyword">typedef</span> std::string string; </div> | ||
<div class="line"><a id="l00045" name="l00045"></a><span class="lineno"> 45</span> <span class="keyword">typedef</span> std::string name; </div> | ||
<div class="line"><a id="l00047" name="l00047"></a><span class="lineno"> 47</span> <span class="comment">// Snapshots</span></div> | ||
<div class="line"><a id="l00048" name="l00048"></a><span class="lineno"> 48</span> <span class="keyword">typedef</span> real generatorSnapshot; </div> | ||
<div class="line"><a id="l00049" name="l00049"></a><span class="lineno"> 49</span> <span class="keyword">typedef</span> real loadSnapshot; </div> | ||
<div class="line"><a id="l00050" name="l00050"></a><span class="lineno"> 50</span> <span class="keyword">typedef</span> real weightSnapshot; </div> | ||
<div class="line"><a id="l00051" name="l00051"></a><span class="lineno"> 51</span> <span class="keyword">typedef</span> <span class="keywordtype">string</span> timestampSnapshot; </div> | ||
<div class="line"><a id="l00063" name="l00063"></a><span class="lineno"> 63</span> <span class="keyword">inline</span> real String2double( std::string str ) </div> | ||
<div class="line"><a id="l00064" name="l00064"></a><span class="lineno"> 64</span> {</div> | ||
<div class="line"><a id="l00065" name="l00065"></a><span class="lineno"> 65</span> QRegularExpression rx(<span class="stringliteral">"(^-?[0-9]?\\d*(\\.\\d+)?)"</span>); <span class="comment">// Filter numbers only</span></div> | ||
<div class="line"><a id="l00066" name="l00066"></a><span class="lineno"> 66</span> QRegularExpressionMatchIterator i = rx.globalMatch(QString::fromStdString(str));</div> | ||
<div class="line"><a id="l00067" name="l00067"></a><span class="lineno"> 67</span> QRegularExpressionMatch match = i.next();</div> | ||
<div class="line"><a id="l00068" name="l00068"></a><span class="lineno"> 68</span> QString t_string = match.captured(1);</div> | ||
<div class="line"><a id="l00069" name="l00069"></a><span class="lineno"> 69</span> </div> | ||
<div class="line"><a id="l00070" name="l00070"></a><span class="lineno"> 70</span> <span class="comment">// QString t_string(str.c_str());</span></div> | ||
<div class="line"><a id="l00071" name="l00071"></a><span class="lineno"> 71</span> <span class="keywordtype">bool</span> ok; <span class="keywordtype">double</span> number(0);</div> | ||
<div class="line"><a id="l00072" name="l00072"></a><span class="lineno"> 72</span> <span class="comment">// QLocale::setDefault(QLocale(QLocale::English, QLocale::UnitedStates));</span></div> | ||
<div class="line"><a id="l00073" name="l00073"></a><span class="lineno"> 73</span> number = QString(t_string).toDouble(&ok); <span class="comment">// ok == true, d == 1234.56</span></div> | ||
<div class="line"><a id="l00074" name="l00074"></a><span class="lineno"> 74</span> <span class="comment">// if (!ok) {</span></div> | ||
<div class="line"><a id="l00075" name="l00075"></a><span class="lineno"> 75</span> <span class="comment">// QLocale locale(QLocale::German); //QLocale::Catalan</span></div> | ||
<div class="line"><a id="l00076" name="l00076"></a><span class="lineno"> 76</span> <span class="comment">// number = locale.toDouble(t_string);</span></div> | ||
<div class="line"><a id="l00077" name="l00077"></a><span class="lineno"> 77</span> <span class="comment">// }</span></div> | ||
<div class="line"><a id="l00078" name="l00078"></a><span class="lineno"> 78</span> <span class="keywordflow">return</span> number;</div> | ||
<div class="line"><a id="l00079" name="l00079"></a><span class="lineno"> 79</span> }</div> | ||
<div class="line"><a id="l00080" name="l00080"></a><span class="lineno"> 80</span> </div> | ||
<div class="line"><a id="l00091" name="l00091"></a><span class="lineno"> 91</span> <span class="keyword">inline</span> count String2integer( std::string str ) </div> | ||
<div class="line"><a id="l00092" name="l00092"></a><span class="lineno"> 92</span> {</div> | ||
<div class="line"><a id="l00093" name="l00093"></a><span class="lineno"> 93</span> QRegularExpression rx(<span class="stringliteral">"(^-?[0-9]?\\d*(\\.\\d+)?)"</span>); <span class="comment">// Filter numbers only</span></div> | ||
<div class="line"><a id="l00094" name="l00094"></a><span class="lineno"> 94</span> QRegularExpressionMatchIterator i = rx.globalMatch(QString::fromStdString(str));</div> | ||
<div class="line"><a id="l00095" name="l00095"></a><span class="lineno"> 95</span> QRegularExpressionMatch match = i.next();</div> | ||
<div class="line"><a id="l00096" name="l00096"></a><span class="lineno"> 96</span> QString t_string = match.captured(1);</div> | ||
<div class="line"><a id="l00097" name="l00097"></a><span class="lineno"> 97</span> </div> | ||
<div class="line"><a id="l00098" name="l00098"></a><span class="lineno"> 98</span> <span class="comment">// QString t_string(str.c_str());</span></div> | ||
<div class="line"><a id="l00099" name="l00099"></a><span class="lineno"> 99</span> <span class="keywordtype">bool</span> ok; count number(0);</div> | ||
<div class="line"><a id="l00100" name="l00100"></a><span class="lineno"> 100</span> number = QString(t_string).toUInt(&ok);</div> | ||
<div class="line"><a id="l00101" name="l00101"></a><span class="lineno"> 101</span> <span class="keywordflow">return</span> number;</div> | ||
<div class="line"><a id="l00102" name="l00102"></a><span class="lineno"> 102</span> }</div> | ||
<div class="line"><a id="l00103" name="l00103"></a><span class="lineno"> 103</span> </div> | ||
<div class="line"><a id="l00104" name="l00104"></a><span class="lineno"> 104</span>} <span class="comment">// namespace egoa::Types</span></div> | ||
<div class="line"><a id="l00105" name="l00105"></a><span class="lineno"> 105</span> </div> | ||
<div class="line"><a id="l00106" name="l00106"></a><span class="lineno"> 106</span><span class="preprocessor">#endif </span><span class="comment">// EGOA__AUXILIARY__TYPES_HPP</span></div> | ||
</div><!-- fragment --></div><!-- contents --> | ||
<!-- start footer part --> | ||
<hr class="footer"/><address class="footer"><small> | ||
Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.8 | ||
</small></address> | ||
</body> | ||
</html> |
Oops, something went wrong.