3 using NUnit.Framework.TUnit;
4 using Tizen.NUI.Components;
5 using Tizen.NUI.BaseComponents;
6 using System.Threading.Tasks;
8 namespace Tizen.NUI.Devel.Tests
10 using tlog = Tizen.Log;
13 [Description("public/Common/PropertyNotification")]
14 class PublicPropertyNotificationTest
16 private const string tag = "NUITEST";
21 tlog.Info(tag, "Init() is called!");
27 tlog.Info(tag, "Destroy() is called!");
32 [Description("PropertyNotification constructor")]
33 [Property("SPEC", "Tizen.NUI.PropertyNotification.PropertyNotification C")]
34 [Property("SPEC_URL", "-")]
35 [Property("CRITERIA", "CONSTR")]
36 [Property("COVPARAM", "")]
37 [Property("AUTHOR", "guowei.wang@samsung.com")]
38 public void PropertyNotificationConstructor()
40 tlog.Debug(tag, $"PropertyNotificationConstructor START");
42 var testintTarget = new Tizen.NUI.PropertyNotification();
43 Assert.IsNotNull(testintTarget, "should not be null.");
44 Assert.IsInstanceOf<PropertyNotification>(testintTarget, "should be an instance of PropertyNotification class!");
46 testintTarget.Dispose();
47 tlog.Debug(tag, $"PropertyNotificationConstructor END (OK)");
52 [Description("PropertyNotification constructor. With PropertyNotification instance")]
53 [Property("SPEC", "Tizen.NUI.PropertyNotification.PropertyNotification C")]
54 [Property("SPEC_URL", "-")]
55 [Property("CRITERIA", "CONSTR")]
56 [Property("COVPARAM", "PropertyNotification")]
57 [Property("AUTHOR", "guowei.wang@samsung.com")]
58 public void PropertyNotificationConstructorWithPropertyNotification()
60 tlog.Debug(tag, $"PropertyNotificationConstructorWithPropertyNotification START");
62 var view = new View();
63 Assert.IsNotNull(view, "should not be null.");
64 Assert.IsInstanceOf<View>(view, "should be an instance of View class!");
66 var dummy = view.AddPropertyNotification("PositionX", PropertyCondition.GreaterThan(100.0f));
67 Assert.IsNotNull(dummy, "should not be null.");
68 Assert.IsInstanceOf<PropertyNotification>(dummy, "should be an instance of PropertyNotification class!");
70 var testingTarget = new Tizen.NUI.PropertyNotification(dummy);
71 Assert.IsNotNull(testingTarget, "should not be null.");
72 Assert.IsInstanceOf<PropertyNotification>(testingTarget, "should be an instance of PropertyNotification class!");
74 testingTarget.Dispose();
77 tlog.Debug(tag, $"PropertyNotificationConstructorWithPropertyNotification END (OK)");
82 [Description("PropertyNotification GetTarget")]
83 [Property("SPEC", "Tizen.NUI.PropertyNotification.GetTarget M")]
84 [Property("SPEC_URL", "-")]
85 [Property("CRITERIA", "MR")]
86 [Property("AUTHOR", "guowei.wang@samsung.com")]
87 public void PropertyNotificationGetTarget()
89 tlog.Debug(tag, $"PropertyNotificationGetTarget START");
91 var view = new View();
92 Assert.IsNotNull(view, "should not be null.");
93 Assert.IsInstanceOf<View>(view, "should be an instance of View class!");
95 var testingTarget = view.AddPropertyNotification("PositionX", PropertyCondition.GreaterThan(100.0f));
96 Assert.IsNotNull(testingTarget, "should not be null.");
97 Assert.IsInstanceOf<PropertyNotification>(testingTarget, "should be an instance of PropertyNotification class!");
99 var result = testingTarget.GetTarget();
100 Assert.IsNotNull(result, "Should be not null!");
101 Assert.IsInstanceOf<Animatable>(result, "should be an instance of Animatable class!");
104 testingTarget.Dispose();
106 tlog.Debug(tag, $"PropertyNotificationGetTarget END (OK)");
111 [Description("PropertyNotification GetCondition")]
112 [Property("SPEC", "Tizen.NUI.PropertyNotification.GetCondition M")]
113 [Property("SPEC_URL", "-")]
114 [Property("CRITERIA", "MR")]
115 [Property("AUTHOR", "guowei.wang@samsung.com")]
116 public void PropertyNotificationGetCondition()
118 tlog.Debug(tag, $"PropertyNotificationGetCondition START");
120 var dummyView = new View();
121 Assert.IsNotNull(dummyView, "should not be null.");
122 Assert.IsInstanceOf<View>(dummyView, "should be an instance of View class!");
124 var dummycondition = PropertyCondition.GreaterThan(100.0f);
125 Assert.IsNotNull(dummycondition, "should not be null.");
126 Assert.IsInstanceOf<PropertyCondition>(dummycondition, "should be an instance of PropertyCondition class!");
128 var dummyNotification = dummyView.AddPropertyNotification("PositionX", dummycondition);
129 Assert.IsNotNull(dummyNotification, "should not be null.");
130 Assert.IsInstanceOf<PropertyNotification>(dummyNotification, "should be an instance of PropertyNotification class!");
132 var result = dummyNotification.GetCondition();
133 Assert.IsNotNull(result, "should not be null.");
134 Assert.IsInstanceOf<PropertyCondition>(result, "should be an instance of PropertyCondition class!");
136 Assert.IsTrue(result == dummycondition);
139 dummyNotification.Dispose();
140 dummycondition.Dispose();
142 tlog.Debug(tag, $"PropertyNotificationGetCondition END (OK)");
147 [Description("PropertyNotification GetTargetProperty")]
148 [Property("SPEC", "Tizen.NUI.PropertyNotification.GetTargetProperty M")]
149 [Property("SPEC_URL", "-")]
150 [Property("CRITERIA", "MR")]
151 [Property("AUTHOR", "guowei.wang@samsung.com")]
152 public void PropertyNotificationGetTargetProperty()
154 tlog.Debug(tag, $"PropertyNotificationGetTargetProperty START");
156 var view = new View();
157 Assert.IsNotNull(view, "should not be null.");
158 Assert.IsInstanceOf<View>(view, "should be an instance of View class!");
160 var testingTarget = view.AddPropertyNotification("PositionX", PropertyCondition.GreaterThan(100.0f));
161 Assert.IsNotNull(testingTarget, "should not be null.");
162 Assert.IsInstanceOf<PropertyNotification>(testingTarget, "should be an instance of PropertyNotification class!");
164 Assert.AreEqual(13, testingTarget.GetTargetProperty(), "Retrive testingTarget.GetTargetProperty() should equal to 13.");
166 testingTarget.Dispose();
168 tlog.Debug(tag, $"PropertyNotificationGetTargetProperty END (OK)");
173 [Description("PropertyNotification GetNotifyMode")]
174 [Property("SPEC", "Tizen.NUI.PropertyNotification.GetNotifyMode M")]
175 [Property("SPEC_URL", "-")]
176 [Property("CRITERIA", "MR")]
177 [Property("AUTHOR", "guowei.wang@samsung.com")]
178 public void PropertyNotificationGetNotifyMode()
180 tlog.Debug(tag, $"PropertyNotificationGetNotifyMode START");
182 View view = new View();
183 var testingTarget = view.AddPropertyNotification("PositionX", PropertyCondition.GreaterThan(100.0f));
184 Assert.IsNotNull(testingTarget, "should not be null.");
185 Assert.IsInstanceOf<PropertyNotification>(testingTarget, "should be an instance of PropertyNotification class!");
187 var result = testingTarget.GetNotifyMode();
188 Assert.IsNotNull(result, "should not be null.");
189 Assert.IsInstanceOf<PropertyNotification.NotifyMode>(result, "should be an instance of PropertyNotification.NotifyMode class!");
190 Assert.IsTrue(PropertyNotification.NotifyMode.NotifyOnTrue == result);
192 testingTarget.Dispose();
194 tlog.Debug(tag, $"PropertyNotificationGetNotifyMode END (OK)");
199 [Description("PropertyNotification SetNotifyMode")]
200 [Property("SPEC", "Tizen.NUI.PropertyNotification.SetNotifyMode M")]
201 [Property("SPEC_URL", "-")]
202 [Property("CRITERIA", "MR")]
203 [Property("AUTHOR", "guowei.wang@samsung.com")]
204 public void PropertyNotificationSetNotifyMode()
206 tlog.Debug(tag, $"PropertyNotificationSetNotifyMode START");
208 View view = new View();
209 var testingTarget = view.AddPropertyNotification("PositionX", PropertyCondition.GreaterThan(100.0f));
210 Assert.IsNotNull(testingTarget, "should not be null.");
211 Assert.IsInstanceOf<PropertyNotification>(testingTarget, "should be an instance of PropertyNotification class!");
213 testingTarget.SetNotifyMode(PropertyNotification.NotifyMode.NotifyOnChanged);
214 var result = testingTarget.GetNotifyMode();
215 Assert.IsNotNull(result, "should not be null.");
216 Assert.IsInstanceOf<PropertyNotification.NotifyMode>(result, "should be an instance of PropertyNotification.NotifyMode class!");
217 Assert.IsTrue(PropertyNotification.NotifyMode.NotifyOnChanged == result);
219 testingTarget.Dispose();
221 tlog.Debug(tag, $"PropertyNotificationSetNotifyMode END (OK)");
226 [Description("PropertyNotification GetNotifyResult.")]
227 [Property("SPEC", "Tizen.NUI.PropertyNotification.GetNotifyResult M")]
228 [Property("SPEC_URL", "-")]
229 [Property("CRITERIA", "MR")]
230 [Property("AUTHOR", "guowei.wang@samsung.com")]
231 public void PropertyNotificationGetNotifyResult()
233 tlog.Debug(tag, $"PropertyNotificationGetNotifyResult START");
235 var view = new View();
236 Assert.IsNotNull(view, "should not be null.");
237 Assert.IsInstanceOf<View>(view, "should be an instance of View class!");
239 var testingTarget = view.AddPropertyNotification("PositionX", PropertyCondition.GreaterThan(100.0f));
240 Assert.IsNotNull(testingTarget, "should not be null.");
241 Assert.IsInstanceOf<PropertyNotification>(testingTarget, "should be an instance of PropertyNotification class!");
243 testingTarget.SetNotifyMode(PropertyNotification.NotifyMode.NotifyOnChanged);
244 testingTarget.Notified += (obj, e) =>
246 tlog.Fatal("TCT", "Notified!");
248 view.Position = new Position(0.0f, 0.0f, 0.0f);
249 Assert.AreEqual(false, testingTarget.GetNotifyResult(), "Should be equal!");
251 testingTarget.Dispose();
253 tlog.Debug(tag, $"PropertyNotificationGetNotifyResult END (OK)");
258 [Description("PropertyNotification Notified")]
259 [Property("SPEC", "Tizen.NUI.PropertyNotification.Notified E")]
260 [Property("SPEC_URL", "-")]
261 [Property("CRITERIA", "EVL")]
262 [Property("AUTHOR", "guowei.wang@samsung.com")]
263 public async Task PropertyNotificationNotified()
265 tlog.Debug(tag, $"PropertyNotificationNotified START");
267 View view = new View();
268 Window.Instance.Add(view);
269 var testingTarget = view.AddPropertyNotification("positionX", PropertyCondition.GreaterThan(100.0f));
270 Assert.IsNotNull(testingTarget, "should not be null.");
271 Assert.IsInstanceOf<PropertyNotification>(testingTarget, "should be an instance of PropertyNotification class!");
273 testingTarget.SetNotifyMode(PropertyNotification.NotifyMode.NotifyOnChanged);
275 testingTarget.Notified += (obj, e) =>
280 view.Position = new Position(300.0f, 0.0f, 0.0f);
281 await Task.Delay(200);
282 Assert.AreEqual(true, flag, "Should be equal!");
284 testingTarget.Dispose();
286 tlog.Debug(tag, $"PropertyNotificationNotified END (OK)");
291 [Description("PropertyNotification Dispose")]
292 [Property("SPEC", "Tizen.NUI.PropertyNotification.Dispose M")]
293 [Property("SPEC_URL", "-")]
294 [Property("CRITERIA", "MR MCST")]
295 [Property("AUTHOR", "guowei.wang@samsung.com")]
296 public void PropertyNotificationDispose()
298 tlog.Debug(tag, $"PropertyNotificationDispose START");
300 var testingTarget = new PropertyNotification();
301 Assert.IsNotNull(testingTarget, "should not be null.");
302 Assert.IsInstanceOf<PropertyNotification>(testingTarget, "should be an instance of PropertyNotification class!");
306 testingTarget.Dispose();
310 LogUtils.Write(LogUtils.DEBUG, LogUtils.TAG, "Caught Exception" + e.ToString());
311 Assert.Fail("Caught Exception" + e.ToString());
314 tlog.Debug(tag, $"PropertyNotificationDispose END (OK)");
319 [Description("PropertyNotification DownCast")]
320 [Property("SPEC", "Tizen.NUI.PropertyNotification.DownCast M")]
321 [Property("SPEC_URL", "-")]
322 [Property("CRITERIA", "MR")]
323 [Property("AUTHOR", "guowei.wang@samsung.com")]
324 public void PropertyNotificationDownCast()
326 tlog.Debug(tag, $"PropertyNotificationDownCast START");
328 var view = new View();
329 Assert.IsNotNull(view, "should not be null.");
330 Assert.IsInstanceOf<View>(view, "should be an instance of View class!");
332 Window.Instance.Add(view);
333 var testingTarget = view.AddPropertyNotification("positionX", PropertyCondition.GreaterThan(100.0f));
334 Assert.IsNotNull(testingTarget, "should not be null.");
335 Assert.IsInstanceOf<PropertyNotification>(testingTarget, "should be an instance of PropertyNotification class!");
337 var result = PropertyNotification.DownCast(testingTarget);
338 Assert.IsNotNull(result, "should not be null.");
339 Assert.IsInstanceOf<PropertyNotification>(result, "should be an instance of PropertyNotification class!");
341 testingTarget.Dispose();
343 tlog.Debug(tag, $"PropertyNotificationDownCast END (OK)");
348 [Description("PropertyNotification NotifySignal")]
349 [Property("SPEC", "Tizen.NUI.PropertyNotification.NotifySignal M")]
350 [Property("SPEC_URL", "-")]
351 [Property("CRITERIA", "MR")]
352 [Property("AUTHOR", "guowei.wang@samsung.com")]
353 public async Task PropertyNotificationNotifySignal()
355 tlog.Debug(tag, $"PropertyNotificationNotifySignal START");
357 var view = new View();
358 Assert.IsNotNull(view, "should not be null.");
359 Assert.IsInstanceOf<View>(view, "should be an instance of View class!");
361 Window.Instance.Add(view);
362 var testingTarget = view.AddPropertyNotification("positionX", PropertyCondition.GreaterThan(100.0f));
363 Assert.IsNotNull(testingTarget, "should not be null.");
364 Assert.IsInstanceOf<PropertyNotification>(testingTarget, "should be an instance of PropertyNotification class!");
366 testingTarget.SetNotifyMode(PropertyNotification.NotifyMode.NotifyOnChanged);
368 testingTarget.Notified += (obj, e) =>
372 view.Position = new Position(300.0f, 0.0f, 0.0f);
373 await Task.Delay(200);
375 var result = testingTarget.NotifySignal();
376 Assert.IsNotNull(result, "Should be not null");
377 Assert.IsInstanceOf<PropertyNotifySignal>(result, "Should be an instance of propertyNotifySignal");
379 testingTarget.Dispose();
381 tlog.Debug(tag, $"PropertyNotificationNotifySignal END (OK)");
386 [Description("PropertyNotification Assign")]
387 [Property("SPEC", "Tizen.NUI.PropertyNotification.Assign M")]
388 [Property("SPEC_URL", "-")]
389 [Property("CRITERIA", "MR")]
390 [Property("AUTHOR", "guowei.wang@samsung.com")]
391 public void PropertyNotificationAssign()
393 tlog.Debug(tag, $"PropertyNotificationAssign START");
395 var view = new View();
396 Assert.IsNotNull(view, "should not be null.");
397 Assert.IsInstanceOf<View>(view, "should be an instance of View class!");
398 Window.Instance.Add(view);
400 var dummy1 = view.AddPropertyNotification("positionX", PropertyCondition.GreaterThan(100.0f));
401 Assert.IsNotNull(dummy1, "should not be null.");
402 Assert.IsInstanceOf<PropertyNotification>(dummy1, "should be an instance of PropertyNotification class!");
404 var dummy2 = view.AddPropertyNotification("positionY", PropertyCondition.GreaterThan(100.0f));
405 Assert.IsNotNull(dummy2, "should not be null.");
406 Assert.IsInstanceOf<PropertyNotification>(dummy2, "should be an instance of PropertyNotification class!");
408 var testingTarget = dummy2.Assign(dummy1);
409 Assert.IsNotNull(testingTarget, "should not be null.");
410 Assert.IsInstanceOf<PropertyNotification>(testingTarget, "should be an instance of PropertyNotification class!");
412 testingTarget.Dispose();
416 tlog.Debug(tag, $"PropertyNotificationAssign END (OK)");
421 [Description("PropertyNotification Assign, negative")]
422 [Property("SPEC", "Tizen.NUI.PropertyNotification.Assign M")]
423 [Property("SPEC_URL", "-")]
424 [Property("CRITERIA", "MR")]
425 [Property("AUTHOR", "guowei.wang@samsung.com")]
426 public void PropertyNotificationAssignNegative()
428 tlog.Debug(tag, $"PropertyNotificationAssignNegative START");
430 var view = new View();
431 Assert.IsNotNull(view, "should not be null.");
432 Assert.IsInstanceOf<View>(view, "should be an instance of View class!");
433 Window.Instance.Add(view);
435 var testingTarget = view.AddPropertyNotification("positionX", PropertyCondition.GreaterThan(100.0f));
436 Assert.IsNotNull(testingTarget, "should not be null.");
437 Assert.IsInstanceOf<PropertyNotification>(testingTarget, "should be an instance of PropertyNotification class!");
441 testingTarget.Assign(null);
442 Assert.Fail("Should throw the System.ArgumentNullException!");
444 catch (ArgumentNullException e)
449 testingTarget.Dispose();
451 tlog.Debug(tag, $"PropertyNotificationAssignNegative END (OK)");
456 [Description("PropertyNotification.NotifyEventArgs constructor")]
457 [Property("SPEC", "Tizen.NUI.PropertyNotification.NotifyEventArgs.NotifyEventArgs C")]
458 [Property("SPEC_URL", " - ")]
459 [Property("CRITERIA", "CONSTR")]
460 [Property("AUTHOR", "guowei.wang@samsung.com")]
461 public void PropertyNotificationNotifyEventArgsContructor()
463 tlog.Debug(tag, $"PropertyNotificationNotifyEventArgsContructor START");
465 var testingTarget = new PropertyNotification.NotifyEventArgs();
466 Assert.NotNull(testingTarget, "Should be not null");
467 Assert.IsInstanceOf<PropertyNotification.NotifyEventArgs>(testingTarget, "Should be an instance of PropertyNotification.PropertyNotificationNotifyEventArgs");
469 tlog.Debug(tag, $"PropertyNotificationNotifyEventArgsContructor END (OK)");
474 [Description("PropertyNotification.NotifyEventArgs GetTargetProperty")]
475 [Property("SPEC", "Tizen.NUI.PropertyNotification.NotifyEventArgs.PropertyNotification A")]
476 [Property("SPEC_URL", " - ")]
477 [Property("CRITERIA", "PRW")]
478 [Property("AUTHOR", "guowei.wang@samsung.com")]
479 public void PropertyNotificationNotifyEventArgsGetTargetProperty()
481 tlog.Debug(tag, $"PropertyNotificationNotifyEventArgsGetTargetProperty START");
483 var view = new View();
484 Assert.IsNotNull(view, "should not be null.");
485 Assert.IsInstanceOf<View>(view, "should be an instance of View class!");
487 var dummy = view.AddPropertyNotification("PositionX", PropertyCondition.GreaterThan(100.0f));
488 Assert.IsNotNull(dummy, "should not be null.");
489 Assert.IsInstanceOf<PropertyNotification>(dummy, "should be an instance of PropertyNotification class!");
491 var testingTarget = new PropertyNotification.NotifyEventArgs();
492 Assert.NotNull(testingTarget, "Should be not null");
493 Assert.IsInstanceOf<PropertyNotification.NotifyEventArgs>(testingTarget, "Should be an instance of PropertyNotification.PropertyNotificationNotifyEventArgs");
495 testingTarget.PropertyNotification = dummy;
496 Assert.AreEqual(13, testingTarget.PropertyNotification.GetTargetProperty(), "Should be equal!");
501 tlog.Debug(tag, $"PropertyNotificationNotifyEventArgsGetTargetProperty END (OK)");