| // <copyright file="ActionBuilderTest.cs" company="Selenium Committers"> |
| // Licensed to the Software Freedom Conservancy (SFC) under one |
| // or more contributor license agreements. See the NOTICE file |
| // distributed with this work for additional information |
| // regarding copyright ownership. The SFC licenses this file |
| // to you under the Apache License, Version 2.0 (the |
| // "License"); you may not use this file except in compliance |
| // with the License. You may obtain a copy of the License at |
| // |
| // http://www.apache.org/licenses/LICENSE-2.0 |
| // |
| // Unless required by applicable law or agreed to in writing, |
| // software distributed under the License is distributed on an |
| // "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| // KIND, either express or implied. See the License for the |
| // specific language governing permissions and limitations |
| // under the License. |
| // </copyright> |
| |
| using NUnit.Framework; |
| using System; |
| using System.Collections.Generic; |
| |
| namespace OpenQA.Selenium.Interactions; |
| |
| [TestFixture] |
| public class ActionBuilderTest |
| { |
| [Test] |
| public void OutputsPointerEventsToDictionary() |
| { |
| ActionBuilder actionBuilder = new ActionBuilder(); |
| |
| var pointerInputDevice = new PointerInputDevice(PointerKind.Pen); |
| var properties = new PointerInputDevice.PointerEventProperties() |
| { |
| Width = 10, |
| Height = 11, |
| Pressure = 0.5, |
| TangentialPressure = 0.1, |
| TiltX = 15, |
| TiltY = 15, |
| Twist = 30, |
| AltitudeAngle = 0.1, |
| AzimuthAngle = 0.1 |
| }; |
| |
| var action = pointerInputDevice.CreatePointerDown(MouseButton.Left, properties); |
| actionBuilder.AddAction(action); |
| var sequence = actionBuilder.ToActionSequenceList(); |
| |
| var dictionary = sequence[0].ToDictionary(); |
| Console.WriteLine(dictionary); |
| Assert.That(dictionary, Does.ContainKey("type").WithValue("pointer")); |
| Assert.That(dictionary["id"], Is.Not.Null); |
| Assert.That(dictionary["parameters"], Is.Not.Null); |
| |
| var parameters = new Dictionary<string, object> { { "pointerType", "pen" } }; |
| Assert.That(dictionary["parameters"], Is.EquivalentTo(parameters)); |
| |
| var events = new Dictionary<string, object> |
| { |
| {"width", 10}, |
| {"height", 11}, |
| {"pressure", 0.5}, |
| {"tangentialPressure", 0.1}, |
| {"tiltX", 15}, |
| {"tiltY", 15}, |
| {"twist", 30}, |
| {"altitudeAngle", 0.1}, |
| {"azimuthAngle", 0.1}, |
| {"type", "pointerDown"}, |
| {"button", 0} |
| }; |
| var actions = (IList<object>)dictionary["actions"]; |
| Assert.That(actions[0], Is.EquivalentTo(events)); |
| } |
| } |