[NUI] Add Application(Internal & Public) TCs.
[platform/core/csapi/tizenfx.git] / test / Tizen.NUI.Tests / Tizen.NUI.TCT / testcase / public / Application / TSNUIWidgetApplication.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("public/Application/NUIWidgetApplication")]
14
15     public class MyWidget : Widget
16     {
17         protected override void OnCreate(string contentInfo, Window window)
18         {
19             window.BackgroundColor = Color.White;
20             TextLabel textLabel = new TextLabel("Widget Works");
21
22             window.GetDefaultLayer().Add(textLabel);
23             base.OnCreate(contentInfo, window);
24         }
25     }
26
27     public class PublicNUIWidgetApplicationTest
28     {
29         private const string tag = "NUITEST";
30
31         [SetUp]
32         public void Init()
33         {
34             tlog.Info(tag, "Init() is called!");
35         }
36
37         [TearDown]
38         public void Destroy()
39         {
40             tlog.Info(tag, "Destroy() is called!");
41         }
42
43         [Test]
44         [Category("P1")]
45         [Description("NUIWidgetApplication constructor.")]
46         [Property("SPEC", "Tizen.NUI.NUIWidgetApplication.NUIWidgetApplication C")]
47         [Property("SPEC_URL", "-")]
48         [Property("CRITERIA", "CONSTR")]
49         [Property("AUTHOR", "guowei.wang@samsung.com")]
50         public void NUIWidgetApplicationConstructor()
51         {
52             tlog.Debug(tag, $"NUIWidgetApplicationConstructor START");
53
54             var testingTarget = new NUIWidgetApplication(typeof(MyWidget));
55             Assert.IsNotNull(testingTarget, "should be not null.");
56             Assert.IsInstanceOf<NUIWidgetApplication>(testingTarget, "Should be an instance of NUIWidgetApplication type.");
57
58             testingTarget.Dispose();
59             tlog.Debug(tag, $"NUIWidgetApplicationConstructor END (OK)");
60         }
61
62         [Test]
63         [Category("P1")]
64         [Description("NUIWidgetApplication constructor. With stylesheet.")]
65         [Property("SPEC", "Tizen.NUI.NUIWidgetApplication.NUIWidgetApplication C")]
66         [Property("SPEC_URL", "-")]
67         [Property("CRITERIA", "CONSTR")]
68         [Property("AUTHOR", "guowei.wang@partner.samsung.com")]
69         public void NUIWidgetApplicationConstructorWithStylesheet()
70         {
71             tlog.Debug(tag, $"NUIWidgetApplicationConstructorWithStylesheet START");
72
73             var testingTarget = new NUIWidgetApplication(typeof(MyWidget), "stylesheet");
74             Assert.IsNotNull(testingTarget, "should be not null.");
75             Assert.IsInstanceOf<NUIWidgetApplication>(testingTarget, "Should be an instance of NUIWidgetApplication type.");
76
77             testingTarget.Dispose();
78             tlog.Debug(tag, $"NUIWidgetApplicationConstructorWithStylesheet END (OK)");
79         }
80
81         [Test]
82         [Category("P1")]
83         [Description("NUIWidgetApplication constructor. With multi class.")]
84         [Property("SPEC", "Tizen.NUI.NUIWidgetApplication.NUIWidgetApplication C")]
85         [Property("SPEC_URL", "-")]
86         [Property("CRITERIA", "CONSTR")]
87         [Property("AUTHOR", "guowei.wang@samsung.com")]
88         public void NUIWidgetApplicationConstructorWithMultiClass()
89         {
90             tlog.Debug(tag, $"NUIWidgetApplicationConstructorWithMultiClass START");
91
92             Dictionary<Type, string> widgetSet = new Dictionary<Type, string>();
93             widgetSet.Add(typeof(MyWidget), "Tizen.NUI.Tests");
94
95             var testingTarget = new NUIWidgetApplication(widgetSet);
96             Assert.IsNotNull(testingTarget, "should be not null.");
97             Assert.IsInstanceOf<NUIWidgetApplication>(testingTarget, "Should be an instance of NUIWidgetApplication type.");
98
99             testingTarget.Dispose();
100             tlog.Debug(tag, $"NUIWidgetApplicationConstructorWithMultiClass END (OK)");
101         }
102
103         [Test]
104         [Category("P2")]
105         [Description("NUIWidgetApplication constructor. With invalid value.")]
106         [Property("SPEC", "Tizen.NUI.NUIWidgetApplication.NUIWidgetApplication C")]
107         [Property("SPEC_URL", "-")]
108         [Property("CRITERIA", "CONSTR")]
109         [Property("AUTHOR", "guowei.wang@samsung.com")]
110         public void NUIWidgetApplicationConstructorWithNullValue()
111         {
112             tlog.Debug(tag, $"NUIWidgetApplicationConstructorWithNullValue START");
113
114             try
115             {
116                 Dictionary<Type, string> widgetSet = null;
117                 var testingTarget = new NUIWidgetApplication(widgetSet);
118             }
119             catch (InvalidOperationException e)
120             {
121                 Assert.Pass("Create a NUIWidgetApplication with invalid Dictionary");
122             }
123
124             tlog.Debug(tag, $"NUIWidgetApplicationConstructorWithNullValue END (OK)");
125         }
126
127         [Test]
128         [Category("P1")]
129         [Description("NUIWidgetApplication Dispose.")]
130         [Property("SPEC", "Tizen.NUI.NUIWidgetApplication.Dispose M")]
131         [Property("SPEC_URL", "-")]
132         [Property("CRITERIA", "MR")]
133         [Property("AUTHOR", "guowei.wang@partner.samsung.com")]
134         public void NUIWidgetApplicationDispose()
135         {
136             tlog.Debug(tag, $"NUIWidgetApplicationDispose START");
137
138             try
139             {
140                 var testingTarget = new NUIWidgetApplication(typeof(MyWidget));
141                 Assert.IsNotNull(testingTarget, "should be not null.");
142                 Assert.IsInstanceOf<NUIWidgetApplication>(testingTarget, "Should be an instance of NUIWidgetApplication type.");
143
144                 testingTarget.Dispose();
145             }
146             catch (Exception e)
147             {
148                 tlog.Error(tag, "Caught Exception" + e.ToString());
149                 LogUtils.Write(LogUtils.DEBUG, LogUtils.TAG, "Caught Exception" + e.ToString());
150                 Assert.Fail("Caught Exception" + e.ToString());
151             }
152
153             tlog.Debug(tag, $"NUIWidgetApplicationDispose END (OK)");
154         }
155     }
156 }