public void ShouldNotRecognizeInvalidTouchpoints() { // Arrange var samplesInvalid = new List <List <Point2D> > { new List <Point2D> { new Point2D(303, 152), new Point2D(379, 577), new Point2D(368, 171), new Point2D(368, 285) }, new List <Point2D> { new Point2D(1473, 235), new Point2D(1417, 328), new Point2D(1563, 340), new Point2D(1624, 263) } }; // System Under Test var api = new TouchcodeAPI(); // Act + Assert foreach (var sample in samplesInvalid) { Assert.AreEqual(Touchcode.None, api.Check(sample)); } }
public void ShouldGetReferenceSystemRotated135Degrees() { // Arrange var touchpoints = new List <Point2D> { new Point2D(0, 0), new Point2D(0, 3), new Point2D(3, 3), new Point2D(1, 2), new Point2D(1, 1) }; // Arrange var origin = touchpoints[1]; var expectedVx = touchpoints[0] - origin; var expectedVy = touchpoints[2] - origin; // System Under Test var api = new TouchcodeAPI(); // Act var referenceSystem = api.ExtractReferenceSystemFrom(touchpoints); // Assert Assert.AreEqual(origin, referenceSystem.Origin); Assert.AreEqual(expectedVx, referenceSystem.Vx); Assert.AreEqual(expectedVy, referenceSystem.Vy); }
public void ShouldRecognizeTouchcode0x10() { // System Under Test var api = new TouchcodeAPI(); // Act + Assert foreach (var sample in _samples0x10) { Assert.AreEqual(0x10, api.Check(sample).Value); } }
public MainWindow() { InitializeComponent(); _touchcodeAPI = new TouchcodeAPI(); _currentTouchcode = Touchcode.None; _canvas = CreateTouchcodeVisualization(); canvas.Children.Add(_canvas); Redraw(); }
public void ShouldReturnDefaultTouchcodeForNull() { // Arrange List <Point2D> touchpoints = null; // System Under Test var api = new TouchcodeAPI(); // Act var touchcode = api.Check(touchpoints); // Assert Assert.AreEqual(touchcode, Touchcode.None); }
public void ShouldRecongizeEmptyTouchcode() { // Arrange var touchpoints = new List <Point2D>(); var referenceSystem = new ReferenceSystem(new Point2D(0, 0), new Vector2D(3, 0), new Vector2D(0, 3)); // System Under Test var api = new TouchcodeAPI(); // Act var touchcode = referenceSystem.MapPointsToTouchcode(touchpoints).Value; // Assert Assert.AreEqual(touchcode, 0); }
public void ShouldRecognizeTouchcode0x001() { // Arrange List <Point2D> points = new List <Point2D> { new Point2D(306, 501), new Point2D(300, 647), new Point2D(445, 660), new Point2D(362, 507) }; // System Under Test var api = new TouchcodeAPI(); // Act var touchcode = api.Check(points); // Assert Assert.AreEqual(0x001, touchcode.Value); }
public void ShouldMirrorCoordinatesAlongXAxis(double xBefore, double yBefore, double xAfter, double yAfter) { // Arrange int maxY = 1080; var touchpoints = new List <Point2D> { new Point2D(xBefore, yBefore) }; // System Under Test var api = new TouchcodeAPI(); // Act var mirroredPoints = api.MirrorX(touchpoints, maxY); // Assert Assert.AreEqual(mirroredPoints[0].X, xAfter); Assert.AreEqual(mirroredPoints[0].Y, yAfter); }
public void ShouldGetReferenceSystemForSamples0x10() { // System Under Test var api = new TouchcodeAPI(); foreach (var sample in _samples0x10) { // Arrange var origin = sample[3]; var expectedVx = sample[1] - origin; var expectedVy = sample[0] - origin; // Act var referenceSystem = api.ExtractReferenceSystemFrom(sample); // Assert Assert.AreEqual(origin, referenceSystem.Origin); Assert.AreEqual(expectedVx, referenceSystem.Vx); Assert.AreEqual(expectedVy, referenceSystem.Vy); } }
public void ShouldGetReferenceSystemSimple() { // Arrange var touchpoints = new List <Point2D> { new Point2D(0, 0), new Point2D(3, 0), new Point2D(0, 3), new Point2D(1, 1), new Point2D(2, 2), }; // System Under Test var api = new TouchcodeAPI(); // Act var referenceSystem = api.ExtractReferenceSystemFrom(touchpoints); // Assert Assert.AreEqual(touchpoints[0], referenceSystem.Origin); Assert.AreEqual(touchpoints[1].ToVector2D(), referenceSystem.Vx); Assert.AreEqual(touchpoints[2].ToVector2D(), referenceSystem.Vy); }
public void ShouldReturnDefaultTouchcodeForLessThanThreeTouchpoints() { // Arrange List <Point2D> touchpoints = new List <Point2D>(); // System Under Test var api = new TouchcodeAPI(); // Act var touchcode = api.Check(touchpoints); // Assert Assert.AreEqual(touchcode, Touchcode.None); touchpoints.Add(new Point2D(0, 0)); touchcode = api.Check(touchpoints); Assert.AreEqual(touchcode, Touchcode.None); touchpoints.Add(new Point2D(0, 0)); touchcode = api.Check(touchpoints); Assert.AreEqual(touchcode, Touchcode.None); }