mirror of
				https://github.com/catchorg/Catch2.git
				synced 2025-10-31 20:27:11 +01:00 
			
		
		
		
	Add RangeGenerator
This commit is contained in:
		 Rick de Water
					Rick de Water
				
			
				
					committed by
					
						 Martin Hořeňovský
						Martin Hořeňovský
					
				
			
			
				
	
			
			
			 Martin Hořeňovský
						Martin Hořeňovský
					
				
			
						parent
						
							bf4771a7ed
						
					
				
				
					commit
					165de9b072
				
			| @@ -33,9 +33,10 @@ Catch2's provided generator functionality consists of three parts, | ||||
|  | ||||
| * `GENERATE` macro,  that serves to integrate generator expression with | ||||
| a test case, | ||||
| * 2 fundamental generators | ||||
| * 3 fundamental generators | ||||
|   * `ValueGenerator<T>` -- contains only single element | ||||
|   * `ValuesGenerator<T>` -- contains multiple elements | ||||
|   * `RangeGenerator<T>` -- generates all values between `start` and `end` | ||||
| * 4 generic generators that modify other generators | ||||
|   * `FilterGenerator<T, Predicate>` -- filters out elements from a generator | ||||
|   for which the predicate returns "false" | ||||
| @@ -52,6 +53,8 @@ type, making their usage much nicer. These are | ||||
|  | ||||
| * `value(T&&)` for `ValueGenerator<T>` | ||||
| * `values(std::initializer_list<T>)` for `ValuesGenerator<T>` | ||||
| * `range(start, end)` for `RangeGenerator<T>` with a step size of `1`  | ||||
| * `range(start, end, step)` for `RangeGenerator<T>` with a custom step size | ||||
| * `filter(predicate, GeneratorWrapper<T>&&)` for `FilterGenerator<T, Predicate>` | ||||
| * `take(count, GeneratorWrapper<T>&&)` for `TakeGenerator<T>` | ||||
| * `repeat(repeats, GeneratorWrapper<T>&&)` for `RepeatGenerator<T>` | ||||
|   | ||||
| @@ -349,6 +349,51 @@ namespace Generators { | ||||
|         ); | ||||
|     } | ||||
|  | ||||
|     template <typename T> | ||||
|     class RangeGenerator final : public IGenerator<T> { | ||||
|         T m_current; | ||||
|         T m_end; | ||||
|         T m_step; | ||||
|         bool m_positive; | ||||
|  | ||||
|     public: | ||||
|         RangeGenerator(T const& start, T const& end, T const& step): | ||||
|             m_current(start), | ||||
|             m_end(end), | ||||
|             m_step(step), | ||||
|             m_positive(m_step > T(0)) | ||||
|         { | ||||
|             assert(m_current != m_end && "Range start and end cannot be equal"); | ||||
|             assert(m_step != T(0) && "Step size cannot be zero"); | ||||
|             assert(((m_positive && m_current <= m_end) || (!m_positive && m_current >= m_end)) && "Step moves away from end"); | ||||
|         } | ||||
|  | ||||
|         RangeGenerator(T const& start, T const& end): | ||||
|             RangeGenerator(start, end, (start < end) ? T(1) : T(-1)) | ||||
|         {} | ||||
|  | ||||
|         T const& get() const override { | ||||
|             return m_current; | ||||
|         } | ||||
|  | ||||
|         bool next() override { | ||||
|             m_current += m_step; | ||||
|             return (m_positive) ? (m_current < m_end) : (m_current > m_end); | ||||
|         } | ||||
|     }; | ||||
|  | ||||
|     template <typename T> | ||||
|     GeneratorWrapper<T> range(T const& start, T const& end, T const& step) { | ||||
|         static_assert(std::is_integral<T>::value && !std::is_same<T, bool>::value, "Type must be an integer"); | ||||
|         return GeneratorWrapper<T>(pf::make_unique<RangeGenerator<T>>(start, end, step)); | ||||
|     } | ||||
|  | ||||
|     template <typename T> | ||||
|     GeneratorWrapper<T> range(T const& start, T const& end) { | ||||
|         static_assert(std::is_integral<T>::value && !std::is_same<T, bool>::value, "Type must be an integer"); | ||||
|         return GeneratorWrapper<T>(pf::make_unique<RangeGenerator<T>>(start, end)); | ||||
|     } | ||||
|  | ||||
|     auto acquireGeneratorTracker( SourceLineInfo const& lineInfo ) -> IGeneratorTracker&; | ||||
|  | ||||
|     template<typename L> | ||||
|   | ||||
| @@ -491,6 +491,74 @@ GeneratorsImpl.tests.cpp:<line number>: passed: gen.get() == 2 for: 2 == 2 | ||||
| GeneratorsImpl.tests.cpp:<line number>: passed: gen.next() for: true | ||||
| GeneratorsImpl.tests.cpp:<line number>: passed: gen.get() == 3 for: 3 == 3 | ||||
| GeneratorsImpl.tests.cpp:<line number>: passed: !(gen.next()) for: !false | ||||
| GeneratorsImpl.tests.cpp:<line number>: passed: gen.get() == -2 for: -2 == -2 | ||||
| GeneratorsImpl.tests.cpp:<line number>: passed: gen.next() for: true | ||||
| GeneratorsImpl.tests.cpp:<line number>: passed: gen.get() == -1 for: -1 == -1 | ||||
| GeneratorsImpl.tests.cpp:<line number>: passed: gen.next() for: true | ||||
| GeneratorsImpl.tests.cpp:<line number>: passed: gen.get() == 0 for: 0 == 0 | ||||
| GeneratorsImpl.tests.cpp:<line number>: passed: gen.next() for: true | ||||
| GeneratorsImpl.tests.cpp:<line number>: passed: gen.get() == 1 for: 1 == 1 | ||||
| GeneratorsImpl.tests.cpp:<line number>: passed: !(gen.next()) for: !false | ||||
| GeneratorsImpl.tests.cpp:<line number>: passed: gen.get() == 2 for: 2 == 2 | ||||
| GeneratorsImpl.tests.cpp:<line number>: passed: gen.next() for: true | ||||
| GeneratorsImpl.tests.cpp:<line number>: passed: gen.get() == 1 for: 1 == 1 | ||||
| GeneratorsImpl.tests.cpp:<line number>: passed: gen.next() for: true | ||||
| GeneratorsImpl.tests.cpp:<line number>: passed: gen.get() == 0 for: 0 == 0 | ||||
| GeneratorsImpl.tests.cpp:<line number>: passed: gen.next() for: true | ||||
| GeneratorsImpl.tests.cpp:<line number>: passed: gen.get() == -1 for: -1 == -1 | ||||
| GeneratorsImpl.tests.cpp:<line number>: passed: !(gen.next()) for: !false | ||||
| GeneratorsImpl.tests.cpp:<line number>: passed: gen.get() == -7 for: -7 == -7 | ||||
| GeneratorsImpl.tests.cpp:<line number>: passed: gen.next() for: true | ||||
| GeneratorsImpl.tests.cpp:<line number>: passed: gen.get() == -4 for: -4 == -4 | ||||
| GeneratorsImpl.tests.cpp:<line number>: passed: gen.next() for: true | ||||
| GeneratorsImpl.tests.cpp:<line number>: passed: gen.get() == -1 for: -1 == -1 | ||||
| GeneratorsImpl.tests.cpp:<line number>: passed: gen.next() for: true | ||||
| GeneratorsImpl.tests.cpp:<line number>: passed: gen.get() == 2 for: 2 == 2 | ||||
| GeneratorsImpl.tests.cpp:<line number>: passed: !(gen.next()) for: !false | ||||
| GeneratorsImpl.tests.cpp:<line number>: passed: gen.get() == -7 for: -7 == -7 | ||||
| GeneratorsImpl.tests.cpp:<line number>: passed: gen.next() for: true | ||||
| GeneratorsImpl.tests.cpp:<line number>: passed: gen.get() == -4 for: -4 == -4 | ||||
| GeneratorsImpl.tests.cpp:<line number>: passed: gen.next() for: true | ||||
| GeneratorsImpl.tests.cpp:<line number>: passed: gen.get() == -1 for: -1 == -1 | ||||
| GeneratorsImpl.tests.cpp:<line number>: passed: gen.next() for: true | ||||
| GeneratorsImpl.tests.cpp:<line number>: passed: gen.get() == 2 for: 2 == 2 | ||||
| GeneratorsImpl.tests.cpp:<line number>: passed: !(gen.next()) for: !false | ||||
| GeneratorsImpl.tests.cpp:<line number>: passed: gen.get() == -7 for: -7 == -7 | ||||
| GeneratorsImpl.tests.cpp:<line number>: passed: gen.next() for: true | ||||
| GeneratorsImpl.tests.cpp:<line number>: passed: gen.get() == -4 for: -4 == -4 | ||||
| GeneratorsImpl.tests.cpp:<line number>: passed: gen.next() for: true | ||||
| GeneratorsImpl.tests.cpp:<line number>: passed: gen.get() == -1 for: -1 == -1 | ||||
| GeneratorsImpl.tests.cpp:<line number>: passed: gen.next() for: true | ||||
| GeneratorsImpl.tests.cpp:<line number>: passed: gen.get() == 2 for: 2 == 2 | ||||
| GeneratorsImpl.tests.cpp:<line number>: passed: gen.next() for: true | ||||
| GeneratorsImpl.tests.cpp:<line number>: passed: gen.get() == 5 for: 5 == 5 | ||||
| GeneratorsImpl.tests.cpp:<line number>: passed: !(gen.next()) for: !false | ||||
| GeneratorsImpl.tests.cpp:<line number>: passed: gen.get() == 5 for: 5 == 5 | ||||
| GeneratorsImpl.tests.cpp:<line number>: passed: gen.next() for: true | ||||
| GeneratorsImpl.tests.cpp:<line number>: passed: gen.get() == 2 for: 2 == 2 | ||||
| GeneratorsImpl.tests.cpp:<line number>: passed: gen.next() for: true | ||||
| GeneratorsImpl.tests.cpp:<line number>: passed: gen.get() == -1 for: -1 == -1 | ||||
| GeneratorsImpl.tests.cpp:<line number>: passed: gen.next() for: true | ||||
| GeneratorsImpl.tests.cpp:<line number>: passed: gen.get() == -4 for: -4 == -4 | ||||
| GeneratorsImpl.tests.cpp:<line number>: passed: !(gen.next()) for: !false | ||||
| GeneratorsImpl.tests.cpp:<line number>: passed: gen.get() == 5 for: 5 == 5 | ||||
| GeneratorsImpl.tests.cpp:<line number>: passed: gen.next() for: true | ||||
| GeneratorsImpl.tests.cpp:<line number>: passed: gen.get() == 2 for: 2 == 2 | ||||
| GeneratorsImpl.tests.cpp:<line number>: passed: gen.next() for: true | ||||
| GeneratorsImpl.tests.cpp:<line number>: passed: gen.get() == -1 for: -1 == -1 | ||||
| GeneratorsImpl.tests.cpp:<line number>: passed: gen.next() for: true | ||||
| GeneratorsImpl.tests.cpp:<line number>: passed: gen.get() == -4 for: -4 == -4 | ||||
| GeneratorsImpl.tests.cpp:<line number>: passed: !(gen.next()) for: !false | ||||
| GeneratorsImpl.tests.cpp:<line number>: passed: gen.get() == 5 for: 5 == 5 | ||||
| GeneratorsImpl.tests.cpp:<line number>: passed: gen.next() for: true | ||||
| GeneratorsImpl.tests.cpp:<line number>: passed: gen.get() == 2 for: 2 == 2 | ||||
| GeneratorsImpl.tests.cpp:<line number>: passed: gen.next() for: true | ||||
| GeneratorsImpl.tests.cpp:<line number>: passed: gen.get() == -1 for: -1 == -1 | ||||
| GeneratorsImpl.tests.cpp:<line number>: passed: gen.next() for: true | ||||
| GeneratorsImpl.tests.cpp:<line number>: passed: gen.get() == -4 for: -4 == -4 | ||||
| GeneratorsImpl.tests.cpp:<line number>: passed: gen.next() for: true | ||||
| GeneratorsImpl.tests.cpp:<line number>: passed: gen.get() == -7 for: -7 == -7 | ||||
| GeneratorsImpl.tests.cpp:<line number>: passed: !(gen.next()) for: !false | ||||
| Approx.tests.cpp:<line number>: passed: d >= Approx( 1.22 ) for: 1.23 >= Approx( 1.22 ) | ||||
| Approx.tests.cpp:<line number>: passed: d >= Approx( 1.23 ) for: 1.23 >= Approx( 1.23 ) | ||||
| Approx.tests.cpp:<line number>: passed: !(d >= Approx( 1.24 )) for: !(1.23 >= Approx( 1.24 )) | ||||
|   | ||||
| @@ -1175,5 +1175,5 @@ due to unexpected exception with message: | ||||
|  | ||||
| =============================================================================== | ||||
| test cases:  245 |  185 passed |  56 failed |  4 failed as expected | ||||
| assertions: 1297 | 1161 passed | 115 failed | 21 failed as expected | ||||
| assertions: 1365 | 1229 passed | 115 failed | 21 failed as expected | ||||
|  | ||||
|   | ||||
| @@ -3648,6 +3648,424 @@ GeneratorsImpl.tests.cpp:<line number>: PASSED: | ||||
| with expansion: | ||||
|   !false | ||||
|  | ||||
| ------------------------------------------------------------------------------- | ||||
| Generators internals | ||||
|   Range | ||||
|   Positive auto step | ||||
|   Integer | ||||
| ------------------------------------------------------------------------------- | ||||
| GeneratorsImpl.tests.cpp:<line number> | ||||
| ............................................................................... | ||||
|  | ||||
| GeneratorsImpl.tests.cpp:<line number>: PASSED: | ||||
|   REQUIRE( gen.get() == -2 ) | ||||
| with expansion: | ||||
|   -2 == -2 | ||||
|  | ||||
| GeneratorsImpl.tests.cpp:<line number>: PASSED: | ||||
|   REQUIRE( gen.next() ) | ||||
| with expansion: | ||||
|   true | ||||
|  | ||||
| GeneratorsImpl.tests.cpp:<line number>: PASSED: | ||||
|   REQUIRE( gen.get() == -1 ) | ||||
| with expansion: | ||||
|   -1 == -1 | ||||
|  | ||||
| GeneratorsImpl.tests.cpp:<line number>: PASSED: | ||||
|   REQUIRE( gen.next() ) | ||||
| with expansion: | ||||
|   true | ||||
|  | ||||
| GeneratorsImpl.tests.cpp:<line number>: PASSED: | ||||
|   REQUIRE( gen.get() == 0 ) | ||||
| with expansion: | ||||
|   0 == 0 | ||||
|  | ||||
| GeneratorsImpl.tests.cpp:<line number>: PASSED: | ||||
|   REQUIRE( gen.next() ) | ||||
| with expansion: | ||||
|   true | ||||
|  | ||||
| GeneratorsImpl.tests.cpp:<line number>: PASSED: | ||||
|   REQUIRE( gen.get() == 1 ) | ||||
| with expansion: | ||||
|   1 == 1 | ||||
|  | ||||
| GeneratorsImpl.tests.cpp:<line number>: PASSED: | ||||
|   REQUIRE_FALSE( gen.next() ) | ||||
| with expansion: | ||||
|   !false | ||||
|  | ||||
| ------------------------------------------------------------------------------- | ||||
| Generators internals | ||||
|   Range | ||||
|   Negative auto step | ||||
|   Integer | ||||
| ------------------------------------------------------------------------------- | ||||
| GeneratorsImpl.tests.cpp:<line number> | ||||
| ............................................................................... | ||||
|  | ||||
| GeneratorsImpl.tests.cpp:<line number>: PASSED: | ||||
|   REQUIRE( gen.get() == 2 ) | ||||
| with expansion: | ||||
|   2 == 2 | ||||
|  | ||||
| GeneratorsImpl.tests.cpp:<line number>: PASSED: | ||||
|   REQUIRE( gen.next() ) | ||||
| with expansion: | ||||
|   true | ||||
|  | ||||
| GeneratorsImpl.tests.cpp:<line number>: PASSED: | ||||
|   REQUIRE( gen.get() == 1 ) | ||||
| with expansion: | ||||
|   1 == 1 | ||||
|  | ||||
| GeneratorsImpl.tests.cpp:<line number>: PASSED: | ||||
|   REQUIRE( gen.next() ) | ||||
| with expansion: | ||||
|   true | ||||
|  | ||||
| GeneratorsImpl.tests.cpp:<line number>: PASSED: | ||||
|   REQUIRE( gen.get() == 0 ) | ||||
| with expansion: | ||||
|   0 == 0 | ||||
|  | ||||
| GeneratorsImpl.tests.cpp:<line number>: PASSED: | ||||
|   REQUIRE( gen.next() ) | ||||
| with expansion: | ||||
|   true | ||||
|  | ||||
| GeneratorsImpl.tests.cpp:<line number>: PASSED: | ||||
|   REQUIRE( gen.get() == -1 ) | ||||
| with expansion: | ||||
|   -1 == -1 | ||||
|  | ||||
| GeneratorsImpl.tests.cpp:<line number>: PASSED: | ||||
|   REQUIRE_FALSE( gen.next() ) | ||||
| with expansion: | ||||
|   !false | ||||
|  | ||||
| ------------------------------------------------------------------------------- | ||||
| Generators internals | ||||
|   Range | ||||
|   Positive manual step | ||||
|   Integer | ||||
|   Exact | ||||
| ------------------------------------------------------------------------------- | ||||
| GeneratorsImpl.tests.cpp:<line number> | ||||
| ............................................................................... | ||||
|  | ||||
| GeneratorsImpl.tests.cpp:<line number>: PASSED: | ||||
|   REQUIRE( gen.get() == -7 ) | ||||
| with expansion: | ||||
|   -7 == -7 | ||||
|  | ||||
| GeneratorsImpl.tests.cpp:<line number>: PASSED: | ||||
|   REQUIRE( gen.next() ) | ||||
| with expansion: | ||||
|   true | ||||
|  | ||||
| GeneratorsImpl.tests.cpp:<line number>: PASSED: | ||||
|   REQUIRE( gen.get() == -4 ) | ||||
| with expansion: | ||||
|   -4 == -4 | ||||
|  | ||||
| GeneratorsImpl.tests.cpp:<line number>: PASSED: | ||||
|   REQUIRE( gen.next() ) | ||||
| with expansion: | ||||
|   true | ||||
|  | ||||
| GeneratorsImpl.tests.cpp:<line number>: PASSED: | ||||
|   REQUIRE( gen.get() == -1 ) | ||||
| with expansion: | ||||
|   -1 == -1 | ||||
|  | ||||
| GeneratorsImpl.tests.cpp:<line number>: PASSED: | ||||
|   REQUIRE( gen.next() ) | ||||
| with expansion: | ||||
|   true | ||||
|  | ||||
| GeneratorsImpl.tests.cpp:<line number>: PASSED: | ||||
|   REQUIRE( gen.get() == 2 ) | ||||
| with expansion: | ||||
|   2 == 2 | ||||
|  | ||||
| GeneratorsImpl.tests.cpp:<line number>: PASSED: | ||||
|   REQUIRE_FALSE( gen.next() ) | ||||
| with expansion: | ||||
|   !false | ||||
|  | ||||
| ------------------------------------------------------------------------------- | ||||
| Generators internals | ||||
|   Range | ||||
|   Positive manual step | ||||
|   Integer | ||||
|   Slightly over end | ||||
| ------------------------------------------------------------------------------- | ||||
| GeneratorsImpl.tests.cpp:<line number> | ||||
| ............................................................................... | ||||
|  | ||||
| GeneratorsImpl.tests.cpp:<line number>: PASSED: | ||||
|   REQUIRE( gen.get() == -7 ) | ||||
| with expansion: | ||||
|   -7 == -7 | ||||
|  | ||||
| GeneratorsImpl.tests.cpp:<line number>: PASSED: | ||||
|   REQUIRE( gen.next() ) | ||||
| with expansion: | ||||
|   true | ||||
|  | ||||
| GeneratorsImpl.tests.cpp:<line number>: PASSED: | ||||
|   REQUIRE( gen.get() == -4 ) | ||||
| with expansion: | ||||
|   -4 == -4 | ||||
|  | ||||
| GeneratorsImpl.tests.cpp:<line number>: PASSED: | ||||
|   REQUIRE( gen.next() ) | ||||
| with expansion: | ||||
|   true | ||||
|  | ||||
| GeneratorsImpl.tests.cpp:<line number>: PASSED: | ||||
|   REQUIRE( gen.get() == -1 ) | ||||
| with expansion: | ||||
|   -1 == -1 | ||||
|  | ||||
| GeneratorsImpl.tests.cpp:<line number>: PASSED: | ||||
|   REQUIRE( gen.next() ) | ||||
| with expansion: | ||||
|   true | ||||
|  | ||||
| GeneratorsImpl.tests.cpp:<line number>: PASSED: | ||||
|   REQUIRE( gen.get() == 2 ) | ||||
| with expansion: | ||||
|   2 == 2 | ||||
|  | ||||
| GeneratorsImpl.tests.cpp:<line number>: PASSED: | ||||
|   REQUIRE_FALSE( gen.next() ) | ||||
| with expansion: | ||||
|   !false | ||||
|  | ||||
| ------------------------------------------------------------------------------- | ||||
| Generators internals | ||||
|   Range | ||||
|   Positive manual step | ||||
|   Integer | ||||
|   Slightly under end | ||||
| ------------------------------------------------------------------------------- | ||||
| GeneratorsImpl.tests.cpp:<line number> | ||||
| ............................................................................... | ||||
|  | ||||
| GeneratorsImpl.tests.cpp:<line number>: PASSED: | ||||
|   REQUIRE( gen.get() == -7 ) | ||||
| with expansion: | ||||
|   -7 == -7 | ||||
|  | ||||
| GeneratorsImpl.tests.cpp:<line number>: PASSED: | ||||
|   REQUIRE( gen.next() ) | ||||
| with expansion: | ||||
|   true | ||||
|  | ||||
| GeneratorsImpl.tests.cpp:<line number>: PASSED: | ||||
|   REQUIRE( gen.get() == -4 ) | ||||
| with expansion: | ||||
|   -4 == -4 | ||||
|  | ||||
| GeneratorsImpl.tests.cpp:<line number>: PASSED: | ||||
|   REQUIRE( gen.next() ) | ||||
| with expansion: | ||||
|   true | ||||
|  | ||||
| GeneratorsImpl.tests.cpp:<line number>: PASSED: | ||||
|   REQUIRE( gen.get() == -1 ) | ||||
| with expansion: | ||||
|   -1 == -1 | ||||
|  | ||||
| GeneratorsImpl.tests.cpp:<line number>: PASSED: | ||||
|   REQUIRE( gen.next() ) | ||||
| with expansion: | ||||
|   true | ||||
|  | ||||
| GeneratorsImpl.tests.cpp:<line number>: PASSED: | ||||
|   REQUIRE( gen.get() == 2 ) | ||||
| with expansion: | ||||
|   2 == 2 | ||||
|  | ||||
| GeneratorsImpl.tests.cpp:<line number>: PASSED: | ||||
|   REQUIRE( gen.next() ) | ||||
| with expansion: | ||||
|   true | ||||
|  | ||||
| GeneratorsImpl.tests.cpp:<line number>: PASSED: | ||||
|   REQUIRE( gen.get() == 5 ) | ||||
| with expansion: | ||||
|   5 == 5 | ||||
|  | ||||
| GeneratorsImpl.tests.cpp:<line number>: PASSED: | ||||
|   REQUIRE_FALSE( gen.next() ) | ||||
| with expansion: | ||||
|   !false | ||||
|  | ||||
| ------------------------------------------------------------------------------- | ||||
| Generators internals | ||||
|   Range | ||||
|   Negative manual step | ||||
|   Integer | ||||
|   Exact | ||||
| ------------------------------------------------------------------------------- | ||||
| GeneratorsImpl.tests.cpp:<line number> | ||||
| ............................................................................... | ||||
|  | ||||
| GeneratorsImpl.tests.cpp:<line number>: PASSED: | ||||
|   REQUIRE( gen.get() == 5 ) | ||||
| with expansion: | ||||
|   5 == 5 | ||||
|  | ||||
| GeneratorsImpl.tests.cpp:<line number>: PASSED: | ||||
|   REQUIRE( gen.next() ) | ||||
| with expansion: | ||||
|   true | ||||
|  | ||||
| GeneratorsImpl.tests.cpp:<line number>: PASSED: | ||||
|   REQUIRE( gen.get() == 2 ) | ||||
| with expansion: | ||||
|   2 == 2 | ||||
|  | ||||
| GeneratorsImpl.tests.cpp:<line number>: PASSED: | ||||
|   REQUIRE( gen.next() ) | ||||
| with expansion: | ||||
|   true | ||||
|  | ||||
| GeneratorsImpl.tests.cpp:<line number>: PASSED: | ||||
|   REQUIRE( gen.get() == -1 ) | ||||
| with expansion: | ||||
|   -1 == -1 | ||||
|  | ||||
| GeneratorsImpl.tests.cpp:<line number>: PASSED: | ||||
|   REQUIRE( gen.next() ) | ||||
| with expansion: | ||||
|   true | ||||
|  | ||||
| GeneratorsImpl.tests.cpp:<line number>: PASSED: | ||||
|   REQUIRE( gen.get() == -4 ) | ||||
| with expansion: | ||||
|   -4 == -4 | ||||
|  | ||||
| GeneratorsImpl.tests.cpp:<line number>: PASSED: | ||||
|   REQUIRE_FALSE( gen.next() ) | ||||
| with expansion: | ||||
|   !false | ||||
|  | ||||
| ------------------------------------------------------------------------------- | ||||
| Generators internals | ||||
|   Range | ||||
|   Negative manual step | ||||
|   Integer | ||||
|   Slightly over end | ||||
| ------------------------------------------------------------------------------- | ||||
| GeneratorsImpl.tests.cpp:<line number> | ||||
| ............................................................................... | ||||
|  | ||||
| GeneratorsImpl.tests.cpp:<line number>: PASSED: | ||||
|   REQUIRE( gen.get() == 5 ) | ||||
| with expansion: | ||||
|   5 == 5 | ||||
|  | ||||
| GeneratorsImpl.tests.cpp:<line number>: PASSED: | ||||
|   REQUIRE( gen.next() ) | ||||
| with expansion: | ||||
|   true | ||||
|  | ||||
| GeneratorsImpl.tests.cpp:<line number>: PASSED: | ||||
|   REQUIRE( gen.get() == 2 ) | ||||
| with expansion: | ||||
|   2 == 2 | ||||
|  | ||||
| GeneratorsImpl.tests.cpp:<line number>: PASSED: | ||||
|   REQUIRE( gen.next() ) | ||||
| with expansion: | ||||
|   true | ||||
|  | ||||
| GeneratorsImpl.tests.cpp:<line number>: PASSED: | ||||
|   REQUIRE( gen.get() == -1 ) | ||||
| with expansion: | ||||
|   -1 == -1 | ||||
|  | ||||
| GeneratorsImpl.tests.cpp:<line number>: PASSED: | ||||
|   REQUIRE( gen.next() ) | ||||
| with expansion: | ||||
|   true | ||||
|  | ||||
| GeneratorsImpl.tests.cpp:<line number>: PASSED: | ||||
|   REQUIRE( gen.get() == -4 ) | ||||
| with expansion: | ||||
|   -4 == -4 | ||||
|  | ||||
| GeneratorsImpl.tests.cpp:<line number>: PASSED: | ||||
|   REQUIRE_FALSE( gen.next() ) | ||||
| with expansion: | ||||
|   !false | ||||
|  | ||||
| ------------------------------------------------------------------------------- | ||||
| Generators internals | ||||
|   Range | ||||
|   Negative manual step | ||||
|   Integer | ||||
|   Slightly under end | ||||
| ------------------------------------------------------------------------------- | ||||
| GeneratorsImpl.tests.cpp:<line number> | ||||
| ............................................................................... | ||||
|  | ||||
| GeneratorsImpl.tests.cpp:<line number>: PASSED: | ||||
|   REQUIRE( gen.get() == 5 ) | ||||
| with expansion: | ||||
|   5 == 5 | ||||
|  | ||||
| GeneratorsImpl.tests.cpp:<line number>: PASSED: | ||||
|   REQUIRE( gen.next() ) | ||||
| with expansion: | ||||
|   true | ||||
|  | ||||
| GeneratorsImpl.tests.cpp:<line number>: PASSED: | ||||
|   REQUIRE( gen.get() == 2 ) | ||||
| with expansion: | ||||
|   2 == 2 | ||||
|  | ||||
| GeneratorsImpl.tests.cpp:<line number>: PASSED: | ||||
|   REQUIRE( gen.next() ) | ||||
| with expansion: | ||||
|   true | ||||
|  | ||||
| GeneratorsImpl.tests.cpp:<line number>: PASSED: | ||||
|   REQUIRE( gen.get() == -1 ) | ||||
| with expansion: | ||||
|   -1 == -1 | ||||
|  | ||||
| GeneratorsImpl.tests.cpp:<line number>: PASSED: | ||||
|   REQUIRE( gen.next() ) | ||||
| with expansion: | ||||
|   true | ||||
|  | ||||
| GeneratorsImpl.tests.cpp:<line number>: PASSED: | ||||
|   REQUIRE( gen.get() == -4 ) | ||||
| with expansion: | ||||
|   -4 == -4 | ||||
|  | ||||
| GeneratorsImpl.tests.cpp:<line number>: PASSED: | ||||
|   REQUIRE( gen.next() ) | ||||
| with expansion: | ||||
|   true | ||||
|  | ||||
| GeneratorsImpl.tests.cpp:<line number>: PASSED: | ||||
|   REQUIRE( gen.get() == -7 ) | ||||
| with expansion: | ||||
|   -7 == -7 | ||||
|  | ||||
| GeneratorsImpl.tests.cpp:<line number>: PASSED: | ||||
|   REQUIRE_FALSE( gen.next() ) | ||||
| with expansion: | ||||
|   !false | ||||
|  | ||||
| ------------------------------------------------------------------------------- | ||||
| Greater-than inequalities with different epsilons | ||||
| ------------------------------------------------------------------------------- | ||||
| @@ -10156,5 +10574,5 @@ Misc.tests.cpp:<line number>: PASSED: | ||||
|  | ||||
| =============================================================================== | ||||
| test cases:  245 |  172 passed |  69 failed |  4 failed as expected | ||||
| assertions: 1311 | 1161 passed | 129 failed | 21 failed as expected | ||||
| assertions: 1379 | 1229 passed | 129 failed | 21 failed as expected | ||||
|  | ||||
|   | ||||
| @@ -4,7 +4,7 @@ | ||||
|     <property name="random-seed" value="1"/> | ||||
|   </properties> | ||||
| loose text artifact | ||||
|   <testsuite name="<exe-name>" errors="17" failures="113" tests="1312" hostname="tbd" time="{duration}" timestamp="{iso8601-timestamp}"> | ||||
|   <testsuite name="<exe-name>" errors="17" failures="113" tests="1380" hostname="tbd" time="{duration}" timestamp="{iso8601-timestamp}"> | ||||
|     <testcase classname="<exe-name>.global" name="# A test name that starts with a #" time="{duration}"/> | ||||
|     <testcase classname="<exe-name>.global" name="#1005: Comparing pointer to int and long (NULL can be either on various systems)" time="{duration}"/> | ||||
|     <testcase classname="<exe-name>.global" name="#1027" time="{duration}"/> | ||||
| @@ -359,6 +359,14 @@ Message.tests.cpp:<line number> | ||||
|     <testcase classname="<exe-name>.global" name="Generators internals/Map" time="{duration}"/> | ||||
|     <testcase classname="<exe-name>.global" name="Generators internals/Repeat/Singular repeat" time="{duration}"/> | ||||
|     <testcase classname="<exe-name>.global" name="Generators internals/Repeat/Actual repeat" time="{duration}"/> | ||||
|     <testcase classname="<exe-name>.global" name="Generators internals/Range/Positive auto step/Integer" time="{duration}"/> | ||||
|     <testcase classname="<exe-name>.global" name="Generators internals/Range/Negative auto step/Integer" time="{duration}"/> | ||||
|     <testcase classname="<exe-name>.global" name="Generators internals/Range/Positive manual step/Integer/Exact" time="{duration}"/> | ||||
|     <testcase classname="<exe-name>.global" name="Generators internals/Range/Positive manual step/Integer/Slightly over end" time="{duration}"/> | ||||
|     <testcase classname="<exe-name>.global" name="Generators internals/Range/Positive manual step/Integer/Slightly under end" time="{duration}"/> | ||||
|     <testcase classname="<exe-name>.global" name="Generators internals/Range/Negative manual step/Integer/Exact" time="{duration}"/> | ||||
|     <testcase classname="<exe-name>.global" name="Generators internals/Range/Negative manual step/Integer/Slightly over end" time="{duration}"/> | ||||
|     <testcase classname="<exe-name>.global" name="Generators internals/Range/Negative manual step/Integer/Slightly under end" time="{duration}"/> | ||||
|     <testcase classname="<exe-name>.global" name="Greater-than inequalities with different epsilons" time="{duration}"/> | ||||
|     <testcase classname="<exe-name>.global" name="INFO and WARN do not abort tests" time="{duration}"/> | ||||
|     <testcase classname="<exe-name>.global" name="INFO gets logged on failure" time="{duration}"> | ||||
|   | ||||
| @@ -4449,6 +4449,640 @@ | ||||
|         </Section> | ||||
|         <OverallResults successes="12" failures="0" expectedFailures="0"/> | ||||
|       </Section> | ||||
|       <Section name="Range" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > | ||||
|         <Section name="Positive auto step" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > | ||||
|           <Section name="Integer" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > | ||||
|             <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > | ||||
|               <Original> | ||||
|                 gen.get() == -2 | ||||
|               </Original> | ||||
|               <Expanded> | ||||
|                 -2 == -2 | ||||
|               </Expanded> | ||||
|             </Expression> | ||||
|             <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > | ||||
|               <Original> | ||||
|                 gen.next() | ||||
|               </Original> | ||||
|               <Expanded> | ||||
|                 true | ||||
|               </Expanded> | ||||
|             </Expression> | ||||
|             <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > | ||||
|               <Original> | ||||
|                 gen.get() == -1 | ||||
|               </Original> | ||||
|               <Expanded> | ||||
|                 -1 == -1 | ||||
|               </Expanded> | ||||
|             </Expression> | ||||
|             <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > | ||||
|               <Original> | ||||
|                 gen.next() | ||||
|               </Original> | ||||
|               <Expanded> | ||||
|                 true | ||||
|               </Expanded> | ||||
|             </Expression> | ||||
|             <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > | ||||
|               <Original> | ||||
|                 gen.get() == 0 | ||||
|               </Original> | ||||
|               <Expanded> | ||||
|                 0 == 0 | ||||
|               </Expanded> | ||||
|             </Expression> | ||||
|             <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > | ||||
|               <Original> | ||||
|                 gen.next() | ||||
|               </Original> | ||||
|               <Expanded> | ||||
|                 true | ||||
|               </Expanded> | ||||
|             </Expression> | ||||
|             <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > | ||||
|               <Original> | ||||
|                 gen.get() == 1 | ||||
|               </Original> | ||||
|               <Expanded> | ||||
|                 1 == 1 | ||||
|               </Expanded> | ||||
|             </Expression> | ||||
|             <Expression success="true" type="REQUIRE_FALSE" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > | ||||
|               <Original> | ||||
|                 !(gen.next()) | ||||
|               </Original> | ||||
|               <Expanded> | ||||
|                 !false | ||||
|               </Expanded> | ||||
|             </Expression> | ||||
|             <OverallResults successes="8" failures="0" expectedFailures="0"/> | ||||
|           </Section> | ||||
|           <OverallResults successes="8" failures="0" expectedFailures="0"/> | ||||
|         </Section> | ||||
|         <OverallResults successes="8" failures="0" expectedFailures="0"/> | ||||
|       </Section> | ||||
|       <Section name="Range" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > | ||||
|         <Section name="Negative auto step" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > | ||||
|           <Section name="Integer" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > | ||||
|             <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > | ||||
|               <Original> | ||||
|                 gen.get() == 2 | ||||
|               </Original> | ||||
|               <Expanded> | ||||
|                 2 == 2 | ||||
|               </Expanded> | ||||
|             </Expression> | ||||
|             <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > | ||||
|               <Original> | ||||
|                 gen.next() | ||||
|               </Original> | ||||
|               <Expanded> | ||||
|                 true | ||||
|               </Expanded> | ||||
|             </Expression> | ||||
|             <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > | ||||
|               <Original> | ||||
|                 gen.get() == 1 | ||||
|               </Original> | ||||
|               <Expanded> | ||||
|                 1 == 1 | ||||
|               </Expanded> | ||||
|             </Expression> | ||||
|             <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > | ||||
|               <Original> | ||||
|                 gen.next() | ||||
|               </Original> | ||||
|               <Expanded> | ||||
|                 true | ||||
|               </Expanded> | ||||
|             </Expression> | ||||
|             <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > | ||||
|               <Original> | ||||
|                 gen.get() == 0 | ||||
|               </Original> | ||||
|               <Expanded> | ||||
|                 0 == 0 | ||||
|               </Expanded> | ||||
|             </Expression> | ||||
|             <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > | ||||
|               <Original> | ||||
|                 gen.next() | ||||
|               </Original> | ||||
|               <Expanded> | ||||
|                 true | ||||
|               </Expanded> | ||||
|             </Expression> | ||||
|             <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > | ||||
|               <Original> | ||||
|                 gen.get() == -1 | ||||
|               </Original> | ||||
|               <Expanded> | ||||
|                 -1 == -1 | ||||
|               </Expanded> | ||||
|             </Expression> | ||||
|             <Expression success="true" type="REQUIRE_FALSE" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > | ||||
|               <Original> | ||||
|                 !(gen.next()) | ||||
|               </Original> | ||||
|               <Expanded> | ||||
|                 !false | ||||
|               </Expanded> | ||||
|             </Expression> | ||||
|             <OverallResults successes="8" failures="0" expectedFailures="0"/> | ||||
|           </Section> | ||||
|           <OverallResults successes="8" failures="0" expectedFailures="0"/> | ||||
|         </Section> | ||||
|         <OverallResults successes="8" failures="0" expectedFailures="0"/> | ||||
|       </Section> | ||||
|       <Section name="Range" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > | ||||
|         <Section name="Positive manual step" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > | ||||
|           <Section name="Integer" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > | ||||
|             <Section name="Exact" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > | ||||
|               <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > | ||||
|                 <Original> | ||||
|                   gen.get() == -7 | ||||
|                 </Original> | ||||
|                 <Expanded> | ||||
|                   -7 == -7 | ||||
|                 </Expanded> | ||||
|               </Expression> | ||||
|               <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > | ||||
|                 <Original> | ||||
|                   gen.next() | ||||
|                 </Original> | ||||
|                 <Expanded> | ||||
|                   true | ||||
|                 </Expanded> | ||||
|               </Expression> | ||||
|               <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > | ||||
|                 <Original> | ||||
|                   gen.get() == -4 | ||||
|                 </Original> | ||||
|                 <Expanded> | ||||
|                   -4 == -4 | ||||
|                 </Expanded> | ||||
|               </Expression> | ||||
|               <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > | ||||
|                 <Original> | ||||
|                   gen.next() | ||||
|                 </Original> | ||||
|                 <Expanded> | ||||
|                   true | ||||
|                 </Expanded> | ||||
|               </Expression> | ||||
|               <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > | ||||
|                 <Original> | ||||
|                   gen.get() == -1 | ||||
|                 </Original> | ||||
|                 <Expanded> | ||||
|                   -1 == -1 | ||||
|                 </Expanded> | ||||
|               </Expression> | ||||
|               <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > | ||||
|                 <Original> | ||||
|                   gen.next() | ||||
|                 </Original> | ||||
|                 <Expanded> | ||||
|                   true | ||||
|                 </Expanded> | ||||
|               </Expression> | ||||
|               <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > | ||||
|                 <Original> | ||||
|                   gen.get() == 2 | ||||
|                 </Original> | ||||
|                 <Expanded> | ||||
|                   2 == 2 | ||||
|                 </Expanded> | ||||
|               </Expression> | ||||
|               <Expression success="true" type="REQUIRE_FALSE" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > | ||||
|                 <Original> | ||||
|                   !(gen.next()) | ||||
|                 </Original> | ||||
|                 <Expanded> | ||||
|                   !false | ||||
|                 </Expanded> | ||||
|               </Expression> | ||||
|               <OverallResults successes="8" failures="0" expectedFailures="0"/> | ||||
|             </Section> | ||||
|             <OverallResults successes="8" failures="0" expectedFailures="0"/> | ||||
|           </Section> | ||||
|           <OverallResults successes="8" failures="0" expectedFailures="0"/> | ||||
|         </Section> | ||||
|         <OverallResults successes="8" failures="0" expectedFailures="0"/> | ||||
|       </Section> | ||||
|       <Section name="Range" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > | ||||
|         <Section name="Positive manual step" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > | ||||
|           <Section name="Integer" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > | ||||
|             <Section name="Slightly over end" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > | ||||
|               <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > | ||||
|                 <Original> | ||||
|                   gen.get() == -7 | ||||
|                 </Original> | ||||
|                 <Expanded> | ||||
|                   -7 == -7 | ||||
|                 </Expanded> | ||||
|               </Expression> | ||||
|               <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > | ||||
|                 <Original> | ||||
|                   gen.next() | ||||
|                 </Original> | ||||
|                 <Expanded> | ||||
|                   true | ||||
|                 </Expanded> | ||||
|               </Expression> | ||||
|               <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > | ||||
|                 <Original> | ||||
|                   gen.get() == -4 | ||||
|                 </Original> | ||||
|                 <Expanded> | ||||
|                   -4 == -4 | ||||
|                 </Expanded> | ||||
|               </Expression> | ||||
|               <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > | ||||
|                 <Original> | ||||
|                   gen.next() | ||||
|                 </Original> | ||||
|                 <Expanded> | ||||
|                   true | ||||
|                 </Expanded> | ||||
|               </Expression> | ||||
|               <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > | ||||
|                 <Original> | ||||
|                   gen.get() == -1 | ||||
|                 </Original> | ||||
|                 <Expanded> | ||||
|                   -1 == -1 | ||||
|                 </Expanded> | ||||
|               </Expression> | ||||
|               <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > | ||||
|                 <Original> | ||||
|                   gen.next() | ||||
|                 </Original> | ||||
|                 <Expanded> | ||||
|                   true | ||||
|                 </Expanded> | ||||
|               </Expression> | ||||
|               <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > | ||||
|                 <Original> | ||||
|                   gen.get() == 2 | ||||
|                 </Original> | ||||
|                 <Expanded> | ||||
|                   2 == 2 | ||||
|                 </Expanded> | ||||
|               </Expression> | ||||
|               <Expression success="true" type="REQUIRE_FALSE" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > | ||||
|                 <Original> | ||||
|                   !(gen.next()) | ||||
|                 </Original> | ||||
|                 <Expanded> | ||||
|                   !false | ||||
|                 </Expanded> | ||||
|               </Expression> | ||||
|               <OverallResults successes="8" failures="0" expectedFailures="0"/> | ||||
|             </Section> | ||||
|             <OverallResults successes="8" failures="0" expectedFailures="0"/> | ||||
|           </Section> | ||||
|           <OverallResults successes="8" failures="0" expectedFailures="0"/> | ||||
|         </Section> | ||||
|         <OverallResults successes="8" failures="0" expectedFailures="0"/> | ||||
|       </Section> | ||||
|       <Section name="Range" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > | ||||
|         <Section name="Positive manual step" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > | ||||
|           <Section name="Integer" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > | ||||
|             <Section name="Slightly under end" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > | ||||
|               <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > | ||||
|                 <Original> | ||||
|                   gen.get() == -7 | ||||
|                 </Original> | ||||
|                 <Expanded> | ||||
|                   -7 == -7 | ||||
|                 </Expanded> | ||||
|               </Expression> | ||||
|               <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > | ||||
|                 <Original> | ||||
|                   gen.next() | ||||
|                 </Original> | ||||
|                 <Expanded> | ||||
|                   true | ||||
|                 </Expanded> | ||||
|               </Expression> | ||||
|               <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > | ||||
|                 <Original> | ||||
|                   gen.get() == -4 | ||||
|                 </Original> | ||||
|                 <Expanded> | ||||
|                   -4 == -4 | ||||
|                 </Expanded> | ||||
|               </Expression> | ||||
|               <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > | ||||
|                 <Original> | ||||
|                   gen.next() | ||||
|                 </Original> | ||||
|                 <Expanded> | ||||
|                   true | ||||
|                 </Expanded> | ||||
|               </Expression> | ||||
|               <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > | ||||
|                 <Original> | ||||
|                   gen.get() == -1 | ||||
|                 </Original> | ||||
|                 <Expanded> | ||||
|                   -1 == -1 | ||||
|                 </Expanded> | ||||
|               </Expression> | ||||
|               <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > | ||||
|                 <Original> | ||||
|                   gen.next() | ||||
|                 </Original> | ||||
|                 <Expanded> | ||||
|                   true | ||||
|                 </Expanded> | ||||
|               </Expression> | ||||
|               <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > | ||||
|                 <Original> | ||||
|                   gen.get() == 2 | ||||
|                 </Original> | ||||
|                 <Expanded> | ||||
|                   2 == 2 | ||||
|                 </Expanded> | ||||
|               </Expression> | ||||
|               <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > | ||||
|                 <Original> | ||||
|                   gen.next() | ||||
|                 </Original> | ||||
|                 <Expanded> | ||||
|                   true | ||||
|                 </Expanded> | ||||
|               </Expression> | ||||
|               <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > | ||||
|                 <Original> | ||||
|                   gen.get() == 5 | ||||
|                 </Original> | ||||
|                 <Expanded> | ||||
|                   5 == 5 | ||||
|                 </Expanded> | ||||
|               </Expression> | ||||
|               <Expression success="true" type="REQUIRE_FALSE" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > | ||||
|                 <Original> | ||||
|                   !(gen.next()) | ||||
|                 </Original> | ||||
|                 <Expanded> | ||||
|                   !false | ||||
|                 </Expanded> | ||||
|               </Expression> | ||||
|               <OverallResults successes="10" failures="0" expectedFailures="0"/> | ||||
|             </Section> | ||||
|             <OverallResults successes="10" failures="0" expectedFailures="0"/> | ||||
|           </Section> | ||||
|           <OverallResults successes="10" failures="0" expectedFailures="0"/> | ||||
|         </Section> | ||||
|         <OverallResults successes="10" failures="0" expectedFailures="0"/> | ||||
|       </Section> | ||||
|       <Section name="Range" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > | ||||
|         <Section name="Negative manual step" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > | ||||
|           <Section name="Integer" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > | ||||
|             <Section name="Exact" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > | ||||
|               <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > | ||||
|                 <Original> | ||||
|                   gen.get() == 5 | ||||
|                 </Original> | ||||
|                 <Expanded> | ||||
|                   5 == 5 | ||||
|                 </Expanded> | ||||
|               </Expression> | ||||
|               <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > | ||||
|                 <Original> | ||||
|                   gen.next() | ||||
|                 </Original> | ||||
|                 <Expanded> | ||||
|                   true | ||||
|                 </Expanded> | ||||
|               </Expression> | ||||
|               <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > | ||||
|                 <Original> | ||||
|                   gen.get() == 2 | ||||
|                 </Original> | ||||
|                 <Expanded> | ||||
|                   2 == 2 | ||||
|                 </Expanded> | ||||
|               </Expression> | ||||
|               <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > | ||||
|                 <Original> | ||||
|                   gen.next() | ||||
|                 </Original> | ||||
|                 <Expanded> | ||||
|                   true | ||||
|                 </Expanded> | ||||
|               </Expression> | ||||
|               <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > | ||||
|                 <Original> | ||||
|                   gen.get() == -1 | ||||
|                 </Original> | ||||
|                 <Expanded> | ||||
|                   -1 == -1 | ||||
|                 </Expanded> | ||||
|               </Expression> | ||||
|               <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > | ||||
|                 <Original> | ||||
|                   gen.next() | ||||
|                 </Original> | ||||
|                 <Expanded> | ||||
|                   true | ||||
|                 </Expanded> | ||||
|               </Expression> | ||||
|               <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > | ||||
|                 <Original> | ||||
|                   gen.get() == -4 | ||||
|                 </Original> | ||||
|                 <Expanded> | ||||
|                   -4 == -4 | ||||
|                 </Expanded> | ||||
|               </Expression> | ||||
|               <Expression success="true" type="REQUIRE_FALSE" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > | ||||
|                 <Original> | ||||
|                   !(gen.next()) | ||||
|                 </Original> | ||||
|                 <Expanded> | ||||
|                   !false | ||||
|                 </Expanded> | ||||
|               </Expression> | ||||
|               <OverallResults successes="8" failures="0" expectedFailures="0"/> | ||||
|             </Section> | ||||
|             <OverallResults successes="8" failures="0" expectedFailures="0"/> | ||||
|           </Section> | ||||
|           <OverallResults successes="8" failures="0" expectedFailures="0"/> | ||||
|         </Section> | ||||
|         <OverallResults successes="8" failures="0" expectedFailures="0"/> | ||||
|       </Section> | ||||
|       <Section name="Range" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > | ||||
|         <Section name="Negative manual step" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > | ||||
|           <Section name="Integer" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > | ||||
|             <Section name="Slightly over end" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > | ||||
|               <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > | ||||
|                 <Original> | ||||
|                   gen.get() == 5 | ||||
|                 </Original> | ||||
|                 <Expanded> | ||||
|                   5 == 5 | ||||
|                 </Expanded> | ||||
|               </Expression> | ||||
|               <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > | ||||
|                 <Original> | ||||
|                   gen.next() | ||||
|                 </Original> | ||||
|                 <Expanded> | ||||
|                   true | ||||
|                 </Expanded> | ||||
|               </Expression> | ||||
|               <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > | ||||
|                 <Original> | ||||
|                   gen.get() == 2 | ||||
|                 </Original> | ||||
|                 <Expanded> | ||||
|                   2 == 2 | ||||
|                 </Expanded> | ||||
|               </Expression> | ||||
|               <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > | ||||
|                 <Original> | ||||
|                   gen.next() | ||||
|                 </Original> | ||||
|                 <Expanded> | ||||
|                   true | ||||
|                 </Expanded> | ||||
|               </Expression> | ||||
|               <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > | ||||
|                 <Original> | ||||
|                   gen.get() == -1 | ||||
|                 </Original> | ||||
|                 <Expanded> | ||||
|                   -1 == -1 | ||||
|                 </Expanded> | ||||
|               </Expression> | ||||
|               <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > | ||||
|                 <Original> | ||||
|                   gen.next() | ||||
|                 </Original> | ||||
|                 <Expanded> | ||||
|                   true | ||||
|                 </Expanded> | ||||
|               </Expression> | ||||
|               <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > | ||||
|                 <Original> | ||||
|                   gen.get() == -4 | ||||
|                 </Original> | ||||
|                 <Expanded> | ||||
|                   -4 == -4 | ||||
|                 </Expanded> | ||||
|               </Expression> | ||||
|               <Expression success="true" type="REQUIRE_FALSE" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > | ||||
|                 <Original> | ||||
|                   !(gen.next()) | ||||
|                 </Original> | ||||
|                 <Expanded> | ||||
|                   !false | ||||
|                 </Expanded> | ||||
|               </Expression> | ||||
|               <OverallResults successes="8" failures="0" expectedFailures="0"/> | ||||
|             </Section> | ||||
|             <OverallResults successes="8" failures="0" expectedFailures="0"/> | ||||
|           </Section> | ||||
|           <OverallResults successes="8" failures="0" expectedFailures="0"/> | ||||
|         </Section> | ||||
|         <OverallResults successes="8" failures="0" expectedFailures="0"/> | ||||
|       </Section> | ||||
|       <Section name="Range" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > | ||||
|         <Section name="Negative manual step" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > | ||||
|           <Section name="Integer" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > | ||||
|             <Section name="Slightly under end" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > | ||||
|               <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > | ||||
|                 <Original> | ||||
|                   gen.get() == 5 | ||||
|                 </Original> | ||||
|                 <Expanded> | ||||
|                   5 == 5 | ||||
|                 </Expanded> | ||||
|               </Expression> | ||||
|               <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > | ||||
|                 <Original> | ||||
|                   gen.next() | ||||
|                 </Original> | ||||
|                 <Expanded> | ||||
|                   true | ||||
|                 </Expanded> | ||||
|               </Expression> | ||||
|               <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > | ||||
|                 <Original> | ||||
|                   gen.get() == 2 | ||||
|                 </Original> | ||||
|                 <Expanded> | ||||
|                   2 == 2 | ||||
|                 </Expanded> | ||||
|               </Expression> | ||||
|               <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > | ||||
|                 <Original> | ||||
|                   gen.next() | ||||
|                 </Original> | ||||
|                 <Expanded> | ||||
|                   true | ||||
|                 </Expanded> | ||||
|               </Expression> | ||||
|               <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > | ||||
|                 <Original> | ||||
|                   gen.get() == -1 | ||||
|                 </Original> | ||||
|                 <Expanded> | ||||
|                   -1 == -1 | ||||
|                 </Expanded> | ||||
|               </Expression> | ||||
|               <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > | ||||
|                 <Original> | ||||
|                   gen.next() | ||||
|                 </Original> | ||||
|                 <Expanded> | ||||
|                   true | ||||
|                 </Expanded> | ||||
|               </Expression> | ||||
|               <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > | ||||
|                 <Original> | ||||
|                   gen.get() == -4 | ||||
|                 </Original> | ||||
|                 <Expanded> | ||||
|                   -4 == -4 | ||||
|                 </Expanded> | ||||
|               </Expression> | ||||
|               <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > | ||||
|                 <Original> | ||||
|                   gen.next() | ||||
|                 </Original> | ||||
|                 <Expanded> | ||||
|                   true | ||||
|                 </Expanded> | ||||
|               </Expression> | ||||
|               <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > | ||||
|                 <Original> | ||||
|                   gen.get() == -7 | ||||
|                 </Original> | ||||
|                 <Expanded> | ||||
|                   -7 == -7 | ||||
|                 </Expanded> | ||||
|               </Expression> | ||||
|               <Expression success="true" type="REQUIRE_FALSE" filename="projects/<exe-name>/IntrospectiveTests/GeneratorsImpl.tests.cpp" > | ||||
|                 <Original> | ||||
|                   !(gen.next()) | ||||
|                 </Original> | ||||
|                 <Expanded> | ||||
|                   !false | ||||
|                 </Expanded> | ||||
|               </Expression> | ||||
|               <OverallResults successes="10" failures="0" expectedFailures="0"/> | ||||
|             </Section> | ||||
|             <OverallResults successes="10" failures="0" expectedFailures="0"/> | ||||
|           </Section> | ||||
|           <OverallResults successes="10" failures="0" expectedFailures="0"/> | ||||
|         </Section> | ||||
|         <OverallResults successes="10" failures="0" expectedFailures="0"/> | ||||
|       </Section> | ||||
|       <OverallResult success="true"/> | ||||
|     </TestCase> | ||||
|     <TestCase name="Greater-than inequalities with different epsilons" tags="[Approx]" filename="projects/<exe-name>/UsageTests/Approx.tests.cpp" > | ||||
| @@ -12151,7 +12785,7 @@ loose text artifact | ||||
|       </Section> | ||||
|       <OverallResult success="true"/> | ||||
|     </TestCase> | ||||
|     <OverallResults successes="1161" failures="130" expectedFailures="21"/> | ||||
|     <OverallResults successes="1229" failures="130" expectedFailures="21"/> | ||||
|   </Group> | ||||
|   <OverallResults successes="1161" failures="129" expectedFailures="21"/> | ||||
|   <OverallResults successes="1229" failures="129" expectedFailures="21"/> | ||||
| </Catch> | ||||
|   | ||||
| @@ -99,5 +99,111 @@ TEST_CASE("Generators internals", "[generators][internals]") { | ||||
|             REQUIRE_FALSE(gen.next()); | ||||
|         } | ||||
|     } | ||||
|     SECTION("Range") { | ||||
|         SECTION("Positive auto step") { | ||||
|             SECTION("Integer") { | ||||
|                 auto gen = range(-2, 2); | ||||
|                 REQUIRE(gen.get() == -2); | ||||
|                 REQUIRE(gen.next()); | ||||
|                 REQUIRE(gen.get() == -1); | ||||
|                 REQUIRE(gen.next()); | ||||
|                 REQUIRE(gen.get() == 0); | ||||
|                 REQUIRE(gen.next()); | ||||
|                 REQUIRE(gen.get() == 1); | ||||
|                 REQUIRE_FALSE(gen.next()); | ||||
|             } | ||||
|         } | ||||
|         SECTION("Negative auto step") { | ||||
|             SECTION("Integer") { | ||||
|                 auto gen = range(2, -2); | ||||
|                 REQUIRE(gen.get() == 2); | ||||
|                 REQUIRE(gen.next()); | ||||
|                 REQUIRE(gen.get() == 1); | ||||
|                 REQUIRE(gen.next()); | ||||
|                 REQUIRE(gen.get() == 0); | ||||
|                 REQUIRE(gen.next()); | ||||
|                 REQUIRE(gen.get() == -1); | ||||
|                 REQUIRE_FALSE(gen.next()); | ||||
|             } | ||||
|         } | ||||
|         SECTION("Positive manual step") { | ||||
|             SECTION("Integer") { | ||||
|                 SECTION("Exact") { | ||||
|                     auto gen = range(-7, 5, 3); | ||||
|                     REQUIRE(gen.get() == -7); | ||||
|                     REQUIRE(gen.next()); | ||||
|                     REQUIRE(gen.get() == -4); | ||||
|                     REQUIRE(gen.next()); | ||||
|                     REQUIRE(gen.get() == -1); | ||||
|                     REQUIRE(gen.next()); | ||||
|                     REQUIRE(gen.get() == 2); | ||||
|                     REQUIRE_FALSE(gen.next()); | ||||
|                 } | ||||
|                 SECTION("Slightly over end") { | ||||
|                     auto gen = range(-7, 4, 3); | ||||
|                     REQUIRE(gen.get() == -7); | ||||
|                     REQUIRE(gen.next()); | ||||
|                     REQUIRE(gen.get() == -4); | ||||
|                     REQUIRE(gen.next()); | ||||
|                     REQUIRE(gen.get() == -1); | ||||
|                     REQUIRE(gen.next()); | ||||
|                     REQUIRE(gen.get() == 2); | ||||
|                     REQUIRE_FALSE(gen.next()); | ||||
|                 } | ||||
|                 SECTION("Slightly under end") { | ||||
|                     auto gen = range(-7, 6, 3); | ||||
|                     REQUIRE(gen.get() == -7); | ||||
|                     REQUIRE(gen.next()); | ||||
|                     REQUIRE(gen.get() == -4); | ||||
|                     REQUIRE(gen.next()); | ||||
|                     REQUIRE(gen.get() == -1); | ||||
|                     REQUIRE(gen.next()); | ||||
|                     REQUIRE(gen.get() == 2); | ||||
|                     REQUIRE(gen.next()); | ||||
|                     REQUIRE(gen.get() == 5); | ||||
|                     REQUIRE_FALSE(gen.next()); | ||||
|                 } | ||||
|             } | ||||
|         } | ||||
|         SECTION("Negative manual step") { | ||||
|             SECTION("Integer") { | ||||
|                 SECTION("Exact") { | ||||
|                     auto gen = range(5, -7, -3); | ||||
|                     REQUIRE(gen.get() == 5); | ||||
|                     REQUIRE(gen.next()); | ||||
|                     REQUIRE(gen.get() == 2); | ||||
|                     REQUIRE(gen.next()); | ||||
|                     REQUIRE(gen.get() == -1); | ||||
|                     REQUIRE(gen.next()); | ||||
|                     REQUIRE(gen.get() == -4); | ||||
|                     REQUIRE_FALSE(gen.next()); | ||||
|                 } | ||||
|                 SECTION("Slightly over end") { | ||||
|                     auto gen = range(5, -6, -3); | ||||
|                     REQUIRE(gen.get() == 5); | ||||
|                     REQUIRE(gen.next()); | ||||
|                     REQUIRE(gen.get() == 2); | ||||
|                     REQUIRE(gen.next()); | ||||
|                     REQUIRE(gen.get() == -1); | ||||
|                     REQUIRE(gen.next()); | ||||
|                     REQUIRE(gen.get() == -4); | ||||
|                     REQUIRE_FALSE(gen.next()); | ||||
|                 } | ||||
|                 SECTION("Slightly under end") { | ||||
|                     auto gen = range(5, -8, -3); | ||||
|                     REQUIRE(gen.get() == 5); | ||||
|                     REQUIRE(gen.next()); | ||||
|                     REQUIRE(gen.get() == 2); | ||||
|                     REQUIRE(gen.next()); | ||||
|                     REQUIRE(gen.get() == -1); | ||||
|                     REQUIRE(gen.next()); | ||||
|                     REQUIRE(gen.get() == -4); | ||||
|                     REQUIRE(gen.next()); | ||||
|                     REQUIRE(gen.get() == -7); | ||||
|                     REQUIRE_FALSE(gen.next()); | ||||
|                 } | ||||
|             } | ||||
|         } | ||||
|     } | ||||
|  | ||||
| } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user