1 using NUnit.Framework;
2 using NUnit.Framework.TUnit;
5 using Tizen.NUI.BaseComponents;
7 namespace Tizen.NUI.Devel.Tests
9 using tlog = Tizen.Log;
12 [Description("public/Input/FocusManager")]
13 internal class PublicFocusManagerTest
15 private const string tag = "NUITEST";
20 tlog.Info(tag, "Init() is called!");
26 tlog.Info(tag, "Destroy() is called!");
31 [Description("Create a FocusManager object.")]
32 [Property("SPEC", "Tizen.NUI.FocusManager.FocusManager C")]
33 [Property("SPEC_URL", "-")]
34 [Property("CRITERIA", "CONSTR")]
35 [Property("COVPARAM", "")]
36 [Property("AUTHOR", "guowei.wang@samsung.com")]
37 public void FocusManagerConstructor()
39 tlog.Debug(tag, $"FocusManagerConstructor START");
41 var testingTarget = new FocusManager();
42 Assert.IsNotNull(testingTarget, "Can't create success object PixelData");
43 Assert.IsInstanceOf<FocusManager>(testingTarget, "Should be an instance of FocusManager type.");
45 testingTarget.Dispose();
46 tlog.Debug(tag, $"FocusManagerConstructor END (OK)");
51 [Description("FocusManager PreFocusChange")]
52 [Property("SPEC", "Tizen.NUI.FocusManager.PreFocusChange A")]
53 [Property("SPEC_URL", "-")]
54 [Property("CRITERIA", "PRW")]
55 [Property("AUTHOR", "guowei.wang@samsung.com")]
57 public void FocusManagerPreFocusChange()
59 tlog.Debug(tag, $"FocusManagerPreFocusChange START");
61 var testingTarget = FocusManager.Instance;
62 Assert.IsNotNull(testingTarget, "Can't create success object PixelData");
63 Assert.IsInstanceOf<FocusManager>(testingTarget, "Should be an instance of FocusManager type.");
65 testingTarget.PreFocusChange += OnPreFocusChange;
66 testingTarget.PreFocusChange -= OnPreFocusChange;
68 object o1 = new object();
69 FocusManager.PreFocusChangeEventArgs e = new FocusManager.PreFocusChangeEventArgs();
70 OnPreFocusChange(o1, e);
72 tlog.Debug(tag, $"FocusManagerPreFocusChange END (OK)");
76 private View OnPreFocusChange(object o, FocusManager.PreFocusChangeEventArgs e)
78 View v1 = e.CurrentView;
81 View v2 = e.ProposedView;
84 View.FocusDirection b1 = e.Direction;
92 [Description("FocusManager FocusChanging")]
93 [Property("SPEC", "Tizen.NUI.FocusManager.FocusChanging A")]
94 [Property("SPEC_URL", "-")]
95 [Property("CRITERIA", "PRW")]
96 [Property("AUTHOR", "guowei.wang@samsung.com")]
97 public void FocusManagerFocusChanging()
99 tlog.Debug(tag, $"FocusManagerFocusChanging START");
101 var testingTarget = FocusManager.Instance;
102 Assert.IsNotNull(testingTarget, "Can't create success object PixelData");
103 Assert.IsInstanceOf<FocusManager>(testingTarget, "Should be an instance of FocusManager type.");
107 testingTarget.FocusChanging += OnFocusChanging;
108 testingTarget.FocusChanging -= OnFocusChanging;
112 tlog.Debug(tag, e.Message.ToString());
113 Assert.Fail("Caught Exception: Failed!");
116 tlog.Debug(tag, $"FocusManagerFocusChanging END (OK)");
119 public void OnFocusChanging(object sender, FocusChangingEventArgs e) { }
123 [Description("FocusManager FocusChanged")]
124 [Property("SPEC", "Tizen.NUI.FocusManager.FocusChanged A")]
125 [Property("SPEC_URL", "-")]
126 [Property("CRITERIA", "PRW")]
127 [Property("AUTHOR", "guowei.wang@samsung.com")]
128 public void FocusManagerFocusChanged()
130 tlog.Debug(tag, $"FocusManagerFocusChanged START");
132 var testingTarget = FocusManager.Instance;
133 Assert.IsNotNull(testingTarget, "Can't create success object PixelData");
134 Assert.IsInstanceOf<FocusManager>(testingTarget, "Should be an instance of FocusManager type.");
136 testingTarget.FocusChanged += OnFocusChanged;
137 testingTarget.FocusChanged -= OnFocusChanged;
139 object o1 = new object();
140 FocusManager.FocusChangedEventArgs e = new FocusManager.FocusChangedEventArgs();
141 OnFocusChanged(o1, e);
143 tlog.Debug(tag, $"FocusManagerFocusChanged END (OK)");
146 private void OnFocusChanged(object sender, FocusManager.FocusChangedEventArgs e)
148 View v1 = e.Previous;
157 [Description("FocusManager FocusGroupChanged")]
158 [Property("SPEC", "Tizen.NUI.FocusManager.FocusGroupChanged A")]
159 [Property("SPEC_URL", "-")]
160 [Property("CRITERIA", "PRW")]
161 [Property("AUTHOR", "guowei.wang@samsung.com")]
162 public void FocusManagerFocusGroupChanged()
164 tlog.Debug(tag, $"FocusManagerFocusGroupChanged START");
166 var testingTarget = FocusManager.Instance;
167 Assert.IsNotNull(testingTarget, "Can't create success object PixelData");
168 Assert.IsInstanceOf<FocusManager>(testingTarget, "Should be an instance of FocusManager type.");
170 testingTarget.FocusGroupChanged += OnFocusGroupChanged;
171 testingTarget.FocusGroupChanged -= OnFocusGroupChanged;
173 object o1 = new object();
174 FocusManager.FocusGroupChangedEventArgs e = new FocusManager.FocusGroupChangedEventArgs();
175 OnFocusGroupChanged(o1, e);
177 tlog.Debug(tag, $"FocusManagerFocusGroupChanged END (OK)");
180 private void OnFocusGroupChanged(object sender, FocusManager.FocusGroupChangedEventArgs e)
182 View v1 = e.CurrentView;
185 bool b1 = e.ForwardDirection;
186 e.ForwardDirection = b1;
191 [Description("FocusManager FocusedViewActivated")]
192 [Property("SPEC", "Tizen.NUI.FocusManager.FocusedViewActivated A")]
193 [Property("SPEC_URL", "-")]
194 [Property("CRITERIA", "PRW")]
195 [Property("AUTHOR", "guowei.wang@samsung.com")]
196 public void FocusManagerFocusedViewActivated()
198 tlog.Debug(tag, $"FocusManagerFocusedViewActivated START");
200 var testingTarget = FocusManager.Instance;
201 Assert.IsNotNull(testingTarget, "Can't create success object PixelData");
202 Assert.IsInstanceOf<FocusManager>(testingTarget, "Should be an instance of FocusManager type.");
204 testingTarget.FocusedViewActivated += OnFocusedViewActivated;
205 testingTarget.FocusedViewActivated -= OnFocusedViewActivated;
207 object o1 = new object();
208 FocusManager.FocusedViewActivatedEventArgs e = new FocusManager.FocusedViewActivatedEventArgs();
209 OnFocusedViewActivated(o1, e);
211 tlog.Debug(tag, $"FocusManagerFocusedViewActivated END (OK)");
214 private void OnFocusedViewActivated(object sender, FocusManager.FocusedViewActivatedEventArgs e)
222 [Description("FocusManager FocusedViewEnterKeyPressed")]
223 [Property("SPEC", "Tizen.NUI.FocusManager.FocusedViewEnterKeyPressed A")]
224 [Property("SPEC_URL", "-")]
225 [Property("CRITERIA", "PRW")]
226 [Property("AUTHOR", "guowei.wang@samsung.com")]
228 public void FocusManagerFocusedViewEnterKeyPressed()
230 tlog.Debug(tag, $"FocusManagerFocusedViewEnterKeyPressed START");
232 var testingTarget = FocusManager.Instance;
233 Assert.IsNotNull(testingTarget, "Can't create success object PixelData");
234 Assert.IsInstanceOf<FocusManager>(testingTarget, "Should be an instance of FocusManager type.");
236 testingTarget.FocusedViewEnterKeyPressed += OnFocusedViewEnterKeyPressed;
237 testingTarget.FocusedViewEnterKeyPressed -= OnFocusedViewEnterKeyPressed;
239 object o1 = new object();
240 FocusManager.FocusedViewActivatedEventArgs e = new FocusManager.FocusedViewActivatedEventArgs();
241 OnFocusedViewEnterKeyPressed(o1, e);
243 tlog.Debug(tag, $"FocusManagerFocusedViewEnterKeyPressed END (OK)");
246 private void OnFocusedViewEnterKeyPressed(object sender, FocusManager.FocusedViewActivatedEventArgs e)
254 [Description("FocusManager FocusGroupLoop")]
255 [Property("SPEC", "Tizen.NUI.FocusManager.FocusGroupLoop A")]
256 [Property("SPEC_URL", "-")]
257 [Property("CRITERIA", "PRW")]
258 [Property("AUTHOR", "guowei.wang@samsung.com")]
259 public void FocusManagerFocusGroupLoop()
261 tlog.Debug(tag, $"FocusManagerFocusGroupLoop START");
263 var testingTarget = FocusManager.Instance;
264 Assert.IsNotNull(testingTarget, "Can't create success object PixelData");
265 Assert.IsInstanceOf<FocusManager>(testingTarget, "Should be an instance of FocusManager type.");
267 testingTarget.FocusGroupLoop = true;
268 Assert.AreEqual(true, testingTarget.FocusGroupLoop, "Should be equal!");
270 tlog.Debug(tag, $"FocusManagerFocusGroupLoop END (OK)");
275 [Description("FocusManager FocusIndicator")]
276 [Property("SPEC", "Tizen.NUI.FocusManager.FocusIndicator A")]
277 [Property("SPEC_URL", "-")]
278 [Property("CRITERIA", "PRW")]
279 [Property("AUTHOR", "guowei.wang@samsung.com")]
280 public void FocusManagerFocusIndicator()
282 tlog.Debug(tag, $"FocusManagerFocusIndicator START");
284 var testingTarget = FocusManager.Instance;
285 Assert.IsNotNull(testingTarget, "Can't create success object PixelData");
286 Assert.IsInstanceOf<FocusManager>(testingTarget, "Should be an instance of FocusManager type.");
288 using (View view = new View())
290 testingTarget.FocusIndicator = view;
291 Assert.AreEqual(view, testingTarget.FocusIndicator, "Should be equal!");
294 tlog.Debug(tag, $"FocusManagerFocusIndicator END (OK)");
299 [Description("FocusManager SetCurrentFocusView")]
300 [Property("SPEC", "Tizen.NUI.FocusManager.SetCurrentFocusView M")]
301 [Property("SPEC_URL", "-")]
302 [Property("CRITERIA", "MR")]
303 [Property("AUTHOR", "guowei.wang@samsung.com")]
304 public void FocusManagerSetCurrentFocusView()
306 tlog.Debug(tag, $"FocusManagerSetCurrentFocusView START");
308 var testingTarget = FocusManager.Instance;
309 Assert.IsNotNull(testingTarget, "Can't create success object PixelData");
310 Assert.IsInstanceOf<FocusManager>(testingTarget, "Should be an instance of FocusManager type.");
312 using (View view = new View())
316 testingTarget.SetCurrentFocusView(view);
320 tlog.Debug(tag, e.Message.ToString());
321 Assert.Fail("Caught Exception : Failed!");
325 tlog.Debug(tag, $"FocusManagerSetCurrentFocusView END (OK)");
330 [Description("FocusManager SetCurrentFocusView")]
331 [Property("SPEC", "Tizen.NUI.FocusManager.SetCurrentFocusView M")]
332 [Property("SPEC_URL", "-")]
333 [Property("CRITERIA", "MR")]
334 [Property("AUTHOR", "guowei.wang@samsung.com")]
335 public void FocusManagerSetCurrentFocusViewWithNull()
337 tlog.Debug(tag, $"FocusManagerSetCurrentFocusViewWithNull START");
339 var testingTarget = FocusManager.Instance;
340 Assert.IsNotNull(testingTarget, "Can't create success object PixelData");
341 Assert.IsInstanceOf<FocusManager>(testingTarget, "Should be an instance of FocusManager type.");
346 testingTarget.SetCurrentFocusView(view);
348 catch (ArgumentNullException e)
350 tlog.Debug(tag, $"FocusManagerSetCurrentFocusViewWithNull END (OK)");
351 Assert.Pass("Caught ArgumentNullException : Passed");
357 [Description("FocusManager GetCurrentFocusView")]
358 [Property("SPEC", "Tizen.NUI.FocusManager.GetCurrentFocusView M")]
359 [Property("SPEC_URL", "-")]
360 [Property("CRITERIA", "MR")]
361 [Property("AUTHOR", "guowei.wang@samsung.com")]
362 public void FocusManagerGetCurrentFocusView()
364 tlog.Debug(tag, $"FocusManagerGetCurrentFocusView START");
366 var testingTarget = FocusManager.Instance;
367 Assert.IsNotNull(testingTarget, "Can't create success object PixelData");
368 Assert.IsInstanceOf<FocusManager>(testingTarget, "Should be an instance of FocusManager type.");
372 testingTarget.GetCurrentFocusView();
376 tlog.Debug(tag, e.Message.ToString());
377 Assert.Fail("Caught Exception : Failed!");
380 tlog.Debug(tag, $"FocusManagerGetCurrentFocusView END (OK)");
385 [Description("FocusManager MoveFocus")]
386 [Property("SPEC", "Tizen.NUI.FocusManager.MoveFocus M")]
387 [Property("SPEC_URL", "-")]
388 [Property("CRITERIA", "MR")]
389 [Property("AUTHOR", "guowei.wang@samsung.com")]
390 public void FocusManagerMoveFocus()
392 tlog.Debug(tag, $"FocusManagerMoveFocus START");
394 var testingTarget = FocusManager.Instance;
395 Assert.IsNotNull(testingTarget, "Can't create success object PixelData");
396 Assert.IsInstanceOf<FocusManager>(testingTarget, "Should be an instance of FocusManager type.");
400 testingTarget.MoveFocus(View.FocusDirection.Up);
404 tlog.Debug(tag, e.Message.ToString());
405 Assert.Fail("Caught Exception : Failed!");
408 tlog.Debug(tag, $"FocusManagerMoveFocus END (OK)");
413 [Description("FocusManager ClearFocus")]
414 [Property("SPEC", "Tizen.NUI.FocusManager.ClearFocus M")]
415 [Property("SPEC_URL", "-")]
416 [Property("CRITERIA", "MR")]
417 [Property("AUTHOR", "guowei.wang@samsung.com")]
418 public void FocusManagerClearFocus()
420 tlog.Debug(tag, $"FocusManagerClearFocus START");
422 var testingTarget = FocusManager.Instance;
423 Assert.IsNotNull(testingTarget, "Can't create success object PixelData");
424 Assert.IsInstanceOf<FocusManager>(testingTarget, "Should be an instance of FocusManager type.");
426 using (View view = new View() { Size = new Size(100, 200) })
428 testingTarget.SetCurrentFocusView(view);
432 testingTarget.ClearFocus();
436 tlog.Debug(tag, e.Message.ToString());
437 Assert.Fail("Caught Exception : Failed!");
441 tlog.Debug(tag, $"FocusManagerClearFocus END (OK)");
446 [Description("FocusManager MoveFocusBackward")]
447 [Property("SPEC", "Tizen.NUI.FocusManager.MoveFocusBackward M")]
448 [Property("SPEC_URL", "-")]
449 [Property("CRITERIA", "MR")]
450 [Property("AUTHOR", "guowei.wang@samsung.com")]
451 public void FocusManagerMoveFocusBackward()
453 tlog.Debug(tag, $"FocusManagerMoveFocusBackward START");
455 var testingTarget = FocusManager.Instance;
456 Assert.IsNotNull(testingTarget, "Can't create success object PixelData");
457 Assert.IsInstanceOf<FocusManager>(testingTarget, "Should be an instance of FocusManager type.");
461 testingTarget.MoveFocusBackward();
465 tlog.Debug(tag, e.Message.ToString());
466 Assert.Fail("Caught Exception : Failed!");
469 tlog.Debug(tag, $"FocusManagerMoveFocusBackward END (OK)");
474 [Description("FocusManager SetAsFocusGroup")]
475 [Property("SPEC", "Tizen.NUI.FocusManager.SetAsFocusGroup M")]
476 [Property("SPEC_URL", "-")]
477 [Property("CRITERIA", "MR")]
478 [Property("AUTHOR", "guowei.wang@samsung.com")]
479 public void FocusManagerSetAsFocusGroup()
481 tlog.Debug(tag, $"FocusManagerSetAsFocusGroup START");
483 var testingTarget = FocusManager.Instance;
484 Assert.IsNotNull(testingTarget, "Can't create success object PixelData");
485 Assert.IsInstanceOf<FocusManager>(testingTarget, "Should be an instance of FocusManager type.");
487 using (View v1 = new View())
491 testingTarget.SetAsFocusGroup(v1, true);
492 Assert.IsTrue(testingTarget.IsFocusGroup(v1));
496 tlog.Debug(tag, e.Message.ToString());
497 Assert.Fail("Caught Exception : Failed!");
501 tlog.Debug(tag, $"FocusManagerSetAsFocusGroup END (OK)");
506 [Description("FocusManager GetFocusGroup")]
507 [Property("SPEC", "Tizen.NUI.FocusManager.GetFocusGroup M")]
508 [Property("SPEC_URL", "-")]
509 [Property("CRITERIA", "MR")]
510 [Property("AUTHOR", "guowei.wang@samsung.com")]
511 public void FocusManagerGetFocusGroup()
513 tlog.Debug(tag, $"FocusManagerGetFocusGroup START");
515 var testingTarget = FocusManager.Instance;
516 Assert.IsNotNull(testingTarget, "Can't create success object PixelData");
517 Assert.IsInstanceOf<FocusManager>(testingTarget, "Should be an instance of FocusManager type.");
519 using (View v1 = new View())
523 testingTarget.GetFocusGroup(v1);
527 tlog.Debug(tag, e.Message.ToString());
528 Assert.Fail("Caught Exception : Failed!");
532 tlog.Debug(tag, $"FocusManagerGetFocusGroup END (OK)");
537 [Description("FocusManager SetCustomAlgorithm")]
538 [Property("SPEC", "Tizen.NUI.FocusManager.SetCustomAlgorithm M")]
539 [Property("SPEC_URL", "-")]
540 [Property("CRITERIA", "MR")]
541 [Property("AUTHOR", "guowei.wang@samsung.com")]
542 public void FocusManagerSetCustomAlgorithm()
544 tlog.Debug(tag, $"FocusManagerSetCustomAlgorithm START");
546 var testingTarget = FocusManager.Instance;
547 Assert.IsNotNull(testingTarget, "Can't create success object PixelData");
548 Assert.IsInstanceOf<FocusManager>(testingTarget, "Should be an instance of FocusManager type.");
552 testingTarget.SetCustomAlgorithm(null);
556 tlog.Debug(tag, e.Message.ToString());
557 Assert.Fail("Caught Exception : Failed!");
560 tlog.Debug(tag, $"FocusManagerSetCustomAlgorithm END (OK)");
565 [Description("FocusManager EnableDefaultAlgorithm")]
566 [Property("SPEC", "Tizen.NUI.FocusManager.EnableDefaultAlgorithm M")]
567 [Property("SPEC_URL", "-")]
568 [Property("CRITERIA", "MR")]
569 [Property("AUTHOR", "guowei.wang@samsung.com")]
570 public void FocusManagerEnableDefaultAlgorithm()
572 tlog.Debug(tag, $"FocusManagerEnableDefaultAlgorithm START");
574 var testingTarget = FocusManager.Instance;
575 Assert.IsNotNull(testingTarget, "Can't create success object PixelData");
576 Assert.IsInstanceOf<FocusManager>(testingTarget, "Should be an instance of FocusManager type.");
580 testingTarget.EnableDefaultAlgorithm(true);
581 var result = testingTarget.IsDefaultAlgorithmEnabled();
582 Assert.AreEqual(true, result, "Should be equal!");
586 tlog.Debug(tag, e.Message.ToString());
587 Assert.Fail("Caught exception : Failed!");
590 tlog.Debug(tag, $"FocusManagerEnableDefaultAlgorithm END (OK)");
595 [Description("FocusManager SetFocusFinderRootView")]
596 [Property("SPEC", "Tizen.NUI.FocusManager.SetFocusFinderRootView M")]
597 [Property("SPEC_URL", "-")]
598 [Property("CRITERIA", "MR")]
599 [Property("AUTHOR", "guowei.wang@samsung.com")]
600 public void FocusManagerSetFocusFinderRootView()
602 tlog.Debug(tag, $"FocusManagerSetFocusFinderRootView START");
604 var testingTarget = FocusManager.Instance;
605 Assert.IsNotNull(testingTarget, "Can't create success object PixelData");
606 Assert.IsInstanceOf<FocusManager>(testingTarget, "Should be an instance of FocusManager type.");
610 using (View view = new View())
612 testingTarget.SetFocusFinderRootView(view);
613 testingTarget.ResetFocusFinderRootView();
618 tlog.Debug(tag, e.Message.ToString());
619 Assert.Fail("Catch exception: " + e.Message.ToString());
622 tlog.Debug(tag, $"FocusManagerSetFocusFinderRootView END (OK)");
627 [Description("FocusManager Get")]
628 [Property("SPEC", "Tizen.NUI.FocusManager.Get M")]
629 [Property("SPEC_URL", "-")]
630 [Property("CRITERIA", "MR")]
631 [Property("AUTHOR", "guowei.wang@samsung.com")]
632 public void FocusManagerGet()
634 tlog.Debug(tag, $"FocusManagerGet START");
642 tlog.Debug(tag, e.Message.ToString());
643 Assert.Fail("Caught Exception : Failed!");
645 tlog.Debug(tag, $"FocusManagerGet END (OK)");
651 [Description("FocusManager GetFocusIndicatorView")]
652 [Property("SPEC", "Tizen.NUI.FocusManager.GetFocusIndicatorView M")]
653 [Property("SPEC_URL", "-")]
654 [Property("CRITERIA", "MR")]
655 [Property("AUTHOR", "guowei.wang@samsung.com")]
656 public void FocusManagerGetFocusIndicatorView()
658 tlog.Debug(tag, $"FocusManagerGetFocusIndicatorView START");
660 var testingTarget = FocusManager.Instance;
661 Assert.IsNotNull(testingTarget, "Can't create success object PixelData");
662 Assert.IsInstanceOf<FocusManager>(testingTarget, "Should be an instance of FocusManager type.");
666 testingTarget.GetFocusIndicatorView();
670 tlog.Debug(tag, e.Message.ToString());
671 Assert.Fail("Caught Exception: Failed!");
674 tlog.Debug(tag, $"FocusManagerGetFocusIndicatorView END (OK)");