             next(822, 2),
             completed(902)]
 
-		let res = scheduler.start(0, subscribed: 0, disposed: 1000) {
-			self.sampleValues.asObservable().repeatWithBehavior(.delayed(maxCount: 3, time: 1.0), scheduler: self.scheduler) { _ in
-				true
-			}
+        let res = scheduler.start(created: 0, subscribed: 0, disposed: 1000) {
+            self.sampleValues
+                .asObservable()
+                .repeatWithBehavior(.delayed(maxCount: 3, time: 1.0), scheduler: self.scheduler, shouldRepeat: self.predicateTrue)
 		}
 		
 		XCTAssertEqual(res.events, correctValues)

            next(220, 2),
            completed(300)]

		let res = scheduler.start(0, subscribed: 0, disposed: 1000) {
			self.sampleValues.asObservable().repeatWithBehavior(.exponentialDelayed(maxCount: 3, initial: 2.0, multiplier: 2.0), scheduler: self.scheduler) { _ in
				false
			}
		}
		
		XCTAssertEqual(res.events, correctValues)
	}

    func testExponentialNotRepeatWithPredicateWithError() {
		let res = scheduler.start(0, subscribed: 0, disposed: 1000) {
            self.sampleValuesWithError.asObservable().repeatWithBehavior(.exponentialDelayed(maxCount: 3, initial: 2.0, multiplier: 2.0), scheduler: self.scheduler) { _ in
                false
            }
        }
        XCTAssertEqual(res.events, erroredCorrectValues)
    }

    //MARK: exponential delay repeats

	func testExponentialRepeatWithoutPredicate() {
		let res = scheduler.start(created: 0, subscribed: 0, disposed: 1000) {
			self.sampleValues.asObservable().repeatWithBehavior(.exponentialDelayed(maxCount: 3, initial: 2.0, multiplier: 2.0), scheduler: self.scheduler)
		}
		XCTAssertEqual(res.events, exponentialCorrectValues)
	}

	func testExponentialRepeatWithPredicate() {
		let res = scheduler.start(created: 0, subscribed: 0, disposed: 1000) {
			self.sampleValues
                .asObservable()
                .repeatWithBehavior(.exponentialDelayed(maxCount: 3, initial: 2.0, multiplier: 2.0), scheduler: self.scheduler, shouldRepeat: self.predicateTrue)
		}
		XCTAssertEqual(res.events, exponentialCorrectValues)
	}
