c3c2563bf5984acbd2d575eba250b64a9fbef68a
[platform/core/csapi/tizenfx.git] / test / Tizen.NUI.Tests / Tizen.NUI.Devel.Tests / testcase / public / Theme / TSTheme.cs
1 using NUnit.Framework;
2 using System;
3 using System.Collections.Generic;
4 using Tizen.NUI.BaseComponents;
5 using Tizen.NUI.Binding;
6
7 namespace Tizen.NUI.Devel.Tests
8 {
9     using tlog = Tizen.Log;
10
11     [TestFixture]
12     [Description("public/Theme/Theme")]
13     internal class PublicThemeTest
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("P2")]
31         [Description("Theme construcotr. xaml file path is null.")]
32         [Property("SPEC", "Tizen.NUI.Theme.Theme C")]
33         [Property("SPEC_URL", "-")]
34         [Property("CRITERIA", "CONSTR")]
35         [Property("COVPARAM", "")]
36         public void ThemeConstructorWithUnavailablePath()
37         {
38             tlog.Debug(tag, $"ThemeConstructorWithUnavailablePath START");
39
40             try
41             {
42                 Theme a1 = new Theme("");
43             }
44             catch (ArgumentNullException e)
45             {
46                 tlog.Debug(tag, e.Message.ToString());
47                 tlog.Debug(tag, $"ThemeConstructorWithUnavailablePath END (OK)");
48                 Assert.Pass("Caught ArgumentNullException : Passed!");
49             }
50         }
51
52         [Test]
53         [Category("P1")]
54         [Description("test Theme BasedOn.")]
55         [Property("SPEC", "Tizen.NUI.Theme.BasedOn A")]
56         [Property("SPEC_URL", "-")]
57         [Property("CRITERIA", "PRW")]
58         [Property("COVPARAM", "")]
59         public void ThemeBasedOn()
60         {
61             tlog.Debug(tag, $"ThemeBasedOn START");
62             Theme a1 = new Theme();
63
64             string b1 = a1.BasedOn;
65             a1.BasedOn = b1;
66
67             tlog.Debug(tag, $"ThemeBasedOn END (OK)");
68             Assert.Pass("ThemeBasedOn");
69         }
70
71         [Test]
72         [Category("P1")]
73         [Description("test Theme IsResourcesCreated .")]
74         [Property("SPEC", "Tizen.NUI.Theme.IsResourcesCreated  A")]
75         [Property("SPEC_URL", "-")]
76         [Property("CRITERIA", "PRW")]
77         [Property("COVPARAM", "")]
78         public void ThemeIsResourcesCreated()
79         {
80             tlog.Debug(tag, $"ThemeIsResourcesCreated START");
81             Theme a1 = new Theme();
82
83             bool b1 = a1.IsResourcesCreated;
84
85             tlog.Debug(tag, $"ThemeIsResourcesCreated END (OK)");
86             Assert.Pass("ThemeIsResourcesCreated");
87         }
88
89         [Test]
90         [Category("P1")]
91         [Description("test Theme Resources .")]
92         [Property("SPEC", "Tizen.NUI.Theme.Resources  A")]
93         [Property("SPEC_URL", "-")]
94         [Property("CRITERIA", "PRW")]
95         [Property("COVPARAM", "")]
96         public void ThemeResources()
97         {
98             tlog.Debug(tag, $"ThemeResources START");
99             Theme a1 = new Theme();
100
101             ResourceDictionary b1 = a1.Resources;
102
103             tlog.Debug(tag, $"ThemeResources END (OK)");
104             Assert.Pass("ThemeResources");
105         }
106
107         [Test]
108         [Category("P1")]
109         [Description("test Theme Clear .")]
110         [Property("SPEC", "Tizen.NUI.Theme.Clear  M")]
111         [Property("SPEC_URL", "-")]
112         [Property("CRITERIA", "MR")]
113         [Property("COVPARAM", "")]
114         public void ThemeClear()
115         {
116             tlog.Debug(tag, $"ThemeClear START");
117             Theme a1 = new Theme();
118
119             a1.Clear();
120
121             tlog.Debug(tag, $"ThemeClear END (OK)");
122             Assert.Pass("ThemeClear");
123         }
124
125         [Test]
126         [Category("P1")]
127         [Description("test Theme HasStyle .")]
128         [Property("SPEC", "Tizen.NUI.Theme.HasStyle  M")]
129         [Property("SPEC_URL", "-")]
130         [Property("CRITERIA", "MR")]
131         [Property("COVPARAM", "")]
132         public void ThemeHasStyle()
133         {
134             tlog.Debug(tag, $"ThemeHasStyle START");
135             Theme a1 = new Theme();
136
137             a1.HasStyle("red");
138
139             tlog.Debug(tag, $"ThemeHasStyle END (OK)");
140             Assert.Pass("ThemeHasStyle");
141         }
142
143         [Test]
144         [Category("P1")]
145         [Description("test Theme RemoveStyle .")]
146         [Property("SPEC", "Tizen.NUI.Theme.RemoveStyle  M")]
147         [Property("SPEC_URL", "-")]
148         [Property("CRITERIA", "MR")]
149         [Property("COVPARAM", "")]
150         public void ThemeRemoveStyle()
151         {
152             tlog.Debug(tag, $"ThemeRemoveStyle START");
153             Theme a1 = new Theme();
154
155             a1.RemoveStyle("red");
156
157             tlog.Debug(tag, $"ThemeRemoveStyle END (OK)");
158             Assert.Pass("ThemeRemoveStyle");
159         }
160
161         [Test]
162         [Category("P1")]
163         [Description("test Theme Clone .")]
164         [Property("SPEC", "Tizen.NUI.Theme.Clone  M")]
165         [Property("SPEC_URL", "-")]
166         [Property("CRITERIA", "MR")]
167         [Property("COVPARAM", "")]
168         public void ThemeClone()
169         {
170             tlog.Debug(tag, $"ThemeClone START");
171             Theme a1 = new Theme();
172
173             a1.Clone();
174
175             tlog.Debug(tag, $"ThemeAddStyle END (OK)");
176             Assert.Pass("ThemeAddStyle");
177         }
178
179         [Test]
180         [Category("P1")]
181         [Description("Theme Merge .")]
182         [Property("SPEC", "Tizen.NUI.Theme.Merge  M")]
183         [Property("SPEC_URL", "-")]
184         [Property("CRITERIA", "MR")]
185         [Property("COVPARAM", "")]
186         public void ThemeMerge()
187         {
188             tlog.Debug(tag, $"ThemeMerge START");
189
190             ViewStyle style = new ViewStyle()
191             {
192                 Size = new Size2D(100, 30),
193                 Focusable = true
194             };
195             Theme a1 = new Theme();
196             a1.Version = "0.1";
197             a1.AddStyle("myStyle", style);
198
199             ViewStyle style1 = new ViewStyle() 
200             {
201                 Margin = new Extents(4, 2, 3, 7)
202             };
203             Theme t1 = new Theme();
204             t1.Id = "t1";
205             t1.Version = "1.0";
206             t1.AddStyle("myStyle", style1);
207
208             try
209             {
210                 a1.Merge(t1);
211             }
212             catch (Exception e)
213             {
214                 tlog.Debug(tag, e.Message.ToString());
215                 Assert.Fail("Caught Exception: Failed!");
216             }
217
218             tlog.Debug(tag, $"ThemeMerge END (OK)");
219         }
220
221         [Test]
222         [Category("P2")]
223         [Description("Theme Merge. Parameter is null.")]
224         [Property("SPEC", "Tizen.NUI.Theme.Merge  M")]
225         [Property("SPEC_URL", "-")]
226         [Property("CRITERIA", "MR")]
227         [Property("COVPARAM", "")]
228         public void ThemeMergeWithNullParameter()
229         {
230             tlog.Debug(tag, $"ThemeMergeWithNullParameter START");
231             Theme a1 = new Theme();
232             Theme b1 = new Theme();
233
234             Theme t2 = null;
235             try
236             {
237                 a1.Merge(t2);
238             }
239             catch (ArgumentNullException e)
240             {
241                 tlog.Debug(tag, e.Message.ToString());
242                 tlog.Debug(tag, $"ThemeMergeWithNullParameter END (OK)");
243                 Assert.Pass("Caught ArgumentNullException: Passed!");
244             }
245             
246
247             string tmp = a1.Id;
248             a1.Id = null;
249
250             a1.Merge(b1);
251
252             a1.Id = tmp;
253             tmp = a1.Version;
254             a1.Version = null;
255             a1.Merge(b1);
256         }
257
258         [Test]
259         [Category("P2")]
260         [Description("Theme Merge. Id is null.")]
261         [Property("SPEC", "Tizen.NUI.Theme.Merge  M")]
262         [Property("SPEC_URL", "-")]
263         [Property("CRITERIA", "MR")]
264         [Property("COVPARAM", "")]
265         public void ThemeMergeWithNullId()
266         {
267             tlog.Debug(tag, $"ThemeMergeWithNullId START");
268             Theme a1 = new Theme();
269             Theme b1 = new Theme();
270
271             a1.Id = null;
272             a1.Merge(b1);
273             Assert.AreEqual(a1.Id, b1.Id, "Should be equal!");
274
275             tlog.Debug(tag, $"ThemeMergeWithNullId END (OK)");
276         }
277
278         [Test]
279         [Category("P2")]
280         [Description("Theme Merge. Version is null.")]
281         [Property("SPEC", "Tizen.NUI.Theme.Merge  M")]
282         [Property("SPEC_URL", "-")]
283         [Property("CRITERIA", "MR")]
284         [Property("COVPARAM", "")]
285         public void ThemeMergeWithNullVersion()
286         {
287             tlog.Debug(tag, $"ThemeMergeWithNullVersion START");
288             Theme a1 = new Theme();
289             Theme b1 = new Theme();
290
291             a1.Version = null;
292             a1.Merge(b1);
293             Assert.AreEqual(a1.Version, b1.Version, "Should be equal!");
294
295             tlog.Debug(tag, $"ThemeMergeWithNullVersion END (OK)");
296         }
297
298         [Test]
299         [Category("P1")]
300         [Description("test Theme HasSameIdAndVersion .")]
301         [Property("SPEC", "Tizen.NUI.Theme.HasSameIdAndVersion  M")]
302         [Property("SPEC_URL", "-")]
303         [Property("CRITERIA", "MR")]
304         [Property("COVPARAM", "")]
305         public void ThemeHasSameIdAndVersion()
306         {
307             tlog.Debug(tag, $"ThemeHasSameIdAndVersion START");
308             Theme a1 = new Theme();
309             a1.HasSameIdAndVersion("themeid", "1.0");
310
311             tlog.Debug(tag, $"ThemeHasSameIdAndVersion END (OK)");
312             Assert.Pass("ThemeHasSameIdAndVersion");
313         }
314         [Test]
315         [Category("P1")]
316         [Description("test Theme OnThemeResourcesChanged .")]
317         [Property("SPEC", "Tizen.NUI.Theme.OnThemeResourcesChanged  M")]
318         [Property("SPEC_URL", "-")]
319         [Property("CRITERIA", "MR")]
320         [Property("COVPARAM", "")]
321         public void ThemeOnThemeResourcesChanged()
322         {
323             tlog.Debug(tag, $"ThemeOnThemeResourcesChanged START");
324             Theme a1 = new Theme();
325
326             a1.OnThemeResourcesChanged();
327
328             tlog.Debug(tag, $"ThemeOnThemeResourcesChanged END (OK)");
329             Assert.Pass("ThemeOnThemeResourcesChanged");
330         }
331     }
332 }
333