[NUI] Add TCs for NUI.Components.Devel.
[platform/core/csapi/tizenfx.git] / test / Tizen.NUI.Tests / Tizen.NUI.Components.Devel.Tests / testcase / Controls / RecyclerView / Item / TSDefaultTitleItem.cs
1 using NUnit.Framework;
2 using System;
3 using System.Collections.Generic;
4 using System.Text;
5 using System.Threading.Tasks;
6 using Tizen.NUI.BaseComponents;
7
8 namespace Tizen.NUI.Components.Devel.Tests
9 {
10     using tlog = Tizen.Log;
11
12     class TestDefaultTitleItem : DefaultTitleItem
13     {
14         public void LayoutTest()
15         {
16             base.LayoutChild();
17         }
18     }
19
20     [TestFixture]
21     [Description("Controls/RecyclerView/Item/DefaultTitleItem")]
22     class TSDefaultTitleItem
23     {
24         private const string tag = "NUITEST";
25
26         [SetUp]
27         public void Init()
28         {
29             tlog.Info(tag, "Init() is called!");
30         }
31
32         [TearDown]
33         public void Destroy()
34         {
35             tlog.Info(tag, "Destroy() is called!");
36         }
37
38         [Test]
39         [Category("P1")]
40         [Description("DefaultTitleItem constructor.")]
41         [Property("SPEC", "Tizen.NUI.Components.DefaultTitleItem C")]
42         [Property("SPEC_URL", "-")]
43         [Property("CRITERIA", "CONSTR")]
44         [Property("COVPARAM", "")]
45         [Property("AUTHOR", "huayong.xu@samsung.com")]
46         public void DefaultTitleItemConstructor()
47         {
48             tlog.Debug(tag, $"DefaultTitleItem START");
49
50             var testingTarget = new DefaultTitleItem();
51
52             Assert.IsNotNull(testingTarget, "should be not null");
53             Assert.IsInstanceOf<DefaultTitleItem>(testingTarget, "should be an instance of testing target class!");
54
55             testingTarget.Dispose();
56             tlog.Debug(tag, $"DefaultTitleItem END (OK)");
57         }
58
59         [Test]
60         [Category("P1")]
61         [Description("DefaultGridItem constructor.")]
62         [Property("SPEC", "Tizen.NUI.Components.DefaultGridItem C")]
63         [Property("SPEC_URL", "-")]
64         [Property("CRITERIA", "CONSTR")]
65         [Property("COVPARAM", "")]
66         [Property("AUTHOR", "huayong.xu@samsung.com")]
67         public void DefaultTitleItemConstructorWithStyle()
68         {
69             tlog.Debug(tag, $"DefaultTitleItem START");
70
71             var testingTarget = new DefaultTitleItem("Tizen.NUI.Components.DefaultTitleItem");
72
73             Assert.IsNotNull(testingTarget, "should be not null");
74             Assert.IsInstanceOf<DefaultTitleItem>(testingTarget, "should be an instance of testing target class!");
75
76             testingTarget.Dispose();
77             tlog.Debug(tag, $"DefaultTitleItem END (OK)");
78         }
79
80         [Test]
81         [Category("P1")]
82         [Description("DefaultGridItem constructor.")]
83         [Property("SPEC", "Tizen.NUI.Components.DefaultGridItem C")]
84         [Property("SPEC_URL", "-")]
85         [Property("CRITERIA", "CONSTR")]
86         [Property("COVPARAM", "")]
87         [Property("AUTHOR", "huayong.xu@samsung.com")]
88         public void DefaultTitleItemConstructorWithItemStyle()
89         {
90             tlog.Debug(tag, $"DefaultTitleItem START");
91
92             var style = new DefaultTitleItemStyle()
93             {
94                 SizeHeight = 60,
95                 Padding = new Extents(64, 64, 12, 12),
96                 Margin = new Extents(0, 0, 0, 0),
97                 BackgroundColor = new Selector<Color>()
98                 {
99                     Normal = new Color("#EEEEF1"),
100                 },
101                 Label = new TextLabelStyle()
102                 {
103                     PixelSize = 28,
104                     Ellipsis = true,
105                     TextColor = new Color("#001447"),
106                     ThemeChangeSensitive = false
107                 },
108                 Icon = new ViewStyle()
109                 {
110                     Margin = new Extents(40, 0, 0, 0)
111                 },
112                 Seperator = new ViewStyle()
113                 {
114                     Margin = new Extents(0, 0, 0, 0),
115                     BackgroundColor = new Color(0, 0, 0, 0),
116                 },
117             };
118             var testingTarget = new DefaultTitleItem(style);
119
120             Assert.IsNotNull(testingTarget, "should be not null");
121             Assert.IsInstanceOf<DefaultTitleItem>(testingTarget, "should be an instance of testing target class!");
122
123             testingTarget.Dispose();
124             tlog.Debug(tag, $"DefaultTitleItem END (OK)");
125         }
126
127         [Test]
128         [Category("P1")]
129         [Description("DefaultTitleItem Icon.")]
130         [Property("SPEC", "Tizen.NUI.Components.DefaultTitleItem.Icon A")]
131         [Property("SPEC_URL", "-")]
132         [Property("CRITERIA", "PRW")]
133         [Property("COVPARAM", "")]
134         [Property("AUTHOR", "huayong.xu@samsung.com")]
135         public void DefaultTitleItemIcon()
136         {
137             tlog.Debug(tag, $"DefaultTitleItem START");
138
139             var testingTarget = new DefaultTitleItem("Tizen.NUI.Components.DefaultTitleItem");
140
141             Assert.IsNotNull(testingTarget, "should be not null");
142             Assert.IsInstanceOf<DefaultTitleItem>(testingTarget, "should be an instance of testing target class!");
143
144             testingTarget.Icon = new View()
145             {
146                 Size = new Size(100, 100),
147             };
148             Assert.IsNotNull(testingTarget.Icon, "should be not null");
149
150             testingTarget.Dispose();
151             tlog.Debug(tag, $"DefaultTitleItem END (OK)");
152         }
153
154         [Test]
155         [Category("P2")]
156         [Description("DefaultTitleItem Icon.")]
157         [Property("SPEC", "Tizen.NUI.Components.DefaultTitleItem.Icon A")]
158         [Property("SPEC_URL", "-")]
159         [Property("CRITERIA", "PRW")]
160         [Property("COVPARAM", "")]
161         [Property("AUTHOR", "huayong.xu@samsung.com")]
162         public async Task DefaultTitleItemIconNull()
163         {
164             tlog.Debug(tag, $"DefaultTitleItem START");
165
166             TaskCompletionSource<bool> tcs = new TaskCompletionSource<bool>(false);
167             EventHandler onRelayout = (s, e) => { tcs.TrySetResult(true); };
168
169             var testingTarget = new DefaultTitleItem("Tizen.NUI.Components.DefaultTitleItem");
170             testingTarget.Relayout += onRelayout;
171
172             Assert.IsNotNull(testingTarget, "should be not null");
173             Assert.IsInstanceOf<DefaultTitleItem>(testingTarget, "should be an instance of testing target class!");
174
175             testingTarget.Label = new TextLabel()
176             {
177                 Text = "test",
178             };
179             Assert.IsNotNull(testingTarget.Label, "should be not null");
180
181             Window.Instance.Add(testingTarget);
182             var result = await tcs.Task;
183             Assert.IsTrue(result, "Relayout event should be invoked");
184
185             Assert.IsNotNull(testingTarget.Icon, "should be not null");
186
187             if (testingTarget != null)
188             {
189                 Window.Instance.Remove(testingTarget);
190                 testingTarget.Dispose();
191                 testingTarget = null;
192             }
193             tlog.Debug(tag, $"DefaultTitleItem END (OK)");
194         }
195
196         [Test]
197         [Category("P1")]
198         [Description("DefaultTitleItem Label.")]
199         [Property("SPEC", "Tizen.NUI.Components.DefaultTitleItem.Label A")]
200         [Property("SPEC_URL", "-")]
201         [Property("CRITERIA", "PRW")]
202         [Property("COVPARAM", "")]
203         [Property("AUTHOR", "huayong.xu@samsung.com")]
204         public void DefaultTitleItemLabel()
205         {
206             tlog.Debug(tag, $"DefaultTitleItem START");
207
208             var testingTarget = new DefaultTitleItem("Tizen.NUI.Components.DefaultTitleItem");
209
210             Assert.IsNotNull(testingTarget, "should be not null");
211             Assert.IsInstanceOf<DefaultTitleItem>(testingTarget, "should be an instance of testing target class!");
212
213             testingTarget.Label = new TextLabel()
214             {
215                 Text = "test",
216             };
217             Assert.IsNotNull(testingTarget.Label, "should be not null");
218
219             testingTarget.Dispose();
220             tlog.Debug(tag, $"DefaultTitleItem END (OK)");
221         }
222
223         [Test]
224         [Category("P1")]
225         [Description("DefaultTitleItem Text.")]
226         [Property("SPEC", "Tizen.NUI.Components.DefaultTitleItem.Text A")]
227         [Property("SPEC_URL", "-")]
228         [Property("CRITERIA", "PRW")]
229         [Property("COVPARAM", "")]
230         [Property("AUTHOR", "huayong.xu@samsung.com")]
231         public void DefaultTitleItemText()
232         {
233             tlog.Debug(tag, $"DefaultTitleItem START");
234
235             var testingTarget = new DefaultTitleItem("Tizen.NUI.Components.DefaultTitleItem");
236
237             Assert.IsNotNull(testingTarget, "should be not null");
238             Assert.IsInstanceOf<DefaultTitleItem>(testingTarget, "should be an instance of testing target class!");
239
240             testingTarget.Text = "test";
241             Assert.AreEqual(testingTarget.Text, "test", "should be equal.");
242
243             testingTarget.Dispose();
244             tlog.Debug(tag, $"DefaultTitleItem END (OK)");
245         }
246
247         [Test]
248         [Category("P1")]
249         [Description("DefaultTitleItem Seperator.")]
250         [Property("SPEC", "Tizen.NUI.Components.DefaultTitleItem.Seperator A")]
251         [Property("SPEC_URL", "-")]
252         [Property("CRITERIA", "PRO")]
253         [Property("COVPARAM", "")]
254         [Property("AUTHOR", "huayong.xu@samsung.com")]
255         public void DefaultTitleItemSeperator()
256         {
257             tlog.Debug(tag, $"DefaultTitleItem START");
258
259             var testingTarget = new DefaultTitleItem("Tizen.NUI.Components.DefaultTitleItem");
260
261             Assert.IsNotNull(testingTarget, "should be not null");
262             Assert.IsInstanceOf<DefaultTitleItem>(testingTarget, "should be an instance of testing target class!");
263
264             Assert.IsNotNull(testingTarget.Seperator, "should not be null");
265
266             testingTarget.Dispose();
267             tlog.Debug(tag, $"DefaultTitleItem END (OK)");
268         }
269
270         [Test]
271         [Category("P1")]
272         [Description("DefaultTitleItem LayoutChild.")]
273         [Property("SPEC", "Tizen.NUI.Components.DefaultTitleItem.LayoutChild M")]
274         [Property("SPEC_URL", "-")]
275         [Property("CRITERIA", "MR")]
276         [Property("COVPARAM", "")]
277         [Property("AUTHOR", "huayong.xu@samsung.com")]
278         public void DefaultTitleItemLayoutChild()
279         {
280             tlog.Debug(tag, $"DefaultGridItem START");
281
282             var testingTarget = new TestDefaultTitleItem();
283
284             Assert.IsNotNull(testingTarget, "should be not null");
285             Assert.IsInstanceOf<DefaultTitleItem>(testingTarget, "should be an instance of testing target class!");
286
287             testingTarget.Icon = new View()
288             {
289                 Size = new Size(100, 100),
290             };
291             Assert.IsNotNull(testingTarget.Icon, "should be not null");
292             testingTarget.Label = new TextLabel()
293             {
294                 WidthSpecification = 170,
295                 HeightSpecification = 170,
296             };
297             Assert.IsNotNull(testingTarget.Label, "DefaultTitleItem Label should not be null.");
298             testingTarget.LayoutTest();
299
300             testingTarget.Dispose();
301             tlog.Debug(tag, $"DefaultGridItem END (OK)");
302         }
303     }
304 }