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 Dispose")]
259 [Property("SPEC", "Tizen.NUI.PropertyNotification.Dispose M")]
260 [Property("SPEC_URL", "-")]
261 [Property("CRITERIA", "MR MCST")]
262 [Property("AUTHOR", "guowei.wang@samsung.com")]
263 public void PropertyNotificationDispose()
265 tlog.Debug(tag, $"PropertyNotificationDispose START");
267 var testingTarget = new PropertyNotification();
268 Assert.IsNotNull(testingTarget, "should not be null.");
269 Assert.IsInstanceOf<PropertyNotification>(testingTarget, "should be an instance of PropertyNotification class!");
273 testingTarget.Dispose();
277 LogUtils.Write(LogUtils.DEBUG, LogUtils.TAG, "Caught Exception" + e.ToString());
278 Assert.Fail("Caught Exception" + e.ToString());
281 tlog.Debug(tag, $"PropertyNotificationDispose END (OK)");
286 [Description("PropertyNotification DownCast")]
287 [Property("SPEC", "Tizen.NUI.PropertyNotification.DownCast M")]
288 [Property("SPEC_URL", "-")]
289 [Property("CRITERIA", "MR")]
290 [Property("AUTHOR", "guowei.wang@samsung.com")]
291 public void PropertyNotificationDownCast()
293 tlog.Debug(tag, $"PropertyNotificationDownCast START");
295 var view = new View();
296 Assert.IsNotNull(view, "should not be null.");
297 Assert.IsInstanceOf<View>(view, "should be an instance of View class!");
299 Window.Instance.Add(view);
300 var testingTarget = view.AddPropertyNotification("positionX", PropertyCondition.GreaterThan(100.0f));
301 Assert.IsNotNull(testingTarget, "should not be null.");
302 Assert.IsInstanceOf<PropertyNotification>(testingTarget, "should be an instance of PropertyNotification class!");
304 var result = PropertyNotification.DownCast(testingTarget);
305 Assert.IsNotNull(result, "should not be null.");
306 Assert.IsInstanceOf<PropertyNotification>(result, "should be an instance of PropertyNotification class!");
308 Window.Instance.Remove(view);
309 testingTarget.Dispose();
311 tlog.Debug(tag, $"PropertyNotificationDownCast END (OK)");
316 [Description("PropertyNotification NotifySignal")]
317 [Property("SPEC", "Tizen.NUI.PropertyNotification.NotifySignal M")]
318 [Property("SPEC_URL", "-")]
319 [Property("CRITERIA", "MR")]
320 [Property("AUTHOR", "guowei.wang@samsung.com")]
321 public async Task PropertyNotificationNotifySignal()
323 tlog.Debug(tag, $"PropertyNotificationNotifySignal START");
325 var view = new View();
326 Assert.IsNotNull(view, "should not be null.");
327 Assert.IsInstanceOf<View>(view, "should be an instance of View class!");
329 Window.Instance.Add(view);
330 var testingTarget = view.AddPropertyNotification("positionX", PropertyCondition.GreaterThan(100.0f));
331 Assert.IsNotNull(testingTarget, "should not be null.");
332 Assert.IsInstanceOf<PropertyNotification>(testingTarget, "should be an instance of PropertyNotification class!");
334 testingTarget.SetNotifyMode(PropertyNotification.NotifyMode.NotifyOnChanged);
336 testingTarget.Notified += (obj, e) =>
341 testingTarget.Notified -= (obj, e) =>
346 view.Position = new Position(300.0f, 0.0f, 0.0f);
347 await Task.Delay(200);
349 var result = testingTarget.NotifySignal();
350 Assert.IsNotNull(result, "Should be not null");
351 Assert.IsInstanceOf<PropertyNotifySignal>(result, "Should be an instance of propertyNotifySignal");
353 Window.Instance.Remove(view);
354 testingTarget.Dispose();
356 tlog.Debug(tag, $"PropertyNotificationNotifySignal END (OK)");
361 [Description("PropertyNotification Assign")]
362 [Property("SPEC", "Tizen.NUI.PropertyNotification.Assign M")]
363 [Property("SPEC_URL", "-")]
364 [Property("CRITERIA", "MR")]
365 [Property("AUTHOR", "guowei.wang@samsung.com")]
366 public void PropertyNotificationAssign()
368 tlog.Debug(tag, $"PropertyNotificationAssign START");
370 var view = new View();
371 Assert.IsNotNull(view, "should not be null.");
372 Assert.IsInstanceOf<View>(view, "should be an instance of View class!");
373 Window.Instance.Add(view);
375 var dummy1 = view.AddPropertyNotification("positionX", PropertyCondition.GreaterThan(100.0f));
376 Assert.IsNotNull(dummy1, "should not be null.");
377 Assert.IsInstanceOf<PropertyNotification>(dummy1, "should be an instance of PropertyNotification class!");
379 var dummy2 = view.AddPropertyNotification("positionY", PropertyCondition.GreaterThan(100.0f));
380 Assert.IsNotNull(dummy2, "should not be null.");
381 Assert.IsInstanceOf<PropertyNotification>(dummy2, "should be an instance of PropertyNotification class!");
383 var testingTarget = dummy2.Assign(dummy1);
384 Assert.IsNotNull(testingTarget, "should not be null.");
385 Assert.IsInstanceOf<PropertyNotification>(testingTarget, "should be an instance of PropertyNotification class!");
387 Window.Instance.Remove(view);
388 testingTarget.Dispose();
392 tlog.Debug(tag, $"PropertyNotificationAssign END (OK)");
397 [Description("PropertyNotification Assign, negative")]
398 [Property("SPEC", "Tizen.NUI.PropertyNotification.Assign M")]
399 [Property("SPEC_URL", "-")]
400 [Property("CRITERIA", "MR")]
401 [Property("AUTHOR", "guowei.wang@samsung.com")]
402 public void PropertyNotificationAssignNegative()
404 tlog.Debug(tag, $"PropertyNotificationAssignNegative START");
406 var view = new View();
407 Assert.IsNotNull(view, "should not be null.");
408 Assert.IsInstanceOf<View>(view, "should be an instance of View class!");
409 Window.Instance.Add(view);
411 var testingTarget = view.AddPropertyNotification("positionX", PropertyCondition.GreaterThan(100.0f));
412 Assert.IsNotNull(testingTarget, "should not be null.");
413 Assert.IsInstanceOf<PropertyNotification>(testingTarget, "should be an instance of PropertyNotification class!");
417 testingTarget.Assign(null);
418 Assert.Fail("Should throw the System.ArgumentNullException!");
420 catch (ArgumentNullException e)
425 Window.Instance.Remove(view);
426 testingTarget.Dispose();
428 tlog.Debug(tag, $"PropertyNotificationAssignNegative END (OK)");
433 [Description("PropertyNotification.NotifyEventArgs constructor")]
434 [Property("SPEC", "Tizen.NUI.PropertyNotification.NotifyEventArgs.NotifyEventArgs C")]
435 [Property("SPEC_URL", " - ")]
436 [Property("CRITERIA", "CONSTR")]
437 [Property("AUTHOR", "guowei.wang@samsung.com")]
438 public void PropertyNotificationNotifyEventArgsContructor()
440 tlog.Debug(tag, $"PropertyNotificationNotifyEventArgsContructor START");
442 var testingTarget = new PropertyNotification.NotifyEventArgs();
443 Assert.NotNull(testingTarget, "Should be not null");
444 Assert.IsInstanceOf<PropertyNotification.NotifyEventArgs>(testingTarget, "Should be an instance of PropertyNotification.PropertyNotificationNotifyEventArgs");
446 tlog.Debug(tag, $"PropertyNotificationNotifyEventArgsContructor END (OK)");
451 [Description("PropertyNotification.NotifyEventArgs GetTargetProperty")]
452 [Property("SPEC", "Tizen.NUI.PropertyNotification.NotifyEventArgs.PropertyNotification A")]
453 [Property("SPEC_URL", " - ")]
454 [Property("CRITERIA", "PRW")]
455 [Property("AUTHOR", "guowei.wang@samsung.com")]
456 public void PropertyNotificationNotifyEventArgsGetTargetProperty()
458 tlog.Debug(tag, $"PropertyNotificationNotifyEventArgsGetTargetProperty START");
460 var view = new View();
461 Assert.IsNotNull(view, "should not be null.");
462 Assert.IsInstanceOf<View>(view, "should be an instance of View class!");
464 var dummy = view.AddPropertyNotification("PositionX", PropertyCondition.GreaterThan(100.0f));
465 Assert.IsNotNull(dummy, "should not be null.");
466 Assert.IsInstanceOf<PropertyNotification>(dummy, "should be an instance of PropertyNotification class!");
468 var testingTarget = new PropertyNotification.NotifyEventArgs();
469 Assert.NotNull(testingTarget, "Should be not null");
470 Assert.IsInstanceOf<PropertyNotification.NotifyEventArgs>(testingTarget, "Should be an instance of PropertyNotification.PropertyNotificationNotifyEventArgs");
472 testingTarget.PropertyNotification = dummy;
473 Assert.AreEqual(13, testingTarget.PropertyNotification.GetTargetProperty(), "Should be equal!");
478 tlog.Debug(tag, $"PropertyNotificationNotifyEventArgsGetTargetProperty END (OK)");