[NUI] Make PrimaryCursorPosition property public
[platform/core/csapi/tizenfx.git] / test / Tizen.NUI.Tests / Tizen.NUI.Devel.Tests / testcase / public / BaseComponents / TSImageView.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/BaseComponents/ImageView")]
14     public class PublicImageViewTest
15     {
16         private const string tag = "NUITEST";
17         private string url = Tizen.Applications.Application.Current.DirectoryInfo.Resource + "picture.png";
18
19         public void OnResourceReady(object sender, ImageView.ResourceReadyEventArgs e)
20         {
21             // not implemented
22         }
23
24         internal class MyImageView : ImageView
25         {
26             public MyImageView() : base()
27             { }
28
29             public void OnResourceLoaded(object sender, ImageView.ResourceLoadedEventArgs e)
30             {
31                 // not implemented
32             }
33         }
34
35         [SetUp]
36         public void Init()
37         {
38             tlog.Info(tag, "Init() is called!");
39         }
40
41         [TearDown]
42         public void Destroy()
43         {
44             tlog.Info(tag, "Destroy() is called!");
45         }
46
47         [Test]
48         [Category("P1")]
49         [Description("ImageView constructor.")]
50         [Property("SPEC", "Tizen.NUI.ImageView.ImageView C")]
51         [Property("SPEC_URL", "-")]
52         [Property("CRITERIA", "CONSTR")]
53         [Property("AUTHOR", "guowei.wang@samsung.com")]
54         public void ImageViewConstructor()
55         {
56             tlog.Debug(tag, $"ImageViewConstructor START");
57
58             var testingTarget = new ImageView(url, true);
59             Assert.IsNotNull(testingTarget, "Can't create success object ImageView");
60             Assert.IsInstanceOf<ImageView>(testingTarget, "Should be an instance of ImageView type.");
61
62             testingTarget.Dispose();
63             tlog.Debug(tag, $"ImageViewConstructor END (OK)");
64         }
65
66         [Test]
67         [Category("P1")]
68         [Description("ImageView constructor.")]
69         [Property("SPEC", "Tizen.NUI.ImageView.ImageView C")]
70         [Property("SPEC_URL", "-")]
71         [Property("CRITERIA", "CONSTR")]
72         [Property("AUTHOR", "guowei.wang@samsung.com")]
73         public void ImageViewConstructorWithStyle()
74         {
75             tlog.Debug(tag, $"ImageViewConstructorWithStyle START");
76
77             ViewStyle style = new ViewStyle()
78             {
79                 Color = Color.Cyan,
80             };
81
82             var testingTarget = new ImageView(style);
83             Assert.IsNotNull(testingTarget, "Can't create success object ImageView");
84             Assert.IsInstanceOf<ImageView>(testingTarget, "Should be an instance of ImageView type.");
85
86             testingTarget.Dispose();
87             tlog.Debug(tag, $"ImageViewConstructorWithStyle END (OK)");
88         }
89
90         [Test]
91         [Category("P1")]
92         [Description("ImageView constructor.")]
93         [Property("SPEC", "Tizen.NUI.ImageView.ImageView C")]
94         [Property("SPEC_URL", "-")]
95         [Property("CRITERIA", "CONSTR")]
96         [Property("AUTHOR", "guowei.wang@samsung.com")]
97         public void ImageViewConstructorWhetherShown()
98         {
99             tlog.Debug(tag, $"ImageViewConstructorWhetherShown START");
100
101             var testingTarget = new ImageView(false);
102             Assert.IsNotNull(testingTarget, "Can't create success object ImageView");
103             Assert.IsInstanceOf<ImageView>(testingTarget, "Should be an instance of ImageView type.");
104
105             testingTarget.Dispose();
106             tlog.Debug(tag, $"ImageViewConstructorWhetherShown END (OK)");
107         }
108
109         [Test]
110         [Category("P1")]
111         [Description("ImageView constructor. With size.")]
112         [Property("SPEC", "Tizen.NUI.ImageView.ImageView C")]
113         [Property("SPEC_URL", "-")]
114         [Property("CRITERIA", "CONSTR")]
115         [Property("AUTHOR", "guowei.wang@samsung.com")]
116         public void ImageViewConstructorWithSize()
117         {
118             tlog.Debug(tag, $"ImageViewConstructorWithSize START");
119
120             using (Uint16Pair size = new Uint16Pair(40, 60))
121             {
122                 var testingTarget = new ImageView(url, size, false);
123                 Assert.IsNotNull(testingTarget, "Can't create success object ImageView");
124                 Assert.IsInstanceOf<ImageView>(testingTarget, "Should be an instance of ImageView type.");
125
126                 testingTarget.Dispose();
127             }
128
129             tlog.Debug(tag, $"ImageViewConstructorWithSize END (OK)");
130         }
131
132         [Test]
133         [Category("P1")]
134         [Description("ImageView ResourceReady.")]
135         [Property("SPEC", "Tizen.NUI.ImageView.ResourceReady A")]
136         [Property("SPEC_URL", "-")]
137         [Property("CRITERIA", "PRW")]
138         [Property("AUTHOR", "guowei.wang@samsung.com")]
139         public void ImageViewResourceReady()
140         {
141             tlog.Debug(tag, $"ImageViewResourceReady START");
142
143             using (Uint16Pair size = new Uint16Pair(40, 60))
144             {
145                 var testingTarget = new ImageView(url, size, false);
146                 Assert.IsNotNull(testingTarget, "Can't create success object ImageView");
147                 Assert.IsInstanceOf<ImageView>(testingTarget, "Should be an instance of ImageView type.");
148
149                 testingTarget.ResourceReady += OnResourceReady;
150                 testingTarget.ResourceReady -= OnResourceReady;
151
152                 testingTarget.Dispose();
153             }
154
155             tlog.Debug(tag, $"ImageViewResourceReady END (OK)");
156         }
157
158         [Test]
159         [Category("P1")]
160         [Description("ImageView ResourceLoaded.")]
161         [Property("SPEC", "Tizen.NUI.ImageView.ResourceLoaded A")]
162         [Property("SPEC_URL", "-")]
163         [Property("CRITERIA", "PRW")]
164         [Property("AUTHOR", "guowei.wang@samsung.com")]
165         public void ImageViewResourceLoaded()
166         {
167             tlog.Debug(tag, $"ImageViewResourceLoaded START");
168
169             var testingTarget = new MyImageView();
170             Assert.IsNotNull(testingTarget, "Can't create success object ImageView");
171             Assert.IsInstanceOf<ImageView>(testingTarget, "Should be an instance of ImageView type.");
172
173             testingTarget.ResourceLoaded += testingTarget.OnResourceLoaded;
174             testingTarget.ResourceLoaded -= testingTarget.OnResourceLoaded;
175
176             testingTarget.Dispose();
177             tlog.Debug(tag, $"ImageViewResourceLoaded END (OK)");
178         }
179
180         [Test]
181         [Category("P1")]
182         [Description("ImageView DownCast.")]
183         [Property("SPEC", "Tizen.NUI.ImageView.DownCast M")]
184         [Property("SPEC_URL", "-")]
185         [Property("CRITERIA", "MR")]
186         [Property("AUTHOR", "guowei.wang@samsung.com")]
187         [Obsolete]
188         public void ImageViewDownCast()
189         {
190             tlog.Debug(tag, $"ImageViewDownCast START");
191
192             using (BaseHandle handle = new ImageView(url))
193             {
194                 var testingTarget = ImageView.DownCast(handle);
195                 Assert.IsNotNull(testingTarget, "Can't create success object ImageView");
196                 Assert.IsInstanceOf<ImageView>(testingTarget, "Should be an instance of ImageView type.");
197
198                 testingTarget.Dispose();
199             }
200
201             tlog.Debug(tag, $"ImageViewDownCast END (OK)");
202         }
203
204         [Test]
205         [Category("P2")]
206         [Description("ImageView DownCast. Handle is null.")]
207         [Property("SPEC", "Tizen.NUI.ImageView.DownCast M")]
208         [Property("SPEC_URL", "-")]
209         [Property("CRITERIA", "MR")]
210         [Property("AUTHOR", "guowei.wang@samsung.com")]
211         [Obsolete]
212         public void ImageViewDownCastWithNullHandle()
213         {
214             tlog.Debug(tag, $"ImageViewDownCast START");
215
216             try
217             {
218                 ImageView.DownCast(null);
219             }
220             catch (ArgumentNullException e)
221             {
222                 tlog.Debug(tag, e.Message.ToString());
223                 tlog.Debug(tag, $"ImageViewDownCast END (OK)");
224                 Assert.Pass("Caught ArgumentNullException: Passed!");
225             }
226         }
227
228         [Test]
229         [Category("P2")]
230         [Description("ImageView SetImage. Url is null.")]
231         [Property("SPEC", "Tizen.NUI.ImageView.SetImage M")]
232         [Property("SPEC_URL", "-")]
233         [Property("CRITERIA", "MR")]
234         [Property("AUTHOR", "guowei.wang@samsung.com")]
235         [Obsolete]
236         public void ImageViewSetImage()
237         {
238             tlog.Debug(tag, $"ImageViewSetImage START");
239
240             ViewStyle style = new ViewStyle()
241             {
242                 Color = Color.Cyan,
243             };
244
245             var testingTarget = new ImageView(style);
246             Assert.IsNotNull(testingTarget, "Can't create success object ImageView");
247             Assert.IsInstanceOf<ImageView>(testingTarget, "Should be an instance of ImageView type.");
248
249             try
250             {
251                 testingTarget.SetImage(null);
252             }
253             catch (ArgumentNullException e)
254             {
255                 tlog.Debug(tag, e.Message.ToString());
256                 tlog.Debug(tag, $"ImageViewSetImage END (OK)");
257                 Assert.Pass("Caught ArgumentNullException: Passed!");
258             }
259         }
260
261         [Test]
262         [Category("P1")]
263         [Description("ImageView IsResourceReady.")]
264         [Property("SPEC", "Tizen.NUI.ImageView.IsResourceReady M")]
265         [Property("SPEC_URL", "-")]
266         [Property("CRITERIA", "MR")]
267         [Property("AUTHOR", "guowei.wang@samsung.com")]
268         public void ImageViewIsResourceReady()
269         {
270             tlog.Debug(tag, $"ImageViewIsResourceReady START");
271
272             var testingTarget = new ImageView();
273             Assert.IsNotNull(testingTarget, "Can't create success object ImageView");
274             Assert.IsInstanceOf<ImageView>(testingTarget, "Should be an instance of ImageView type.");
275
276             testingTarget.ResourceUrl = url;
277
278             try
279             {
280                 testingTarget.IsResourceReady();
281             }
282             catch (Exception e)
283             {
284                 tlog.Debug(tag, e.Message.ToString());
285                 Assert.Fail("Caught Exception: Failed!");
286             }
287
288             tlog.Debug(tag, $"ImageViewIsResourceReady END (OK)");
289         }
290
291         [Test]
292         [Category("P1")]
293         [Description("ImageView AlphaMaskURL.")]
294         [Property("SPEC", "Tizen.NUI.ImageView.AlphaMaskURL A")]
295         [Property("SPEC_URL", "-")]
296         [Property("CRITERIA", "PRW")]
297         [Property("AUTHOR", "guowei.wang@samsung.com")]
298         public void ImageViewAlphaMaskURL()
299         {
300             tlog.Debug(tag, $"ImageViewAlphaMaskURL START");
301
302             var testingTarget = new ImageView();
303             Assert.IsNotNull(testingTarget, "Can't create success object ImageView");
304             Assert.IsInstanceOf<ImageView>(testingTarget, "Should be an instance of ImageView type.");
305
306             PropertyMap map = new PropertyMap();
307             map.Insert(ImageView.Property.IMAGE, new PropertyValue(new PropertyMap()));
308             map.Insert(ImageVisualProperty.AlphaMaskURL, new PropertyValue(url));
309
310             testingTarget.Image = map;
311
312             try
313             {
314                 var result = testingTarget.AlphaMaskURL;
315             }
316             catch (Exception e)
317             {
318                 tlog.Debug(tag, e.Message.ToString());
319                 Assert.Fail("Caught Exception: Failed!");
320             }
321
322             tlog.Debug(tag, $"ImageViewAlphaMaskURL END (OK)");
323         }
324
325         [Test]
326         [Category("P1")]
327         [Description("ImageView FittingMode.")]
328         [Property("SPEC", "Tizen.NUI.ImageView.FittingMode A")]
329         [Property("SPEC_URL", "-")]
330         [Property("CRITERIA", "PRW")]
331         [Property("AUTHOR", "guowei.wang@samsung.com")]
332         public void ImageViewFittingMode()
333         {
334             tlog.Debug(tag, $"ImageViewFittingMode START");
335
336             var testingTarget = new ImageView();
337             Assert.IsNotNull(testingTarget, "Can't create success object ImageView");
338             Assert.IsInstanceOf<ImageView>(testingTarget, "Should be an instance of ImageView type.");
339
340             tlog.Debug(tag, "FittingMode : " + testingTarget.FittingMode);
341
342             testingTarget.FittingMode = FittingModeType.ScaleToFill;
343             tlog.Debug(tag, "FittingMode : " + testingTarget.FittingMode);
344
345             testingTarget.FittingMode = FittingModeType.ShrinkToFit;
346             tlog.Debug(tag, "FittingMode : " + testingTarget.FittingMode);
347
348             testingTarget.FittingMode = FittingModeType.Center;
349             tlog.Debug(tag, "FittingMode : " + testingTarget.FittingMode);
350
351             testingTarget.FittingMode = FittingModeType.Fill;
352             tlog.Debug(tag, "FittingMode : " + testingTarget.FittingMode);
353
354             testingTarget.FittingMode = FittingModeType.FitHeight;
355             tlog.Debug(tag, "FittingMode : " + testingTarget.FittingMode);
356
357             testingTarget.FittingMode = FittingModeType.FitWidth;
358             tlog.Debug(tag, "FittingMode : " + testingTarget.FittingMode);
359
360             tlog.Debug(tag, $"ImageViewFittingMode END (OK)");
361         }
362
363         [Test]
364         [Category("P1")]
365         [Description("ImageView DesiredWidth.")]
366         [Property("SPEC", "Tizen.NUI.ImageView.DesiredWidth A")]
367         [Property("SPEC_URL", "-")]
368         [Property("CRITERIA", "PRW")]
369         [Property("AUTHOR", "guowei.wang@samsung.com")]
370         public void ImageViewDesiredWidth()
371         {
372             tlog.Debug(tag, $"ImageViewDesiredWidth START");
373
374             var testingTarget = new ImageView();
375             Assert.IsNotNull(testingTarget, "Can't create success object ImageView");
376             Assert.IsInstanceOf<ImageView>(testingTarget, "Should be an instance of ImageView type.");
377
378             testingTarget.DesiredWidth = 20;
379             tlog.Debug(tag, "DesiredWidth : " + testingTarget.DesiredWidth);
380
381             testingTarget.DesiredHeight = 30;
382             tlog.Debug(tag, "DesiredHeight : " + testingTarget.DesiredHeight);
383
384             tlog.Debug(tag, $"ImageViewDesiredWidth END (OK)");
385         }
386
387         [Test]
388         [Category("P1")]
389         [Description("ImageView ReleasePolicy.")]
390         [Property("SPEC", "Tizen.NUI.ImageView.ReleasePolicy A")]
391         [Property("SPEC_URL", "-")]
392         [Property("CRITERIA", "PRW")]
393         [Property("AUTHOR", "guowei.wang@samsung.com")]
394         public void ImageViewReleasePolicy()
395         {
396             tlog.Debug(tag, $"ImageViewReleasePolicy START");
397
398             var testingTarget = new ImageView();
399             Assert.IsNotNull(testingTarget, "Can't create success object ImageView");
400             Assert.IsInstanceOf<ImageView>(testingTarget, "Should be an instance of ImageView type.");
401
402             testingTarget.ReleasePolicy = ReleasePolicyType.Never;
403             tlog.Debug(tag, "ReleasePolicy : " + testingTarget.ReleasePolicy);
404
405             testingTarget.ReleasePolicy = ReleasePolicyType.Detached;
406             tlog.Debug(tag, "ReleasePolicy : " + testingTarget.ReleasePolicy);
407
408             testingTarget.ReleasePolicy = ReleasePolicyType.Destroyed;
409             tlog.Debug(tag, "ReleasePolicy : " + testingTarget.ReleasePolicy);
410
411             tlog.Debug(tag, $"ImageViewReleasePolicy END (OK)");
412         }
413
414         [Test]
415         [Category("P1")]
416         [Description("ImageView WrapModeU.")]
417         [Property("SPEC", "Tizen.NUI.ImageView.WrapModeU A")]
418         [Property("SPEC_URL", "-")]
419         [Property("CRITERIA", "PRW")]
420         [Property("AUTHOR", "guowei.wang@samsung.com")]
421         public void ImageViewWrapModeU()
422         {
423             tlog.Debug(tag, $"ImageViewWrapModeU START");
424
425             var testingTarget = new ImageView();
426             Assert.IsNotNull(testingTarget, "Can't create success object ImageView");
427             Assert.IsInstanceOf<ImageView>(testingTarget, "Should be an instance of ImageView type.");
428
429             testingTarget.WrapModeU = WrapModeType.MirroredRepeat;
430             tlog.Debug(tag, "WrapModeU : " + testingTarget.WrapModeU);
431
432             testingTarget.WrapModeU = WrapModeType.Repeat;
433             tlog.Debug(tag, "WrapModeU : " + testingTarget.WrapModeU);
434
435             testingTarget.WrapModeU = WrapModeType.ClampToEdge;
436             tlog.Debug(tag, "WrapModeU : " + testingTarget.WrapModeU);
437
438             testingTarget.WrapModeU = WrapModeType.Default;
439             tlog.Debug(tag, "WrapModeU : " + testingTarget.WrapModeU);
440
441             tlog.Debug(tag, $"ImageViewWrapModeU END (OK)");
442         }
443
444         [Test]
445         [Category("P1")]
446         [Description("ImageView WrapModeV.")]
447         [Property("SPEC", "Tizen.NUI.ImageView.WrapModeV A")]
448         [Property("SPEC_URL", "-")]
449         [Property("CRITERIA", "PRW")]
450         [Property("AUTHOR", "guowei.wang@samsung.com")]
451         public void ImageViewWrapModeV()
452         {
453             tlog.Debug(tag, $"ImageViewWrapModeV START");
454
455             var testingTarget = new ImageView();
456             Assert.IsNotNull(testingTarget, "Can't create success object ImageView");
457             Assert.IsInstanceOf<ImageView>(testingTarget, "Should be an instance of ImageView type.");
458
459             testingTarget.WrapModeV = WrapModeType.MirroredRepeat;
460             tlog.Debug(tag, "WrapModeV : " + testingTarget.WrapModeV);
461
462             testingTarget.WrapModeV = WrapModeType.Repeat;
463             tlog.Debug(tag, "WrapModeV : " + testingTarget.WrapModeV);
464
465             testingTarget.WrapModeV = WrapModeType.ClampToEdge;
466             tlog.Debug(tag, "WrapModeV : " + testingTarget.WrapModeV);
467
468             testingTarget.WrapModeV = WrapModeType.Default;
469             tlog.Debug(tag, "WrapModeV : " + testingTarget.WrapModeV);
470
471             tlog.Debug(tag, $"ImageViewWrapModeV END (OK)");
472         }
473     }
474 }