c09d820f22651f826b8cc3f668613e12855c80c3
[platform/core/csapi/tizenfx.git] / test / Tizen.NUI.Tests / Tizen.NUI.Devel.Tests / testcase / internal / Widget / TSWidgetApplication.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 namespace Tizen.NUI.Devel.Tests
9 {
10     using tlog = Tizen.Log;
11
12     [TestFixture]
13     [Description("Internal/Widget/WidgetApplication")]
14     public class InternalWidgetApplicationTest
15     {
16         private const string tag = "NUITEST";
17
18         internal class MyWidgetApplication : WidgetApplication
19         {
20             public MyWidgetApplication(global::System.IntPtr cPtr, bool cMemoryOwn) : base(cPtr, cMemoryOwn)
21             { }
22
23             public void OnReleaseSwigCPtr(global::System.Runtime.InteropServices.HandleRef swigCPtr)
24             {
25                 base.ReleaseSwigCPtr(swigCPtr);
26             }
27         }
28
29         [SetUp]
30         public void Init()
31         {
32             tlog.Info(tag, "Init() is called!");
33         }
34
35         [TearDown]
36         public void Destroy()
37         {
38             tlog.Info(tag, "Destroy() is called!");
39         }
40
41         [Test]
42         [Category("P1")]
43         [Description("WidgetApplication Constructor.")]
44         [Property("SPEC", "Tizen.NUI.WidgetApplication.WidgetApplication C")]
45         [Property("SPEC_URL", "-")]
46         [Property("CRITERIA", "CONSTR")]
47         [Property("AUTHOR", "guowei.wang@samsung.com")]
48         public void WidgetApplicationConstructor()
49         {
50             tlog.Debug(tag, $"WidgetApplicationConstructor START");
51
52             Widget widget = new Widget();
53
54             var testingTarget = new WidgetApplication(widget.GetIntPtr(), false);
55             Assert.IsNotNull(testingTarget, "Can't create success object WidgetApplication");
56             Assert.IsInstanceOf<WidgetApplication>(testingTarget, "Should be an instance of WidgetApplication type.");
57
58             widget.Dispose();
59             widget = null;
60
61             testingTarget.Dispose();
62             testingTarget = null;
63             tlog.Debug(tag, $"WidgetApplicationConstructor END (OK)");
64         }
65
66         [Test]
67         [Category("P1")]
68         [Description("WidgetApplication Constructor. With WidgetApplication.")]
69         [Property("SPEC", "Tizen.NUI.WidgetApplication.WidgetApplication C")]
70         [Property("SPEC_URL", "-")]
71         [Property("CRITERIA", "CONSTR")]
72         [Property("AUTHOR", "guowei.wang@samsung.com")]
73         public void WidgetApplicationConstructorWithWidgetApplication()
74         {
75             tlog.Debug(tag, $"WidgetApplicationConstructorWithWidgetApplication START");
76
77             Widget widget = new Widget();
78
79             WidgetApplication widgetApplication = new WidgetApplication(widget.GetIntPtr(), false);
80             Assert.IsNotNull(widgetApplication, "Can't create success object WidgetApplication");
81             Assert.IsInstanceOf<WidgetApplication>(widgetApplication, "Should be an instance of WidgetApplication type.");
82
83             var testingTarget = new WidgetApplication(widgetApplication);
84             Assert.IsNotNull(testingTarget, "Can't create success object WidgetApplication");
85             Assert.IsInstanceOf<WidgetApplication>(testingTarget, "Should be an instance of WidgetApplication type.");
86
87             widget.Dispose();
88             widget = null;
89
90             widgetApplication.Dispose();
91             widgetApplication = null;
92
93             testingTarget.Dispose();
94             testingTarget = null;
95             tlog.Debug(tag, $"WidgetApplicationConstructorWithWidgetApplication END (OK)");
96         }
97
98         [Test]
99         [Category("P1")]
100         [Description("WidgetApplication Assign.")]
101         [Property("SPEC", "Tizen.NUI.WidgetApplication.Assign M")]
102         [Property("SPEC_URL", "-")]
103         [Property("CRITERIA", "MR")]
104         [Property("AUTHOR", "guowei.wang@samsung.com")]
105         public void WidgetApplicationAssign()
106         {
107             tlog.Debug(tag, $"WidgetApplicationAssign START");
108
109             Widget widget = new Widget();
110
111             WidgetApplication widgetApplication = new WidgetApplication(widget.GetIntPtr(), false);
112             Assert.IsNotNull(widgetApplication, "Can't create success object WidgetApplication");
113             Assert.IsInstanceOf<WidgetApplication>(widgetApplication, "Should be an instance of WidgetApplication type.");
114
115             var testingTarget = widgetApplication.Assign(widgetApplication);
116             Assert.IsNotNull(testingTarget, "Can't create success object WidgetApplication");
117             Assert.IsInstanceOf<WidgetApplication>(testingTarget, "Should be an instance of WidgetApplication type.");
118
119             widget.Dispose();
120             widget = null;
121
122             widgetApplication.Dispose();
123             widgetApplication = null;
124
125             testingTarget.Dispose();
126             testingTarget = null;
127             tlog.Debug(tag, $"WidgetApplicationAssign END (OK)");
128         }
129
130         [Test]
131         [Category("P1")]
132         [Description("WidgetApplication ReleaseSwigCPtr.")]
133         [Property("SPEC", "Tizen.NUI.WidgetApplication.ReleaseSwigCPtr M")]
134         [Property("SPEC_URL", "-")]
135         [Property("CRITERIA", "MR")]
136         [Property("AUTHOR", "guowei.wang@samsung.com")]
137         public void WidgetApplicationReleaseSwigCPtr()
138         {
139             tlog.Debug(tag, $"WidgetApplicationReleaseSwigCPtr START");
140
141             Widget widget = new Widget();
142
143             var testingTarget = new MyWidgetApplication(widget.GetIntPtr(), false);
144             Assert.IsNotNull(testingTarget, "Can't create success object WidgetApplication");
145             Assert.IsInstanceOf<WidgetApplication>(testingTarget, "Should be an instance of WidgetApplication type.");
146
147             try
148             {
149                 testingTarget.OnReleaseSwigCPtr(widget.SwigCPtr);
150             }
151             catch (Exception e)
152             {
153                 tlog.Debug(tag, e.Message.ToString());
154                 Assert.Fail("Caught Exception: Failed!");
155             }
156
157             testingTarget.Dispose();
158             testingTarget = null;
159             tlog.Debug(tag, $"WidgetApplicationReleaseSwigCPtr END (OK)");
160         }
161
162         [Test]
163         [Category("P1")]
164         [Description("WidgetApplication AddWidgetInstance.")]
165         [Property("SPEC", "Tizen.NUI.WidgetApplication.AddWidgetInstance M")]
166         [Property("SPEC_URL", "-")]
167         [Property("CRITERIA", "MR")]
168         [Property("AUTHOR", "guowei.wang@samsung.com")]
169         public void WidgetApplicationAddWidgetInstance()
170         {
171             tlog.Debug(tag, $"WidgetApplicationAddWidgetInstance START");
172
173             Widget widget = new Widget();
174
175             var testingTarget = new WidgetApplication(widget.GetIntPtr(), false);
176             Assert.IsNotNull(testingTarget, "Can't create success object WidgetApplication");
177             Assert.IsInstanceOf<WidgetApplication>(testingTarget, "Should be an instance of WidgetApplication type.");
178
179             try
180             {
181                 testingTarget.AddWidgetInstance(widget);
182             }
183             catch (Exception e)
184             {
185                 tlog.Debug(tag, e.Message.ToString());
186                 Assert.Fail("Caught Exception: Failed!");
187             }
188
189             widget.Dispose();
190             widget = null;
191
192             testingTarget.Dispose();
193             testingTarget = null;
194             tlog.Debug(tag, $"WidgetApplicationAddWidgetInstance END (OK)");
195         }
196
197         [Test]
198         [Category("P1")]
199         [Description("WidgetApplication RegisterWidgetInfo.")]
200         [Property("SPEC", "Tizen.Applications.WidgetApplication.RegisterWidgetInfo M")]
201         [Property("SPEC_URL", "-")]
202         [Property("CRITERIA", "MR")]
203         [Property("AUTHOR", "guowei.wang@samsung.com")]
204         public void WidgetApplicationRegisterWidgetInfo()
205         {
206             tlog.Debug(tag, $"WidgetApplicationRegisterWidgetInfo START");
207
208             Widget widget = new Widget();
209
210             var testingTarget = new WidgetApplication(widget.GetIntPtr(), false);
211             Assert.IsNotNull(testingTarget, "Can't create success object WidgetApplication");
212             Assert.IsInstanceOf<WidgetApplication>(testingTarget, "Should be an instance of WidgetApplication type.");
213
214             global::System.Collections.Generic.Dictionary<Type, string> widgetInfo = new global::System.Collections.Generic.Dictionary<Type, string>(){
215                 { typeof(Widget), "w1@org.tizen.WidgetApp"} };
216
217             try
218             {
219                 testingTarget.RegisterWidgetInfo(widgetInfo);
220             }
221             catch (Exception e)
222             {
223                 tlog.Debug(tag, e.Message.ToString());
224                 Assert.Fail("Caught Exception: Failed!");
225             }
226
227             widget.Dispose();
228             widget = null;
229
230             testingTarget.Dispose();
231             testingTarget = null;
232             tlog.Debug(tag, $"WidgetApplicationRegisterWidgetInfo END (OK)");
233         }
234
235         [Test]
236         [Category("P1")]
237         [Description("WidgetApplication WidgetCreateFunction.")]
238         [Property("SPEC", "Tizen.Applications.WidgetApplication.WidgetCreateFunction M")]
239         [Property("SPEC_URL", "-")]
240         [Property("CRITERIA", "MR")]
241         [Property("AUTHOR", "guowei.wang@samsung.com")]
242         public void WidgetApplicationWidgetCreateFunction()
243         {
244             tlog.Debug(tag, $"WidgetApplicationWidgetCreateFunction START");
245
246             tlog.Debug(tag, "WidgetApplication.Instance : " + WidgetApplication.Instance);
247
248             try
249             {
250                 string widgetName = null;
251                 WidgetApplication.WidgetCreateFunction(ref widgetName);
252             }
253             catch (Exception e)
254             {
255                 tlog.Debug(tag, e.Message.ToString());
256                 Assert.Fail("Caught Exception: Failed!");
257             }
258
259             tlog.Debug(tag, $"WidgetApplicationWidgetCreateFunction END (OK)");
260         }
261
262         [Test]
263         [Category("P1")]
264         [Description("WidgetApplication WidgetInfo.")]
265         [Property("SPEC", "Tizen.Applications.WidgetApplication.WidgetInfo M")]
266         [Property("SPEC_URL", "-")]
267         [Property("CRITERIA", "MR")]
268         [Property("AUTHOR", "guowei.wang@samsung.com")]
269         public void WidgetApplicationWidgetInfo()
270         {
271             tlog.Debug(tag, $"WidgetApplicationWidgetInfo START");
272
273             Widget widget = new Widget();
274
275             var testingTarget = new WidgetApplication(widget.GetIntPtr(), false);
276             Assert.IsNotNull(testingTarget, "Can't create success object WidgetApplication");
277             Assert.IsInstanceOf<WidgetApplication>(testingTarget, "Should be an instance of WidgetApplication type.");
278
279             global::System.Collections.Generic.Dictionary<Type, string> widgetInfo = new global::System.Collections.Generic.Dictionary<Type, string>(){
280                 { typeof(Widget), "w1@org.tizen.WidgetApp"} };
281             testingTarget.RegisterWidgetInfo(widgetInfo);
282
283             tlog.Debug(tag, "testingTarget.WidgetInfo : " + testingTarget.WidgetInfo);
284
285             widget.Dispose();
286             widget = null;
287
288             testingTarget.Dispose();
289             testingTarget = null;
290
291             tlog.Debug(tag, $"WidgetApplicationWidgetInfo END (OK)");
292         }
293     }
294 }