ca67a3e6b69dc6c666aa8cff4e411bfa1a2c8e8b
[platform/core/csapi/tizenfx.git] / test / Tizen.NUI.Tests / Tizen.NUI.Devel.Tests / testcase / public / BaseComponents / TSViewAccessibility.cs
1 using global::System;
2 using NUnit.Framework;
3 using NUnit.Framework.TUnit;
4 using Tizen.NUI.Components;
5 using Tizen.NUI.BaseComponents;
6 using System.Collections.Generic;
7
8
9 namespace Tizen.NUI.Devel.Tests
10 {
11     using tlog = Tizen.Log;
12
13     [TestFixture]
14     [Description("public/BaseComponents/ViewAccessibility")]
15     public class PublicViewAccessibilityTest
16     {
17         private const string tag = "NUITEST";
18         private string url = Tizen.Applications.Application.Current.DirectoryInfo.Resource + "/picture.png";
19         private string lottiePath = Tizen.Applications.Application.Current.DirectoryInfo.Resource + "/lottie.json";
20
21         internal class MyAddressCollection : AddressCollection
22         {
23             public MyAddressCollection(IntPtr collection) : base(collection)
24             { }
25
26             public void OnReleaseHandle()
27             {
28                 base.ReleaseHandle();
29             }
30         }
31
32         [SetUp]
33         public void Init()
34         {
35             tlog.Info(tag, "Init() is called!");
36         }
37
38         [TearDown]
39         public void Destroy()
40         {
41             tlog.Info(tag, "Destroy() is called!");
42         }
43
44         [Test]
45         [Category("P1")]
46         [Description("ViewAccessibility.Address constructor.")]
47         [Property("SPEC", "Tizen.NUI.ViewAccessibility.Address.Address C")]
48         [Property("SPEC_URL", "-")]
49         [Property("CRITERIA", "CONSTR")]
50         [Property("AUTHOR", "guowei.wang@samsung.com")]
51         public void ViewAccessibilityAddressConstructor()
52         {
53             tlog.Debug(tag, $"ViewAccessibilityAddressConstructor START");
54
55             var testingTarget = new Address("ViewAccessibility", lottiePath);
56             Assert.IsNotNull(testingTarget, "Can't create success object Address");
57             Assert.IsInstanceOf<Address>(testingTarget, "Should be an instance of Address type.");
58
59             tlog.Debug(tag, $"ViewAccessibilityAddressConstructor END (OK)");
60         }
61
62         [Test]
63         [Category("P1")]
64         [Description("ViewAccessibility.AddressCollection constructor.")]
65         [Property("SPEC", "Tizen.NUI.ViewAccessibility.AddressCollection.Address C")]
66         [Property("SPEC_URL", "-")]
67         [Property("CRITERIA", "CONSTR")]
68         [Property("AUTHOR", "guowei.wang@samsung.com")]
69         public void ViewAccessibilityAddressCollectionConstructor()
70         {
71             tlog.Debug(tag, $"ViewAccessibilityAddressCollectionConstructor START");
72
73             using (View view = new ImageView())
74             {
75                 var testingTarget = new AddressCollection(Interop.ControlDevel.DaliToolkitDevelControlNewGetAccessibilityRelations(view.SwigCPtr));
76                 Assert.IsNotNull(testingTarget, "Can't create success object AddressCollection");
77                 Assert.IsInstanceOf<AddressCollection>(testingTarget, "Should be an instance of AddressCollection type.");
78             }
79
80             tlog.Debug(tag, $"ViewAccessibilityAddressCollectionConstructor END (OK)");
81         }
82
83         [Test]
84         [Category("P1")]
85         [Description("ViewAccessibility.AddressCollection IsInvalid.")]
86         [Property("SPEC", "Tizen.NUI.ViewAccessibility.AddressCollection.IsInvalid A")]
87         [Property("SPEC_URL", "-")]
88         [Property("CRITERIA", "PRO")]
89         [Property("AUTHOR", "guowei.wang@samsung.com")]
90         public void ViewAccessibilityAddressCollectionIsInvalid()
91         {
92             tlog.Debug(tag, $"ViewAccessibilityAddressCollectionIsInvalid START");
93
94             using (View view = new ImageView())
95             {
96                 var testingTarget = new AddressCollection(Interop.ControlDevel.DaliToolkitDevelControlNewGetAccessibilityRelations(view.SwigCPtr));
97                 Assert.IsNotNull(testingTarget, "Can't create success object AddressCollection");
98                 Assert.IsInstanceOf<AddressCollection>(testingTarget, "Should be an instance of AddressCollection type.");
99
100                 Assert.IsFalse(testingTarget.IsInvalid);
101             }
102
103             tlog.Debug(tag, $"ViewAccessibilityAddressCollectionIsInvalid END (OK)");
104         }
105
106         [Test]
107         [Category("P1")]
108         [Description("ViewAccessibility.AddressCollection GetRelationSize.")]
109         [Property("SPEC", "Tizen.NUI.ViewAccessibility.AddressCollection.GetRelationSize M")]
110         [Property("SPEC_URL", "-")]
111         [Property("CRITERIA", "MR")]
112         [Property("AUTHOR", "guowei.wang@samsung.com")]
113         public void ViewAccessibilityAddressCollectionGetRelationSize()
114         {
115             tlog.Debug(tag, $"ViewAccessibilityAddressCollectionGetRelationSize START");
116
117             using (View view = new ImageView())
118             {
119                 var testingTarget = new AddressCollection(Interop.ControlDevel.DaliToolkitDevelControlNewGetAccessibilityRelations(view.SwigCPtr));
120                 Assert.IsNotNull(testingTarget, "Can't create success object AddressCollection");
121                 Assert.IsInstanceOf<AddressCollection>(testingTarget, "Should be an instance of AddressCollection type.");
122
123                 try
124                 {
125                     testingTarget.GetRelationSize(AccessibilityRelationType.DetailsFor);
126                 }
127                 catch (Exception e)
128                 {
129                     tlog.Debug(tag, e.Message.ToString());
130                     Assert.Fail("Caught Exception: Failed!");
131                 }
132             }
133
134             tlog.Debug(tag, $"ViewAccessibilityAddressCollectionGetRelationSize END (OK)");
135         }
136
137         [Test]
138         [Category("P1")]
139         [Description("ViewAccessibility.AddressCollection GetAddressAt.")]
140         [Property("SPEC", "Tizen.NUI.ViewAccessibility.AddressCollection.GetAddressAt M")]
141         [Property("SPEC_URL", "-")]
142         [Property("CRITERIA", "MR")]
143         [Property("AUTHOR", "guowei.wang@samsung.com")]
144         public void ViewAccessibilityAddressCollectionGetAddressAt()
145         {
146             tlog.Debug(tag, $"ViewAccessibilityAddressCollectionGetAddressAt START");
147
148             using (View view = new ImageView())
149             {
150                 var testingTarget = new AddressCollection(Interop.ControlDevel.DaliToolkitDevelControlNewGetAccessibilityRelations(view.SwigCPtr));
151                 Assert.IsNotNull(testingTarget, "Can't create success object AddressCollection");
152                 Assert.IsInstanceOf<AddressCollection>(testingTarget, "Should be an instance of AddressCollection type.");
153
154                 try
155                 {
156                     var result = testingTarget.GetAddressAt(AccessibilityRelationType.Details, 19);
157                     Assert.IsNotNull(result, "Can't create success object Address");
158                     Assert.IsInstanceOf<Address>(result, "Should be an instance of Address type.");
159                 }
160                 catch (Exception e)
161                 {
162                     tlog.Debug(tag, e.Message.ToString());
163                     Assert.Fail("Caught Exception: Failed!");
164                 }
165             }
166
167             tlog.Debug(tag, $"ViewAccessibilityAddressCollectionGetAddressAt END (OK)");
168         }
169
170         [Test]
171         [Category("P1")]
172         [Description("ViewAccessibility.AddressCollection ReleaseHandle.")]
173         [Property("SPEC", "Tizen.NUI.ViewAccessibility.AddressCollection.ReleaseHandle M")]
174         [Property("SPEC_URL", "-")]
175         [Property("CRITERIA", "MR")]
176         [Property("AUTHOR", "guowei.wang@samsung.com")]
177         public void ViewAccessibilityAddressCollectionReleaseHandle()
178         {
179             tlog.Debug(tag, $"ViewAccessibilityAddressCollectionReleaseHandle START");
180
181             using (View view = new ImageView())
182             {
183                 var testingTarget = new MyAddressCollection(Interop.ControlDevel.DaliToolkitDevelControlNewGetAccessibilityRelations(view.SwigCPtr));
184                 Assert.IsNotNull(testingTarget, "Can't create success object AddressCollection");
185                 Assert.IsInstanceOf<AddressCollection>(testingTarget, "Should be an instance of AddressCollection type.");
186
187                 try
188                 {
189                     testingTarget.OnReleaseHandle();
190                 }
191                 catch (Exception e)
192                 {
193                     tlog.Debug(tag, e.Message.ToString());
194                     Assert.Fail("Caught Exception: Failed!");
195                 }
196             }
197
198             tlog.Debug(tag, $"ViewAccessibilityAddressCollectionReleaseHandle END (OK)");
199         }
200
201         [Test]
202         [Category("P1")]
203         [Description("ViewAccessibility.AccessibilityRange StartOffset.")]
204         [Property("SPEC", "Tizen.NUI.ViewAccessibility.AccessibilityRange.StartOffset A")]
205         [Property("SPEC_URL", "-")]
206         [Property("CRITERIA", "PRO")]
207         [Property("AUTHOR", "guowei.wang@samsung.com")]
208         public void ViewAccessibilityAccessibilityRangeStartOffset()
209         {
210             tlog.Debug(tag, $"ViewAccessibilityAccessibilityRangeStartOffset START");
211
212             var testingTarget = new AccessibilityRange();
213             Assert.IsNotNull(testingTarget, "Can't create success object AccessibilityRange");
214             Assert.IsInstanceOf<AccessibilityRange>(testingTarget, "Should be an instance of AccessibilityRange type.");
215                 
216             testingTarget.StartOffset = 10;
217             Assert.AreEqual(10, testingTarget.StartOffset, "Should be equal!");
218
219             tlog.Debug(tag, $"ViewAccessibilityAccessibilityRangeStartOffset END (OK)");
220         }
221
222         [Test]
223         [Category("P1")]
224         [Description("ViewAccessibility.AccessibilityRange EndOffset.")]
225         [Property("SPEC", "Tizen.NUI.ViewAccessibility.AccessibilityRange.EndOffset A")]
226         [Property("SPEC_URL", "-")]
227         [Property("CRITERIA", "PRO")]
228         [Property("AUTHOR", "guowei.wang@samsung.com")]
229         public void ViewAccessibilityAccessibilityRangeEndOffset()
230         {
231             tlog.Debug(tag, $"ViewAccessibilityAccessibilityRangeEndOffset START");
232
233             var testingTarget = new AccessibilityRange();
234             Assert.IsNotNull(testingTarget, "Can't create success object AccessibilityRange");
235             Assert.IsInstanceOf<AccessibilityRange>(testingTarget, "Should be an instance of AccessibilityRange type.");
236
237             testingTarget.EndOffset = 30;
238             Assert.AreEqual(30, testingTarget.EndOffset, "Should be equal!");
239
240             tlog.Debug(tag, $"ViewAccessibilityAccessibilityRangeEndOffset END (OK)");
241         }
242
243         [Test]
244         [Category("P1")]
245         [Description("ViewAccessibility.AccessibilityRange Content.")]
246         [Property("SPEC", "Tizen.NUI.ViewAccessibility.AccessibilityRange.Content A")]
247         [Property("SPEC_URL", "-")]
248         [Property("CRITERIA", "PRO")]
249         [Property("AUTHOR", "guowei.wang@samsung.com")]
250         public void ViewAccessibilityAccessibilityRangeContent()
251         {
252             tlog.Debug(tag, $"ViewAccessibilityAccessibilityRangeContent START");
253
254             var testingTarget = new AccessibilityRange();
255             Assert.IsNotNull(testingTarget, "Can't create success object AccessibilityRange");
256             Assert.IsInstanceOf<AccessibilityRange>(testingTarget, "Should be an instance of AccessibilityRange type.");
257
258             testingTarget.Content = "TextLabel";
259             Assert.AreEqual("TextLabel", testingTarget.Content, "Should be equal!");
260
261             tlog.Debug(tag, $"ViewAccessibilityAccessibilityRangeContent END (OK)");
262         }
263
264         [Test]
265         [Category("P1")]
266         [Description("ViewAccessibility.View.RemoveAccessibilityAttribute.")]
267         [Property("SPEC", "Tizen.NUI.ViewAccessibility.View.RemoveAccessibilityAttribute A")]
268         [Property("SPEC_URL", "-")]
269         [Property("CRITERIA", "PRO")]
270         [Property("AUTHOR", "guowei.wang@samsung.com")]
271         public void ViewAccessibilityViewRemoveAccessibilityAttribute()
272         {
273             tlog.Debug(tag, $"ViewAccessibilityViewRemoveAccessibilityAttribute START");
274
275             var testingTarget = new View();
276             Assert.IsNotNull(testingTarget, "Can't create success object View");
277             Assert.IsInstanceOf<View>(testingTarget, "Should be an instance of View type.");
278
279             testingTarget.AppendAccessibilityAttribute("MyView", "test");
280
281             try
282             {
283                 testingTarget.RemoveAccessibilityAttribute("MyView");
284             }
285             catch (Exception e)
286             {
287                 tlog.Debug(tag, e.Message.ToString());
288                 Assert.Fail("Caught Exception: Failed!");
289             }
290
291             tlog.Debug(tag, $"ViewAccessibilityViewRemoveAccessibilityAttribute END (OK)");
292         }
293
294         [Test]
295         [Category("P1")]
296         [Description("ViewAccessibility.View.ClearAccessibilityAttributes.")]
297         [Property("SPEC", "Tizen.NUI.ViewAccessibility.View.ClearAccessibilityAttributes A")]
298         [Property("SPEC_URL", "-")]
299         [Property("CRITERIA", "PRO")]
300         [Property("AUTHOR", "guowei.wang@samsung.com")]
301         public void ViewAccessibilityViewClearAccessibilityAttributes()
302         {
303             tlog.Debug(tag, $"ViewAccessibilityViewClearAccessibilityAttributes START");
304
305             var testingTarget = new View();
306             Assert.IsNotNull(testingTarget, "Can't create success object View");
307             Assert.IsInstanceOf<View>(testingTarget, "Should be an instance of View type.");
308
309             testingTarget.AppendAccessibilityAttribute("MyView", "test");
310
311             try
312             {
313                 testingTarget.ClearAccessibilityAttributes();
314             }
315             catch (Exception e)
316             {
317                 tlog.Debug(tag, e.Message.ToString());
318                 Assert.Fail("Caught Exception: Failed!");
319             }
320
321             tlog.Debug(tag, $"ViewAccessibilityViewClearAccessibilityAttributes END (OK)");
322         }
323     }
324 }