           // move 1/4 of the view height downward
           let y = colorPickerView.bounds.height / 4
           let offset = colorPickerView.visibilityOffset
+          let location = CGPoint(x: 0, y: y)
 
-          let location = CGPoint(x: 0, y: y)
+          recognizer.performTouch(location: .zero, translation: nil, state: .began)
           recognizer.performTouch(location: location, translation: nil, state: .changed)
 
-          expect(colorPickerVC.currentColor.b).toEventually(equal(0.75))
-          expect(colorPickerView.sliderCircleY.constant).toEventually(equal(y - offset))
+          expect(colorPickerVC.currentColor.b).to(equal(0.75))
+          expect(colorPickerView.sliderCircleY.constant).to(equal(y - offset))
         }
       }
 

          recognizer.performTouch(location: colorPickerView.center, translation: nil, state: .began)
          recognizer.performTouch(location: nil, translation: nil, state: .ended)

          expect(colorPickerView.sliderCircle.transform).toEventually(equal(CGAffineTransform.identity))
          expect(colorPickerView.sliderCircle.backgroundColor).toEventually(equal(UIColor.white.withAlphaComponent(0.6)))
        }
      }
    }


      context("when the gesture begins") {
        it("sets the correct saturation and brightness values") {
          recognizer.performTouch(location: .zero, translation: nil, state: .began)
          recognizer.performTouch(location: colorPickerView.center, translation: nil, state: .changed)

          expect(colorPickerVC.currentColor.s).to(equal(0.5))
