Merge remote-tracking branch 'origin/master' into tizen
[platform/core/csapi/tizenfx.git] / test / Tizen.NUI.Tests / Tizen.NUI.Devel.Tests / testcase / internal / Widget / TSWidgetImpl.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
7 namespace Tizen.NUI.Devel.Tests
8 {
9     using tlog = Tizen.Log;
10
11     [TestFixture]
12     [Description("Internal/Widget/WidgetImpl")]
13     public class PublicWidgetImplTest
14     {
15         private const string tag = "NUITEST";
16
17         [SetUp]
18         public void Init()
19         {
20             tlog.Info(tag, "Init() is called!");
21         }
22
23         [TearDown]
24         public void Destroy()
25         {
26             tlog.Info(tag, "Destroy() is called!");
27         }
28
29         [Test]
30         [Category("P1")]
31         [Description("WidgetImpl.WIdgetInstanceOnCreateArgs.ContentInfo.")]
32         [Property("SPEC", "Tizen.NUI.WidgetImpl.WIdgetInstanceOnCreateArgs.ContentInfo A")]
33         [Property("SPEC_URL", "-")]
34         [Property("CRITERIA", "PRW")]
35         [Property("AUTHOR", "guowei.wang@samsung.com")]
36         public void WidgetImplWIdgetInstanceOnCreateArgsContentInfo()
37         {
38             tlog.Debug(tag, $"WidgetImplWIdgetInstanceOnCreateArgsContentInfo START");
39
40             var testingTarget = new WidgetImpl.WIdgetInstanceOnCreateArgs();
41             Assert.IsNotNull(testingTarget, "Can't create success object WIdgetInstanceOnCreateArgs");
42             Assert.IsInstanceOf<WidgetImpl.WIdgetInstanceOnCreateArgs>(testingTarget, "Should be an instance of WIdgetInstanceOnCreateArgs type.");
43
44             tlog.Debug(tag, "Default testingTarget.ContentInfo is : " + testingTarget.ContentInfo);
45
46             testingTarget.ContentInfo = "WidgetImpl";
47             tlog.Debug(tag, "testingTarget.ContentInfo : " + testingTarget.ContentInfo);
48
49             tlog.Debug(tag, $"WidgetImplWIdgetInstanceOnCreateArgsContentInfo END (OK)");
50         }
51
52         [Test]
53         [Category("P1")]
54         [Description("WidgetImpl.WIdgetInstanceOnCreateArgs.Window.")]
55         [Property("SPEC", "Tizen.NUI.WidgetImpl.WIdgetInstanceOnCreateArgs.Window A")]
56         [Property("SPEC_URL", "-")]
57         [Property("CRITERIA", "PRW")]
58         [Property("AUTHOR", "guowei.wang@samsung.com")]
59         public void WidgetImplWIdgetInstanceOnCreateArgsWindow()
60         {
61             tlog.Debug(tag, $"WidgetImplWIdgetInstanceOnCreateArgsWindow START");
62
63             var testingTarget = new WidgetImpl.WIdgetInstanceOnCreateArgs();
64             Assert.IsNotNull(testingTarget, "Can't create success object WIdgetInstanceOnCreateArgs");
65             Assert.IsInstanceOf<WidgetImpl.WIdgetInstanceOnCreateArgs>(testingTarget, "Should be an instance of WIdgetInstanceOnCreateArgs type.");
66
67             tlog.Debug(tag, "Default testingTarget.Window is : " + testingTarget.Window);
68
69             testingTarget.Window = Window.Instance;
70             tlog.Debug(tag, "testingTarget.Window : " + testingTarget.Window);
71
72             tlog.Debug(tag, $"WidgetImplWIdgetInstanceOnCreateArgsWindow END (OK)");
73         }
74
75         [Test]
76         [Category("P1")]
77         [Description("WidgetImpl.WIdgetInstanceOnDestroyArgs.ContentInfo.")]
78         [Property("SPEC", "Tizen.NUI.WidgetImpl.WIdgetInstanceOnDestroyArgs.ContentInfo A")]
79         [Property("SPEC_URL", "-")]
80         [Property("CRITERIA", "PRW")]
81         [Property("AUTHOR", "guowei.wang@samsung.com")]
82         public void WidgetImplWIdgetInstanceOnDestroyArgsContentInfo()
83         {
84             tlog.Debug(tag, $"WidgetImplWIdgetInstanceOnDestroyArgsContentInfo START");
85
86             var testingTarget = new WidgetImpl.WIdgetInstanceOnDestroyArgs();
87             Assert.IsNotNull(testingTarget, "Can't create success object WIdgetInstanceOnDestroyArgs");
88             Assert.IsInstanceOf<WidgetImpl.WIdgetInstanceOnDestroyArgs>(testingTarget, "Should be an instance of WIdgetInstanceOnDestroyArgs type.");
89
90             tlog.Debug(tag, "Default testingTarget.ContentInfo is : " + testingTarget.ContentInfo);
91
92             testingTarget.ContentInfo = "WIdgetInstanceOnDestroyArgs";
93             tlog.Debug(tag, "testingTarget.ContentInfo : " + testingTarget.ContentInfo);
94
95             tlog.Debug(tag, $"WidgetImplWIdgetInstanceOnDestroyArgsContentInfo END (OK)");
96         }
97
98         [Test]
99         [Category("P1")]
100         [Description("WidgetImpl.WIdgetInstanceOnDestroyArgs.TerminateType.")]
101         [Property("SPEC", "Tizen.NUI.WidgetImpl.WIdgetInstanceOnDestroyArgs.TerminateType A")]
102         [Property("SPEC_URL", "-")]
103         [Property("CRITERIA", "PRW")]
104         [Property("AUTHOR", "guowei.wang@samsung.com")]
105         public void WidgetImplWIdgetInstanceOnDestroyArgsTerminateType()
106         {
107             tlog.Debug(tag, $"WidgetImplWIdgetInstanceOnDestroyArgsTerminateType START");
108
109             var testingTarget = new WidgetImpl.WIdgetInstanceOnDestroyArgs();
110             Assert.IsNotNull(testingTarget, "Can't create success object WIdgetInstanceOnDestroyArgs");
111             Assert.IsInstanceOf<WidgetImpl.WIdgetInstanceOnDestroyArgs>(testingTarget, "Should be an instance of WIdgetInstanceOnDestroyArgs type.");
112
113             tlog.Debug(tag, "Default testingTarget.TerminateType is : " + testingTarget.TerminateType);
114
115             testingTarget.TerminateType = Widget.TerminationType.Permanent;
116             tlog.Debug(tag, "testingTarget.TerminateType : " + testingTarget.TerminateType);
117
118             testingTarget.TerminateType = Widget.TerminationType.Temporary;
119             tlog.Debug(tag, "testingTarget.TerminateType : " + testingTarget.TerminateType);
120
121             tlog.Debug(tag, $"WidgetImplWIdgetInstanceOnDestroyArgsTerminateType END (OK)");
122         }
123
124         [Test]
125         [Category("P1")]
126         [Description("WidgetImpl.WidgetInstanceOnResizeArgs.Window.")]
127         [Property("SPEC", "Tizen.NUI.WidgetImpl.WidgetInstanceOnResizeArgs.Window A")]
128         [Property("SPEC_URL", "-")]
129         [Property("CRITERIA", "PRW")]
130         [Property("AUTHOR", "guowei.wang@samsung.com")]
131         public void WidgetImplWidgetInstanceOnResizeArgsWindow()
132         {
133             tlog.Debug(tag, $"WidgetImplWidgetInstanceOnResizeArgsWindow START");
134
135             var testingTarget = new WidgetImpl.WidgetInstanceOnResizeArgs();
136             Assert.IsNotNull(testingTarget, "Can't create success object WidgetInstanceOnResizeArgs");
137             Assert.IsInstanceOf<WidgetImpl.WidgetInstanceOnResizeArgs>(testingTarget, "Should be an instance of WidgetInstanceOnResizeArgs type.");
138
139             tlog.Debug(tag, "Default testingTarget.Window is : " + testingTarget.Window);
140
141             testingTarget.Window = Window.Instance;
142             tlog.Debug(tag, "testingTarget.Window : " + testingTarget.Window);
143
144             tlog.Debug(tag, $"WidgetImplWidgetInstanceOnResizeArgsWindow END (OK)");
145         }
146
147         [Test]
148         [Category("P1")]
149         [Description("WidgetImpl.WidgetInstanceOnUpdateArgs.ContentInfo.")]
150         [Property("SPEC", "Tizen.NUI.WidgetImpl.WidgetInstanceOnUpdateArgs.ContentInfo A")]
151         [Property("SPEC_URL", "-")]
152         [Property("CRITERIA", "PRW")]
153         [Property("AUTHOR", "guowei.wang@samsung.com")]
154         public void WidgetImplWidgetInstanceOnUpdateArgsContentInfo()
155         {
156             tlog.Debug(tag, $"WidgetImplWidgetInstanceOnUpdateArgsContentInfo START");
157
158             var testingTarget = new WidgetImpl.WidgetInstanceOnUpdateArgs();
159             Assert.IsNotNull(testingTarget, "Can't create success object WidgetInstanceOnUpdateArgs");
160             Assert.IsInstanceOf<WidgetImpl.WidgetInstanceOnUpdateArgs>(testingTarget, "Should be an instance of WidgetInstanceOnUpdateArgs type.");
161
162             tlog.Debug(tag, "Default testingTarget.ContentInfo is : " + testingTarget.ContentInfo);
163
164             testingTarget.ContentInfo = "WidgetInstanceOnUpdateArgs";
165             tlog.Debug(tag, "testingTarget.ContentInfo : " + testingTarget.ContentInfo);
166
167             tlog.Debug(tag, $"WidgetImplWidgetInstanceOnUpdateArgsContentInfo END (OK)");
168         }
169
170         [Test]
171         [Category("P1")]
172         [Description("WidgetImpl.WidgetInstanceOnUpdateArgs.Force.")]
173         [Property("SPEC", "Tizen.NUI.WidgetImpl.WidgetInstanceOnUpdateArgs.Force A")]
174         [Property("SPEC_URL", "-")]
175         [Property("CRITERIA", "PRW")]
176         [Property("AUTHOR", "guowei.wang@samsung.com")]
177         public void WidgetImplWidgetInstanceOnUpdateArgsForce()
178         {
179             tlog.Debug(tag, $"WidgetImplWidgetInstanceOnUpdateArgsForce START");
180
181             var testingTarget = new WidgetImpl.WidgetInstanceOnUpdateArgs();
182             Assert.IsNotNull(testingTarget, "Can't create success object WidgetInstanceOnUpdateArgs");
183             Assert.IsInstanceOf<WidgetImpl.WidgetInstanceOnUpdateArgs>(testingTarget, "Should be an instance of WidgetInstanceOnUpdateArgs type.");
184
185             tlog.Debug(tag, "Default testingTarget.Force is : " + testingTarget.Force);
186
187             testingTarget.Force = 0;
188             tlog.Debug(tag, "testingTarget.Force : " + testingTarget.Force);
189
190             tlog.Debug(tag, $"WidgetImplWidgetInstanceOnUpdateArgsForce END (OK)");
191         }
192
193         [Test]
194         [Category("P1")]
195         [Description("WidgetImpl.SetImpl.")]
196         [Property("SPEC", "Tizen.NUI.WidgetImpl.SetImpl M")]
197         [Property("SPEC_URL", "-")]
198         [Property("CRITERIA", "MR")]
199         [Property("AUTHOR", "guowei.wang@samsung.com")]
200         public void WidgetImplSetImpl()
201         {
202             tlog.Debug(tag, $"WidgetImplSetImpl START");
203
204             var testingTarget = new WidgetImpl();
205             Assert.IsNotNull(testingTarget, "Can't create success object WidgetImpl");
206             Assert.IsInstanceOf<WidgetImpl>(testingTarget, "Should be an instance of WidgetImpl type.");
207
208             Widget widget = new Widget();
209
210             try
211             {
212                 testingTarget.SetImpl(new SWIGTYPE_p_Dali__Widget__Impl(widget.GetIntPtr()));
213             }
214             catch (Exception e)
215             {
216                 tlog.Debug(tag, e.Message.ToString());
217                 Assert.Fail("Caught Exception: Failed!");
218             }
219
220             widget.Dispose();
221             widget = null;
222
223             testingTarget.Dispose();
224             testingTarget = null;
225             tlog.Debug(tag, $"WidgetImplSetImpl END (OK)");
226         }
227
228         [Test]
229         [Category("P1")]
230         [Description("WidgetImpl.OnCreate.")]
231         [Property("SPEC", "Tizen.NUI.WidgetImpl.OnCreate M")]
232         [Property("SPEC_URL", "-")]
233         [Property("CRITERIA", "MR")]
234         [Property("AUTHOR", "guowei.wang@samsung.com")]
235         public void WidgetImplOnCreate()
236         {
237             tlog.Debug(tag, $"WidgetImplOnCreate START");
238
239             var testingTarget = new WidgetImpl();
240             Assert.IsNotNull(testingTarget, "Can't create success object WidgetImpl");
241             Assert.IsInstanceOf<WidgetImpl>(testingTarget, "Should be an instance of WidgetImpl type.");
242
243             try
244             {
245                 testingTarget.OnCreate("WidgetImplOnCreate", Window.Instance);
246             }
247             catch (Exception e)
248             {
249                 tlog.Debug(tag, e.Message.ToString());
250                 Assert.Fail("Caught Exception: Failed!");
251             }
252             
253             testingTarget.Dispose();
254             testingTarget = null;
255             tlog.Debug(tag, $"WidgetImplOnCreate END (OK)");
256         }
257
258         [Test]
259         [Category("P1")]
260         [Description("WidgetImpl.OnTerminate. Type is Permanent.")]
261         [Property("SPEC", "Tizen.NUI.WidgetImpl.OnTerminate M")]
262         [Property("SPEC_URL", "-")]
263         [Property("CRITERIA", "MR")]
264         [Property("AUTHOR", "guowei.wang@samsung.com")]
265         public void WidgetImplOnTerminatePermanent()
266         {
267             tlog.Debug(tag, $"WidgetImplOnTerminatePermanent START");
268
269             var testingTarget = new WidgetImpl();
270             Assert.IsNotNull(testingTarget, "Can't create success object WidgetImpl");
271             Assert.IsInstanceOf<WidgetImpl>(testingTarget, "Should be an instance of WidgetImpl type.");
272
273             try
274             {
275                 testingTarget.OnTerminate("WidgetImplOnTerminate", Widget.TerminationType.Permanent);
276             }
277             catch (Exception e)
278             {
279                 tlog.Debug(tag, e.Message.ToString());
280                 Assert.Fail("Caught Exception: Failed!");
281             }
282
283             testingTarget.Dispose();
284             testingTarget = null;
285             tlog.Debug(tag, $"WidgetImplOnTerminatePermanent END (OK)");
286         }
287
288         [Test]
289         [Category("P1")]
290         [Description("WidgetImpl.OnTerminate. Type is Temporary.")]
291         [Property("SPEC", "Tizen.NUI.WidgetImpl.OnTerminate M")]
292         [Property("SPEC_URL", "-")]
293         [Property("CRITERIA", "MR")]
294         [Property("AUTHOR", "guowei.wang@samsung.com")]
295         public void WidgetImplOnTerminateTemporary()
296         {
297             tlog.Debug(tag, $"WidgetImplOnTerminateTemporary START");
298
299             var testingTarget = new WidgetImpl();
300             Assert.IsNotNull(testingTarget, "Can't create success object WidgetImpl");
301             Assert.IsInstanceOf<WidgetImpl>(testingTarget, "Should be an instance of WidgetImpl type.");
302
303             try
304             {
305                 testingTarget.OnTerminate("WidgetImplOnTerminate", Widget.TerminationType.Temporary);
306             }
307             catch (Exception e)
308             {
309                 tlog.Debug(tag, e.Message.ToString());
310                 Assert.Fail("Caught Exception: Failed!");
311             }
312
313             testingTarget.Dispose();
314             testingTarget = null;
315             tlog.Debug(tag, $"WidgetImplOnTerminateTemporary END (OK)");
316         }
317
318         [Test]
319         [Category("P1")]
320         [Description("WidgetImpl.OnPause.")]
321         [Property("SPEC", "Tizen.NUI.WidgetImpl.OnPause M")]
322         [Property("SPEC_URL", "-")]
323         [Property("CRITERIA", "MR")]
324         [Property("AUTHOR", "guowei.wang@samsung.com")]
325         public void WidgetImplOnPause()
326         {
327             tlog.Debug(tag, $"WidgetImplOnPause START");
328
329             var testingTarget = new WidgetImpl();
330             Assert.IsNotNull(testingTarget, "Can't create success object WidgetImpl");
331             Assert.IsInstanceOf<WidgetImpl>(testingTarget, "Should be an instance of WidgetImpl type.");
332
333             try
334             {
335                 testingTarget.OnPause();
336             }
337             catch (Exception e)
338             {
339                 tlog.Debug(tag, e.Message.ToString());
340                 Assert.Fail("Caught Exception: Failed!");
341             }
342
343             testingTarget.Dispose();
344             testingTarget = null;
345             tlog.Debug(tag, $"WidgetImplOnPause END (OK)");
346         }
347
348         [Test]
349         [Category("P1")]
350         [Description("WidgetImpl.OnResume.")]
351         [Property("SPEC", "Tizen.NUI.WidgetImpl.OnResume M")]
352         [Property("SPEC_URL", "-")]
353         [Property("CRITERIA", "MR")]
354         [Property("AUTHOR", "guowei.wang@samsung.com")]
355         public void WidgetImplOnResume()
356         {
357             tlog.Debug(tag, $"WidgetImplOnResume START");
358
359             var testingTarget = new WidgetImpl();
360             Assert.IsNotNull(testingTarget, "Can't create success object WidgetImpl");
361             Assert.IsInstanceOf<WidgetImpl>(testingTarget, "Should be an instance of WidgetImpl type.");
362
363             try
364             {
365                 testingTarget.OnResume();
366             }
367             catch (Exception e)
368             {
369                 tlog.Debug(tag, e.Message.ToString());
370                 Assert.Fail("Caught Exception: Failed!");
371             }
372
373             testingTarget.Dispose();
374             testingTarget = null;
375             tlog.Debug(tag, $"WidgetImplOnResume END (OK)");
376         }
377
378         [Test]
379         [Category("P1")]
380         [Description("WidgetImpl.OnResize.")]
381         [Property("SPEC", "Tizen.NUI.WidgetImpl.OnResize M")]
382         [Property("SPEC_URL", "-")]
383         [Property("CRITERIA", "MR")]
384         [Property("AUTHOR", "guowei.wang@samsung.com")]
385         public void WidgetImplOnResize()
386         {
387             tlog.Debug(tag, $"WidgetImplOnResize START");
388
389             var testingTarget = new WidgetImpl();
390             Assert.IsNotNull(testingTarget, "Can't create success object WidgetImpl");
391             Assert.IsInstanceOf<WidgetImpl>(testingTarget, "Should be an instance of WidgetImpl type.");
392
393             try
394             {
395                 testingTarget.OnResize(Window.Instance);
396             }
397             catch (Exception e)
398             {
399                 tlog.Debug(tag, e.Message.ToString());
400                 Assert.Fail("Caught Exception: Failed!");
401             }
402
403             testingTarget.Dispose();
404             testingTarget = null;
405             tlog.Debug(tag, $"WidgetImplOnResize END (OK)");
406         }
407
408         [Test]
409         [Category("P1")]
410         [Description("WidgetImpl.OnUpdate.")]
411         [Property("SPEC", "Tizen.NUI.WidgetImpl.OnUpdate M")]
412         [Property("SPEC_URL", "-")]
413         [Property("CRITERIA", "MR")]
414         [Property("AUTHOR", "guowei.wang@samsung.com")]
415         public void WidgetImplOnUpdate()
416         {
417             tlog.Debug(tag, $"WidgetImplOnUpdate START");
418
419             var testingTarget = new WidgetImpl();
420             Assert.IsNotNull(testingTarget, "Can't create success object WidgetImpl");
421             Assert.IsInstanceOf<WidgetImpl>(testingTarget, "Should be an instance of WidgetImpl type.");
422
423             try
424             {
425                 testingTarget.OnUpdate("WidgetImplOnUpdate", 0);
426             }
427             catch (Exception e)
428             {
429                 tlog.Debug(tag, e.Message.ToString());
430                 Assert.Fail("Caught Exception: Failed!");
431             }
432
433             testingTarget.Dispose();
434             testingTarget = null;
435             tlog.Debug(tag, $"WidgetImplOnUpdate END (OK)");
436         }
437     }
438 }