f3eb220f987134ad4df4df06f0d5824bc931ae1d
[platform/core/csapi/tizenfx.git] / test / Tizen.NUI.Samples / Tizen.NUI.Samples / Samples / ViewSizeWidthPropertySetTest.cs
1 
2 using global::System;
3 using System.Threading.Tasks;
4 using Tizen.NUI.BaseComponents;
5
6 namespace Tizen.NUI.Samples
7 {
8     public class ViewWidthSizePropertySetTest : IExample
9     {
10         public void Activate()
11         {
12             _ = test();
13             //TDD
14             SizeWidthTest1();
15             SizeWidthTest2();
16         }
17
18         public void Deactivate()
19         {
20
21         }
22
23         Window window;
24         Layer layer;
25         View root, view1;
26         public async Task test()
27         {
28             //await Task.Delay(500);
29
30             tlog.prt($"### START test : HeghtResizePolicy is changed by setting Size2D.Width \n");
31
32             window = NUIApplication.GetDefaultWindow();
33             layer = window.GetDefaultLayer();
34
35             window.TouchEvent += Window_TouchEvent;
36             window.KeyEvent += Window_KeyEvent;
37
38             root = new View()
39             {
40                 Size = new Size(500, 500),
41                 Position = new Position(50, 50),
42                 BackgroundColor = Color.White,
43             };
44             layer.Add(root);
45
46             view1 = new View()
47             {
48                 Size = new Size(100, 100),
49                 BackgroundColor = Color.Cyan,
50                 MaximumSize = new Size2D(1000, 1000),
51             };
52             root.Add(view1);
53         }
54
55         private void Window_KeyEvent(object sender, Window.KeyEventArgs e)
56         {
57             if (e.Key.State == Key.StateType.Down)
58             {
59                 if (e.Key.KeyPressedName == "1")
60                 {
61                     view1.SizeWidth += 10;
62                 }
63                 else if (e.Key.KeyPressedName == "2")
64                 {
65                     view1.SizeHeight += 10;
66                 }
67                 else if (e.Key.KeyPressedName == "3")
68                 {
69                     view1.WidthResizePolicy = ResizePolicyType.FillToParent;
70                 }
71                 else if (e.Key.KeyPressedName == "4")
72                 {
73                     view1.WidthResizePolicy = ResizePolicyType.Fixed;
74                 }
75                 else if (e.Key.KeyPressedName == "5")
76                 {
77                     view1.MinimumSize.Width = 500;
78                 }
79                 else if (e.Key.KeyPressedName == "6")
80                 {
81                     view1.MinimumSize.Width = 100;
82                 }
83                 else if (e.Key.KeyPressedName == "7")
84                 {
85                     view1.MaximumSize.Width = 700;
86                 }
87                 else if (e.Key.KeyPressedName == "8")
88                 {
89                     view1.MaximumSize.Width = 70;
90                 }
91                 else if (e.Key.KeyPressedName == "9")
92                 {
93                     view1.Size += new Size(10, 10);
94                 }
95                 else if (e.Key.KeyPressedName == "0")
96                 {
97                     view1.SizeWidth -= 10;
98                     view1.SizeHeight -= 10;
99                 }
100             }
101         }
102
103         private void Window_TouchEvent(object sender, Window.TouchEventArgs e)
104         {
105             if (e.Touch.GetState(0) == PointStateType.Down)
106             {
107                 string log = "";
108                 log += $"view1 Size2D=({view1.Size2D.Width}, {view1.Size2D.Height}) \n";
109                 log += $"SizeWidth={view1.SizeWidth}, SizeHeight={view1.SizeHeight} \n";
110                 log += $"Size={view1.Size.Width}, SizeHeight={view1.Size.Height} \n";
111                 log += $"WidthResizePolicy={view1.WidthResizePolicy}, HeightResizePolicy={view1.HeightResizePolicy} \n";
112                 log += $"WidthSpecification={view1.WidthSpecification}, HeightSpecification={view1.HeightSpecification} \n";
113                 log += $"MinimumSize=({view1.MinimumSize.Width}, {view1.MinimumSize.Height}) \n";
114                 log += $"MaximumSize=({view1.MaximumSize.Width}, {view1.MaximumSize.Height}) \n";
115                 tlog.prt(log);
116             }
117         }
118
119         void SizeWidthTest1()
120         {
121             var sizeW1 = 100;
122             var sizeW2 = 200;
123             var sizeH1 = 100;
124             var sizeH2 = 200;
125
126             var view = new View()
127             {
128                 Size2D = new Size2D(sizeW1, sizeH1),
129             };
130             layer.Add(view);
131
132             Assert.AreEqual(sizeW1, view.Size.Width, "Size.Width test fail!");
133             Assert.AreEqual(sizeH1, view.Size.Height, "Size.Height test fail!");
134             Assert.AreEqual(sizeW1, view.Size2D.Width, "Size2D.Width test fail!");
135             Assert.AreEqual(sizeH1, view.Size2D.Height, "Size2D.Height test fail!");
136
137             view.Size.Width = sizeW2;
138             Assert.AreEqual(sizeW2, view.Size.Width, "Size.Width test fail!");
139             Assert.AreEqual(sizeW2, view.Size2D.Width, "Size2D.Width test fail!");
140
141             view.Size2D.Height = sizeH2;
142             Assert.AreEqual(sizeH2, view.Size.Height, "Size.Height test fail!");
143             Assert.AreEqual(sizeH2, view.Size2D.Height, "Size2D.Height test fail!");
144
145             view.Unparent();
146             view.Dispose();
147         }
148
149         void SizeWidthTest2()
150         {
151             var sizeW1 = 100;
152             var sizeW2 = 200;
153             var sizeH1 = 100;
154             var resizeP1 = ResizePolicyType.FillToParent;
155             var resizeP2 = ResizePolicyType.Fixed;
156
157             var view = new View()
158             {
159                 Size2D = new Size2D(sizeW1, sizeH1),
160                 HeightResizePolicy = resizeP1,
161             };
162             layer.Add(view);
163
164             view.Size2D.Width = sizeW2;
165             Assert.AreEqual(sizeW2, view.Size.Width, "Size.Width test fail!");
166             Assert.AreEqual(sizeW2, view.Size2D.Width, "Size2D.Width test fail!");
167             Assert.AreEqual((int)resizeP1, (int)view.HeightResizePolicy, "HeightResizePolicy test fail!");
168             Assert.AreEqual((int)resizeP2, (int)view.WidthResizePolicy, "WidthResizePolicy test fail!");
169             Assert.AreEqual(sizeH1, view.Size.Height, "Size.Height test fail!");
170             Assert.AreEqual(sizeH1, view.Size2D.Height, "Size2D.Height test fail!");
171
172             view.Size.Width = sizeW1;
173             Assert.AreEqual(sizeW1, view.Size.Width, "Size.Width test fail!");
174             Assert.AreEqual(sizeW1, view.Size2D.Width, "Size2D.Width test fail!");
175             Assert.AreEqual((int)resizeP1, (int)view.HeightResizePolicy, "HeightResizePolicy test fail!");
176             Assert.AreEqual((int)resizeP2, (int)view.WidthResizePolicy, "WidthResizePolicy test fail!");
177             Assert.AreEqual(sizeH1, view.Size.Height, "Size.Height test fail!");
178             Assert.AreEqual(sizeH1, view.Size2D.Height, "Size2D.Height test fail!");
179
180             view.Unparent();
181             view.Dispose();
182         }
183
184
185         static class tlog
186         {
187             static public void prt(string log)
188             {
189                 Tizen.Log.Debug("NUITEST", log);
190                 Console.Write(log);
191             }
192         }
193
194         static class Assert
195         {
196             static public void AreEqual(float a, float b, string msg)
197             {
198                 tlog.prt($"AreEqual(a={a}, b={b}) \n");
199                 if (a != b)
200                 {
201                     tlog.prt($"Different! FAIL! \n");
202                     throw new ApplicationException(msg);
203                 }
204                 else
205                 {
206                     tlog.prt($"Same! PASS! \n");
207                 }
208             }
209
210             static public void IsTrue(bool a, string msg)
211             {
212                 tlog.prt($"IsTrue(a={a} \n");
213                 if (a != true)
214                 {
215                     tlog.prt($"false! FAIL! \n");
216                     throw new ApplicationException(msg);
217                 }
218                 else
219                 {
220                     tlog.prt($"true! PASS! \n");
221                 }
222             }
223         }
224
225     }
226 }