op_less.pass.cpp revision c52f43e72dfcea03037729649da84c23b3beb04a
1//===----------------------------------------------------------------------===// 2// 3// The LLVM Compiler Infrastructure 4// 5// This file is distributed under the University of Illinois Open Source 6// License. See LICENSE.TXT for details. 7// 8//===----------------------------------------------------------------------===// 9 10// <chrono> 11 12// duration 13 14// template <class Rep1, class Period1, class Rep2, class Period2> 15// bool 16// operator< (const duration<Rep1, Period1>& lhs, const duration<Rep2, Period2>& rhs); 17 18// template <class Rep1, class Period1, class Rep2, class Period2> 19// bool 20// operator> (const duration<Rep1, Period1>& lhs, const duration<Rep2, Period2>& rhs); 21 22// template <class Rep1, class Period1, class Rep2, class Period2> 23// bool 24// operator<=(const duration<Rep1, Period1>& lhs, const duration<Rep2, Period2>& rhs); 25 26// template <class Rep1, class Period1, class Rep2, class Period2> 27// bool 28// operator>=(const duration<Rep1, Period1>& lhs, const duration<Rep2, Period2>& rhs); 29 30#include <chrono> 31#include <cassert> 32 33int main() 34{ 35 { 36 std::chrono::seconds s1(3); 37 std::chrono::seconds s2(3); 38 assert(!(s1 < s2)); 39 assert(!(s1 > s2)); 40 assert( (s1 <= s2)); 41 assert( (s1 >= s2)); 42 } 43 { 44 std::chrono::seconds s1(3); 45 std::chrono::seconds s2(4); 46 assert( (s1 < s2)); 47 assert(!(s1 > s2)); 48 assert( (s1 <= s2)); 49 assert(!(s1 >= s2)); 50 } 51 { 52 std::chrono::milliseconds s1(3); 53 std::chrono::microseconds s2(3000); 54 assert(!(s1 < s2)); 55 assert(!(s1 > s2)); 56 assert( (s1 <= s2)); 57 assert( (s1 >= s2)); 58 } 59 { 60 std::chrono::milliseconds s1(3); 61 std::chrono::microseconds s2(4000); 62 assert( (s1 < s2)); 63 assert(!(s1 > s2)); 64 assert( (s1 <= s2)); 65 assert(!(s1 >= s2)); 66 } 67 { 68 std::chrono::duration<int, std::ratio<2, 3> > s1(9); 69 std::chrono::duration<int, std::ratio<3, 5> > s2(10); 70 assert(!(s1 < s2)); 71 assert(!(s1 > s2)); 72 assert( (s1 <= s2)); 73 assert( (s1 >= s2)); 74 } 75 { 76 std::chrono::duration<int, std::ratio<2, 3> > s1(10); 77 std::chrono::duration<int, std::ratio<3, 5> > s2(9); 78 assert(!(s1 < s2)); 79 assert( (s1 > s2)); 80 assert(!(s1 <= s2)); 81 assert( (s1 >= s2)); 82 } 83 { 84 std::chrono::duration<int, std::ratio<2, 3> > s1(9); 85 std::chrono::duration<double, std::ratio<3, 5> > s2(10); 86 assert(!(s1 < s2)); 87 assert(!(s1 > s2)); 88 assert( (s1 <= s2)); 89 assert( (s1 >= s2)); 90 } 91} 92