libsequence  1.9.5
PolySitesIO.cc
1 #include <Sequence/PolySites.hpp>
2 #include <boost/test/unit_test.hpp>
3 #include <sstream>
4 #include <fstream>
5 #include <unistd.h>
6 
7 BOOST_AUTO_TEST_SUITE(PolySitesIOTest)
8 
9 BOOST_AUTO_TEST_CASE( polysites_io )
10 {
11  std::vector<double> pos = {1,2,3,4,5};
12  std::vector<std::string> data = {"AAAAA",
13  "AAGAA",
14  "CTGAA",
15  "NAACT"};
16 
17  Sequence::PolySites ps(std::move(pos),std::move(data)),ps2;
18 
19  std::ostringstream o;
20  o << ps << '\n';
21  std::istringstream in(o.str());
22 
23  BOOST_REQUIRE_NO_THROW( in >> ps2 >> std::ws );
24 
25  BOOST_REQUIRE( ps == ps2 );
26 
27  const char * fn = "psitesio.txt";
28 
29  std::ofstream of(fn);
30  of << ps << '\n';
31  of.close();
32  std::ifstream inf(fn);
33  BOOST_REQUIRE_NO_THROW(inf >> ps2 >> std::ws);
34  BOOST_REQUIRE( ps == ps2 );
35  unlink(fn);
36 }
37 BOOST_AUTO_TEST_SUITE_END()
Polymorphism tables for sequence data.
Definition: PolySites.hpp:33
Sequence::PolySites, generates polymorphism tables from data.