[NUI] Update NUI.Devel to fix block and crash issues.
[platform/core/csapi/tizenfx.git] / test / Tizen.NUI.Tests / Tizen.NUI.Devel.Tests / testcase / public / Utility / TSPalette.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/Utility/Palette")]
14     public class PublicPaletteTest
15     {
16         private const string tag = "NUITEST";
17
18         [SetUp]
19         public void Init()
20         {
21             tlog.Info(tag, "Init() is called!");
22         }
23
24         [TearDown]
25         public void Destroy()
26         {
27             tlog.Info(tag, "Destroy() is called!");
28         }
29
30         [Test]
31         [Category("P1")]
32         [Description("Palette Generate.")]
33         [Property("SPEC", "Tizen.NUI.Palette.Generate M")]
34         [Property("SPEC_URL", "-")]
35         [Property("CRITERIA", "MR")]
36         [Property("AUTHOR", "guowei.wang@samsung.com")]
37         public void PaletteGenerate()
38         {
39             tlog.Debug(tag, $"PaletteGenerate START");
40
41             try
42             {
43                 using (PixelBuffer buffer = new PixelBuffer(1, 1, PixelFormat.A8))
44                 {
45                     var testingTarget = Palette.Generate(buffer);
46                     Assert.IsNotNull(testingTarget, "Can't create success object Palette");
47                     Assert.IsInstanceOf<Palette>(testingTarget, "Should be an instance of Palette type.");
48                 }
49             }
50             catch (Exception e)
51             {
52                 tlog.Debug(tag, e.Message.ToString());
53                 Assert.Fail("Caught Exception: Failed!");
54             }
55
56             tlog.Debug(tag, $"PaletteGenerate END (OK)");
57         }
58
59         [Test]
60         [Category("P1")]
61         [Description("Palette Generate. With Rectangle.")]
62         [Property("SPEC", "Tizen.NUI.Palette.Generate M")]
63         [Property("SPEC_URL", "-")]
64         [Property("CRITERIA", "MR")]
65         [Property("AUTHOR", "guowei.wang@samsung.com")]
66         public void PaletteGenerateWithRectangle()
67         {
68             tlog.Debug(tag, $"PaletteGenerateWithRectangle START");
69
70             try
71             {
72                 using (PixelBuffer buffer = new PixelBuffer(10, 8, PixelFormat.A8))
73                 {
74                     using (Rectangle region = new Rectangle(2, 2, 2, 2))
75                     {
76                         var testingTarget = Palette.Generate(buffer, region);
77                         Assert.IsNotNull(testingTarget, "Can't create success object Palette");
78                         Assert.IsInstanceOf<Palette>(testingTarget, "Should be an instance of Palette type.");
79                     }
80                 }
81             }
82             catch (Exception e)
83             {
84                 tlog.Debug(tag, e.Message.ToString());
85                 Assert.Fail("Caught Exception: Failed!");
86             }
87
88             tlog.Debug(tag, $"PaletteGenerateWithRectangle END (OK)");
89         }
90
91         [Test]
92         [Category("P1")]
93         [Description("Palette Generate. PixelBuffer is null.")]
94         [Property("SPEC", "Tizen.NUI.Palette.Generate M")]
95         [Property("SPEC_URL", "-")]
96         [Property("CRITERIA", "MR")]
97         [Property("AUTHOR", "guowei.wang@samsung.com")]
98         public void PaletteGenerateWithNullPixelBuffer()
99         {
100             tlog.Debug(tag, $"PaletteGenerateWithNullPixelBuffer START");
101
102             try
103             {
104                 using (Rectangle region = new Rectangle(24, 24, 24, 24))
105                 {
106                     var testingTarget = Palette.Generate(null, region);
107                 }
108             }
109             catch (ArgumentNullException e)
110             {
111                 tlog.Debug(tag, e.Message.ToString());
112                 tlog.Debug(tag, $"PaletteGenerateWithNullPixelBuffer END (OK)");
113                 Assert.Pass("Caught ArgumentNullException: Passed!");
114             }
115         }
116
117         [Test]
118         [Category("P1")]
119         [Description("Palette GetSwatches.")]
120         [Property("SPEC", "Tizen.NUI.Palette.GetSwatches M")]
121         [Property("SPEC_URL", "-")]
122         [Property("CRITERIA", "MR")]
123         [Property("AUTHOR", "guowei.wang@samsung.com")]
124         public void PaletteGetSwatches()
125         {
126             tlog.Debug(tag, $"PaletteGetSwatches START");
127
128             try
129             {
130                 using (PixelBuffer buffer = new PixelBuffer(10, 8, PixelFormat.A8))
131                 {
132                     using (Rectangle region = new Rectangle(2, 2, 2, 2))
133                     {
134                         var testingTarget = Palette.Generate(buffer, region);
135                         Assert.IsNotNull(testingTarget, "Can't create success object Palette");
136                         Assert.IsInstanceOf<Palette>(testingTarget, "Should be an instance of Palette type.");
137
138                         testingTarget.GetSwatches();
139                     }
140                 }
141             }
142             catch (Exception e)
143             {
144                 tlog.Debug(tag, e.Message.ToString());
145                 Assert.Fail("Caught Exception: Failed!");
146             }
147
148             tlog.Debug(tag, $"PaletteGetSwatches END (OK)");
149         }
150
151         [Test]
152         [Category("P1")]
153         [Description("Palette GetDominantSwatch.")]
154         [Property("SPEC", "Tizen.NUI.Palette.GetDominantSwatch M")]
155         [Property("SPEC_URL", "-")]
156         [Property("CRITERIA", "MR")]
157         [Property("AUTHOR", "guowei.wang@samsung.com")]
158         public void PaletteGetDominantSwatch()
159         {
160             tlog.Debug(tag, $"PaletteGetDominantSwatch START");
161
162             try
163             {
164                 using (PixelBuffer buffer = new PixelBuffer(10, 8, PixelFormat.A8))
165                 {
166                     using (Rectangle region = new Rectangle(2, 2, 2, 2))
167                     {
168                         var testingTarget = Palette.Generate(buffer, region);
169                         Assert.IsNotNull(testingTarget, "Can't create success object Palette");
170                         Assert.IsInstanceOf<Palette>(testingTarget, "Should be an instance of Palette type.");
171
172                         testingTarget.GetDominantSwatch();
173                     }
174                 }
175             }
176             catch (Exception e)
177             {
178                 tlog.Debug(tag, e.Message.ToString());
179                 Assert.Fail("Caught Exception: Failed!");
180             }
181
182             tlog.Debug(tag, $"PaletteGetDominantSwatch END (OK)");
183         }
184
185         [Test]
186         [Category("P1")]
187         [Description("Palette GetVibrantSwatch.")]
188         [Property("SPEC", "Tizen.NUI.Palette.GetVibrantSwatch M")]
189         [Property("SPEC_URL", "-")]
190         [Property("CRITERIA", "MR")]
191         [Property("AUTHOR", "guowei.wang@samsung.com")]
192         public void PaletteGetVibrantSwatch()
193         {
194             tlog.Debug(tag, $"PaletteGetVibrantSwatch START");
195
196             try
197             {
198                 using (PixelBuffer buffer = new PixelBuffer(10, 8, PixelFormat.A8))
199                 {
200                     using (Rectangle region = new Rectangle(2, 2, 2, 2))
201                     {
202                         var testingTarget = Palette.Generate(buffer, region);
203                         Assert.IsNotNull(testingTarget, "Can't create success object Palette");
204                         Assert.IsInstanceOf<Palette>(testingTarget, "Should be an instance of Palette type.");
205
206                         testingTarget.GetVibrantSwatch();
207                     }
208                 }
209             }
210             catch (Exception e)
211             {
212                 tlog.Debug(tag, e.Message.ToString());
213                 Assert.Fail("Caught Exception: Failed!");
214             }
215
216             tlog.Debug(tag, $"PaletteGetVibrantSwatch END (OK)");
217         }
218
219         [Test]
220         [Category("P1")]
221         [Description("Palette GetLightVibrantSwatch.")]
222         [Property("SPEC", "Tizen.NUI.Palette.GetLightVibrantSwatch M")]
223         [Property("SPEC_URL", "-")]
224         [Property("CRITERIA", "MR")]
225         [Property("AUTHOR", "guowei.wang@samsung.com")]
226         public void PaletteGetLightVibrantSwatch()
227         {
228             tlog.Debug(tag, $"PaletteGetLightVibrantSwatch START");
229
230             try
231             {
232                 using (PixelBuffer buffer = new PixelBuffer(10, 8, PixelFormat.A8))
233                 {
234                     using (Rectangle region = new Rectangle(2, 2, 2, 2))
235                     {
236                         var testingTarget = Palette.Generate(buffer, region);
237                         Assert.IsNotNull(testingTarget, "Can't create success object Palette");
238                         Assert.IsInstanceOf<Palette>(testingTarget, "Should be an instance of Palette type.");
239
240                         testingTarget.GetLightVibrantSwatch();
241                     }
242                 }
243             }
244             catch (Exception e)
245             {
246                 tlog.Debug(tag, e.Message.ToString());
247                 Assert.Fail("Caught Exception: Failed!");
248             }
249
250             tlog.Debug(tag, $"PaletteGetLightVibrantSwatch END (OK)");
251         }
252
253         [Test]
254         [Category("P1")]
255         [Description("Palette GetDarkVibrantSwatch.")]
256         [Property("SPEC", "Tizen.NUI.Palette.GetDarkVibrantSwatch M")]
257         [Property("SPEC_URL", "-")]
258         [Property("CRITERIA", "MR")]
259         [Property("AUTHOR", "guowei.wang@samsung.com")]
260         public void PaletteGetDarkVibrantSwatch()
261         {
262             tlog.Debug(tag, $"PaletteGetDarkVibrantSwatch START");
263
264             try
265             {
266                 using (PixelBuffer buffer = new PixelBuffer(10, 8, PixelFormat.A8))
267                 {
268                     using (Rectangle region = new Rectangle(2, 2, 2, 2))
269                     {
270                         var testingTarget = Palette.Generate(buffer, region);
271                         Assert.IsNotNull(testingTarget, "Can't create success object Palette");
272                         Assert.IsInstanceOf<Palette>(testingTarget, "Should be an instance of Palette type.");
273
274                         testingTarget.GetDarkVibrantSwatch();
275                     }
276                 }
277             }
278             catch (Exception e)
279             {
280                 tlog.Debug(tag, e.Message.ToString());
281                 Assert.Fail("Caught Exception: Failed!");
282             }
283
284             tlog.Debug(tag, $"PaletteGetDarkVibrantSwatch END (OK)");
285         }
286
287         [Test]
288         [Category("P1")]
289         [Description("Palette GetMutedSwatch.")]
290         [Property("SPEC", "Tizen.NUI.Palette.GetMutedSwatch M")]
291         [Property("SPEC_URL", "-")]
292         [Property("CRITERIA", "MR")]
293         [Property("AUTHOR", "guowei.wang@samsung.com")]
294         public void PaletteGetMutedSwatch()
295         {
296             tlog.Debug(tag, $"PaletteGetMutedSwatch START");
297
298             try
299             {
300                 using (PixelBuffer buffer = new PixelBuffer(10, 8, PixelFormat.A8))
301                 {
302                     using (Rectangle region = new Rectangle(2, 2, 2, 2))
303                     {
304                         var testingTarget = Palette.Generate(buffer, region);
305                         Assert.IsNotNull(testingTarget, "Can't create success object Palette");
306                         Assert.IsInstanceOf<Palette>(testingTarget, "Should be an instance of Palette type.");
307
308                         testingTarget.GetMutedSwatch();
309                     }
310                 }
311             }
312             catch (Exception e)
313             {
314                 tlog.Debug(tag, e.Message.ToString());
315                 Assert.Fail("Caught Exception: Failed!");
316             }
317
318             tlog.Debug(tag, $"PaletteGetMutedSwatch END (OK)");
319         }
320
321         [Test]
322         [Category("P1")]
323         [Description("Palette GetLightMutedSwatch.")]
324         [Property("SPEC", "Tizen.NUI.Palette.GetLightMutedSwatch M")]
325         [Property("SPEC_URL", "-")]
326         [Property("CRITERIA", "MR")]
327         [Property("AUTHOR", "guowei.wang@samsung.com")]
328         public void PaletteGetLightMutedSwatch()
329         {
330             tlog.Debug(tag, $"PaletteGetLightMutedSwatch START");
331
332             try
333             {
334                 using (PixelBuffer buffer = new PixelBuffer(10, 8, PixelFormat.A8))
335                 {
336                     using (Rectangle region = new Rectangle(2, 2, 2, 2))
337                     {
338                         var testingTarget = Palette.Generate(buffer, region);
339                         Assert.IsNotNull(testingTarget, "Can't create success object Palette");
340                         Assert.IsInstanceOf<Palette>(testingTarget, "Should be an instance of Palette type.");
341
342                         testingTarget.GetLightMutedSwatch();
343                     }
344                 }
345             }
346             catch (Exception e)
347             {
348                 tlog.Debug(tag, e.Message.ToString());
349                 Assert.Fail("Caught Exception: Failed!");
350             }
351
352             tlog.Debug(tag, $"PaletteGetLightMutedSwatch END (OK)");
353         }
354
355         [Test]
356         [Category("P1")]
357         [Description("Palette GetDarkMutedSwatch.")]
358         [Property("SPEC", "Tizen.NUI.Palette.GetDarkMutedSwatch M")]
359         [Property("SPEC_URL", "-")]
360         [Property("CRITERIA", "MR")]
361         [Property("AUTHOR", "guowei.wang@samsung.com")]
362         public void PaletteGetDarkMutedSwatch()
363         {
364             tlog.Debug(tag, $"PaletteGetDarkMutedSwatch START");
365
366             try
367             {
368                 using (PixelBuffer buffer = new PixelBuffer(10, 8, PixelFormat.A8))
369                 {
370                     using (Rectangle region = new Rectangle(2, 2, 2, 2))
371                     {
372                         var testingTarget = Palette.Generate(buffer, region);
373                         Assert.IsNotNull(testingTarget, "Can't create success object Palette");
374                         Assert.IsInstanceOf<Palette>(testingTarget, "Should be an instance of Palette type.");
375
376                         testingTarget.GetDarkMutedSwatch();
377                     }
378                 }
379             }
380             catch (Exception e)
381             {
382                 tlog.Debug(tag, e.Message.ToString());
383                 Assert.Fail("Caught Exception: Failed!");
384             }
385
386             tlog.Debug(tag, $"PaletteGetDarkMutedSwatch END (OK)");
387         }
388
389         [Test]
390         [Category("P1")]
391         [Description("Palette.Swatch constructor.")]
392         [Property("SPEC", "Tizen.NUI.Palette.Swatch.Swatch C")]
393         [Property("SPEC_URL", "-")]
394         [Property("CRITERIA", "CONSTR")]
395         [Property("AUTHOR", "guowei.wang@samsung.com")]
396         public void PaletteSwatchConstructor()
397         {
398             tlog.Debug(tag, $"PaletteSwatchConstructor START");
399
400             var testingTarget = new Palette.Swatch(221, 125);
401             Assert.IsNotNull(testingTarget, "Can't create success object Swatch");
402             Assert.IsInstanceOf<Palette.Swatch>(testingTarget, "Should be an instance of Swatch type.");
403
404             tlog.Debug(tag, $"PaletteSwatchConstructor END (OK)");
405         }
406
407         [Test]
408         [Category("P1")]
409         [Description("Palette.Swatch GetRgb.")]
410         [Property("SPEC", "Tizen.NUI.Palette.Swatch.GetRgb M")]
411         [Property("SPEC_URL", "-")]
412         [Property("CRITERIA", "MR")]
413         [Property("AUTHOR", "guowei.wang@samsung.com")]
414         public void PaletteSwatchGetRgb()
415         {
416             tlog.Debug(tag, $"PaletteSwatchGetRgb START");
417
418             var testingTarget = new Palette.Swatch(221, 125, 128, 55);
419             Assert.IsNotNull(testingTarget, "Can't create success object Swatch");
420             Assert.IsInstanceOf<Palette.Swatch>(testingTarget, "Should be an instance of Swatch type.");
421
422             var result = testingTarget.GetRgb();
423             Assert.IsNotNull(result, "Can't create success object Color");
424             Assert.IsInstanceOf<Color>(result, "Should be an instance of Color type.");
425
426             tlog.Debug(tag, $"PaletteSwatchGetRgb END (OK)");
427         }
428
429         [Test]
430         [Category("P1")]
431         [Description("Palette.Swatch GetTitleTextColor.")]
432         [Property("SPEC", "Tizen.NUI.Palette.Swatch.GetTitleTextColor M")]
433         [Property("SPEC_URL", "-")]
434         [Property("CRITERIA", "MR")]
435         [Property("AUTHOR", "guowei.wang@samsung.com")]
436         public void PaletteSwatchGetTitleTextColor()
437         {
438             tlog.Debug(tag, $"PaletteSwatchGetTitleTextColor START");
439
440             var testingTarget = new Palette.Swatch(221, 125, 128, 55);
441             Assert.IsNotNull(testingTarget, "Can't create success object Swatch");
442             Assert.IsInstanceOf<Palette.Swatch>(testingTarget, "Should be an instance of Swatch type.");
443
444             var result = testingTarget.GetTitleTextColor();
445             Assert.IsNotNull(result, "Can't create success object Color");
446             Assert.IsInstanceOf<Color>(result, "Should be an instance of Color type.");
447
448             tlog.Debug(tag, $"PaletteSwatchGetTitleTextColor END (OK)");
449         }
450
451         [Test]
452         [Category("P1")]
453         [Description("Palette.Swatch GetBodyTextColor.")]
454         [Property("SPEC", "Tizen.NUI.Palette.Swatch.GetBodyTextColor M")]
455         [Property("SPEC_URL", "-")]
456         [Property("CRITERIA", "MR")]
457         [Property("AUTHOR", "guowei.wang@samsung.com")]
458         public void PaletteSwatchGetBodyTextColor()
459         {
460             tlog.Debug(tag, $"PaletteSwatchGetBodyTextColor START");
461
462             var testingTarget = new Palette.Swatch(221, 125, 128, 55);
463             Assert.IsNotNull(testingTarget, "Can't create success object Swatch");
464             Assert.IsInstanceOf<Palette.Swatch>(testingTarget, "Should be an instance of Swatch type.");
465
466             var result = testingTarget.GetBodyTextColor();
467             Assert.IsNotNull(result, "Can't create success object Color");
468             Assert.IsInstanceOf<Color>(result, "Should be an instance of Color type.");
469
470             /** lightBodyAlpha != -1 && lightTitleAlpha != -1 */
471             testingTarget = new Palette.Swatch(22, 45, 28, 55);
472
473             try
474             {
475                 testingTarget.GetBodyTextColor();
476             }
477             catch (Exception e)
478             {
479                 tlog.Debug(tag, e.Message.ToString());
480                 Assert.Fail("Caught Exception: Failed!");
481             }
482
483             tlog.Debug(tag, $"PaletteSwatchGetBodyTextColor END (OK)");
484         }
485
486         [Test]
487         [Category("P1")]
488         [Description("Palette GenerateAsync.")]
489         [Property("SPEC", "Tizen.NUI.Palette.GenerateAsync M")]
490         [Property("SPEC_URL", "-")]
491         [Property("CRITERIA", "MR")]
492         [Property("AUTHOR", "guowei.wang@samsung.com")]
493         public void PaletteGenerateAsync()
494         {
495             tlog.Debug(tag, $"PaletteGenerateAsync START");
496
497             try
498             {
499                 using (PixelBuffer buffer = new PixelBuffer(2, 2, PixelFormat.A8))
500                 {
501                     _ = Palette.GenerateAsync(buffer);
502                 }
503             }
504             catch (Exception e)
505             {
506                 tlog.Debug(tag, e.Message.ToString());
507                 Assert.Fail("Caught Exception: Failed!");
508             }
509
510             tlog.Debug(tag, $"PaletteGenerateAsync END (OK)");
511         }
512
513         [Test]
514         [Category("P1")]
515         [Description("Palette GenerateAsync. With Rectangle.")]
516         [Property("SPEC", "Tizen.NUI.Palette.GenerateAsync M")]
517         [Property("SPEC_URL", "-")]
518         [Property("CRITERIA", "MR")]
519         [Property("AUTHOR", "guowei.wang@samsung.com")]
520         public void PaletteGenerateAsyncWithRectangle()
521         {
522             tlog.Debug(tag, $"PaletteGenerateAsyncWithRectangle START");
523
524             try
525             {
526                 using (PixelBuffer buffer = new PixelBuffer(2, 2, PixelFormat.A8))
527                 {
528                     using (Rectangle region = new Rectangle(1, 1, 1, 1))
529                     {
530                         _ = Palette.GenerateAsync(buffer, region);
531                     }
532                 }
533             }
534             catch (Exception e)
535             {
536                 tlog.Debug(tag, e.Message.ToString());
537                 Assert.Fail("Caught Exception: Failed!");
538             }
539
540             tlog.Debug(tag, $"PaletteGenerateAsyncWithRectangle END (OK)");
541         }
542     }
543 }