blob: a022b94e0d1b2131954ac64c84bcb4bf0c4ecfa3 [file] [log] [blame] [edit]
// <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));
}
}