Changeset 649 for trunk/test


Ignore:
Timestamp:
Jun 8, 2008, 4:46:28 AM (13 years ago)
Author:
Peter Johansson
Message:

fixes #313

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/test/stats_test.cc

    r634 r649  
    3838#include <numeric>
    3939#include <string>
     40#include <sstream>
    4041#include <vector>
    4142
     
    5051  bool test_classic(void);
    5152  bool test_base_class(const Stats&);
     53  bool test_cache(const Stats&);
    5254 
    5355}} // end of namespace svndigest and theplu
     
    110112
    111113 
     114  bool test_cache(const Stats& stats)
     115  {
     116    std::stringstream out;
     117    stats.print(out);
     118    std::stringstream in(out.str());
     119    ClassicStats stats2(path());
     120    assert(in.good());
     121    if (!stats2.load_cache(in)){
     122      std::cout << "load_cache() failed\n";
     123      return false;
     124    }
     125
     126    std::stringstream out2;
     127    stats2.print(out2);
     128   
     129    if (out.str()!=out2.str()) {
     130      std::cout << "test_cache() failed\n";
     131      return false;
     132    }
     133    return true;
     134  }
     135
     136
    112137  bool test_classic(void)
    113138  {
     
    181206  bool test_base_class(const Stats& s)
    182207  {
     208    if (!test_cache(s))
     209      return false;
    183210    if (s.code()+s.comments()+s.empty()!=s.lines()){
    184211      std::cerr << "Code plus comments plus empty do not add up to lines\n";
Note: See TracChangeset for help on using the changeset viewer.