           // move 1/4 of the view width to the right
           let x = colorSliderView.bounds.width / 4
           let location = CGPoint(x: x, y: 0)
+
+          recognizer.performTouch(location: .zero, translation: nil, state: .began)
           recognizer.performTouch(location: location, translation: nil, state: .changed)
 
           let expectedHue = x / (colorSliderView.bounds.width - 2 * colorSliderView.borderWidth)
 
-          expect(colorPickerVC.currentColor.h).toEventually(equal(expectedHue))
-          expect(colorSliderView.sliderX.constant).toEventually(equal(x - colorSliderView.borderWidth))
+          expect(colorPickerVC.currentColor.h).to(equal(expectedHue))
+          expect(colorSliderView.sliderX.constant).to(equal(x))
         }
       }
     }

          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)))
        }
      }
    }

          // 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)

          recognizer.performTouch(location: .zero, translation: nil, state: .began)
          recognizer.performTouch(location: location, translation: nil, state: .changed)

          expect(colorPickerVC.currentColor.b).to(equal(0.75))
          expect(colorPickerView.sliderCircleY.constant).to(equal(y - offset))
        }
      }

