source: cppstreams/test_common.h @ 2

Last change on this file since 2 was 2, checked in by gobi, 13 years ago

import

File size: 1.0 KB
Line 
1#ifndef __TEST_COMMON_H__
2#define __TEST_COMMON_H__
3
4
5template<typename T>
6void prints(const stream<T> &s, size_t n=10)
7{
8    typename stream<T>::iterator it=s.begin();
9    for(size_t i=1; i<n; ++i) 
10    {
11        std::cout<<*it<<" ";
12        ++it;
13    }
14    std::cout<<std::endl;
15}
16
17template<typename T>
18void stress(const stream<T> &s)
19{
20    clock_t t1,t2;
21    t1=clock();
22    typename stream<T>::iterator it=s.begin();
23    for(int i=1; i<10000; ++i) {
24        *it;
25        ++it;
26    }
27    t2=clock();
28    std::cout<<(double(t2)-double(t1))/CLOCKS_PER_SEC<<std::endl;
29}
30
31template<typename T>
32void compare(const stream<T> &s, const std::initializer_list<T> &a, int pass=3)
33{
34
35    typename stream<T>::iterator sit = s.begin();
36    for(int i=0; i<pass; ++i)
37    {
38        typename std::initializer_list<T>::iterator ait = a.begin();
39
40        while(ait != a.end())
41        {
42            assert(*ait==*sit);
43            std::cout<<*ait<<" ";
44            ++ait; ++sit;
45        }
46    }
47    std::cout<<std::endl;
48}
49
50#endif//__TEST_COMMON_H__
Note: See TracBrowser for help on using the repository browser.