Release 9.0.0.16429
[platform/core/csapi/tizenfx.git] / test / Tizen.NUI.Tests / Tizen.NUI.Devel.Tests / testcase / internal / Transition / TSTransitionSetSignal.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
7 namespace Tizen.NUI.Devel.Tests
8 {
9     using tlog = Tizen.Log;
10
11     [TestFixture]
12     [Description("Internal/Transition/TransitionSetSignal")]
13     class TSTransitionSetSignal
14     {
15         private const string tag = "NUITEST";
16         private global::System.IntPtr OnIntPtrCallback;
17         private delegate bool dummyCallback(IntPtr transitionSet);
18         private bool OnDummyCallback(IntPtr data)
19         {
20             return false;
21         }
22
23         [SetUp]
24         public void Init()
25         {
26             tlog.Info(tag, "Init() is called!");
27         }
28
29         [TearDown]
30         public void Destroy()
31         {
32             tlog.Info(tag, "Destroy() is called!");
33         }
34
35         [Test]
36         [Category("P1")]
37         [Description("TransitionSetSignal Empty.")]
38         [Property("SPEC", "Tizen.NUI.TransitionSetSignal.Empty M")]
39         [Property("SPEC_URL", "-")]
40         [Property("CRITERIA", "MR")]
41         [Property("AUTHOR", "guowei.wang@samsung.com")]
42         public void TransitionSetSignalEmpty()
43         {
44             tlog.Debug(tag, $"TransitionSetSignalEmpty START");
45
46             View view = new View()
47             {
48                 Name = "view",
49                 TransitionOptions = new TransitionOptions(Window.Instance)
50             };
51             view.TransitionOptions.TransitionTag = "Transition";
52             view.TransitionOptions.EnableTransition = true;
53
54             TransitionItemBase transitionItemBase = null;
55             using (TimePeriod timePeriod = new TimePeriod(500))
56             {
57                 using (AlphaFunction alphaFunction = new AlphaFunction(AlphaFunction.BuiltinFunctions.Default))
58                 {
59                     transitionItemBase = new TransitionItemBase(view, true, timePeriod, alphaFunction);
60                 }
61             }
62
63             var testingTarget = new TransitionSet();
64             Assert.IsNotNull(testingTarget, "Should be not null!");
65             Assert.IsInstanceOf<TransitionSet>(testingTarget, "Should be an Instance of TransitionSet!");
66
67             testingTarget.AddTransition(transitionItemBase);
68
69             var transitionSetSignal = testingTarget.FinishedSignal();
70             Assert.IsNotNull(transitionSetSignal, "Should be not null!");
71             Assert.IsInstanceOf<TransitionSetFinishedSignal>(transitionSetSignal, "Should be an Instance of TransitionSet!");
72
73             var result = transitionSetSignal.Empty();
74             Assert.IsTrue(result);
75
76             view.Dispose();
77             testingTarget.Dispose();
78             tlog.Debug(tag, $"TransitionSetSignalEmpty END (OK)");
79         }
80
81         [Test]
82         [Category("P1")]
83         [Description("TransitionSetSignal GetConnectionCount.")]
84         [Property("SPEC", "Tizen.NUI.TransitionSetSignal.GetConnectionCount M")]
85         [Property("SPEC_URL", "-")]
86         [Property("CRITERIA", "MR")]
87         [Property("AUTHOR", "guowei.wang@samsung.com")]
88         public void TransitionSetSignalGetConnectionCount()
89         {
90             tlog.Debug(tag, $"TransitionSetSignalGetConnectionCount START");
91
92             View view = new View()
93             {
94                 Name = "view",
95                 TransitionOptions = new TransitionOptions(Window.Instance)
96             };
97             view.TransitionOptions.TransitionTag = "Transition";
98             view.TransitionOptions.EnableTransition = true;
99
100             TransitionItemBase transitionItemBase = null;
101             using (TimePeriod timePeriod = new TimePeriod(500))
102             {
103                 using (AlphaFunction alphaFunction = new AlphaFunction(AlphaFunction.BuiltinFunctions.Default))
104                 {
105                     transitionItemBase = new TransitionItemBase(view, true, timePeriod, alphaFunction);
106                 }
107             }
108
109             var testingTarget = new TransitionSet();
110             Assert.IsNotNull(testingTarget, "Should be not null!");
111             Assert.IsInstanceOf<TransitionSet>(testingTarget, "Should be an Instance of TransitionSet!");
112
113             testingTarget.AddTransition(transitionItemBase);
114
115             var transitionSetSignal = testingTarget.FinishedSignal();
116             Assert.IsNotNull(transitionSetSignal, "Should be not null!");
117             Assert.IsInstanceOf<TransitionSetFinishedSignal>(transitionSetSignal, "Should be an Instance of TransitionSet!");
118
119             var result = transitionSetSignal.GetConnectionCount();
120             Assert.IsTrue(0 == result);
121
122             view.Dispose();
123             testingTarget.Dispose();
124             tlog.Debug(tag, $"TransitionSetSignalGetConnectionCount END (OK)");
125         }
126
127         [Test]
128         [Category("P1")]
129         [Description("TransitionSetSignal Connect.")]
130         [Property("SPEC", "Tizen.NUI.TransitionSetSignal.Connect M")]
131         [Property("SPEC_URL", "-")]
132         [Property("CRITERIA", "MR")]
133         [Property("AUTHOR", "guowei.wang@samsung.com")]
134         public void TransitionSetSignalConnect()
135         {
136             tlog.Debug(tag, $"TransitionSetSignalConnect START");
137
138             View view = new View()
139             {
140                 Name = "view",
141                 TransitionOptions = new TransitionOptions(Window.Instance)
142             };
143             view.TransitionOptions.TransitionTag = "Transition";
144             view.TransitionOptions.EnableTransition = true;
145
146             TransitionItemBase transitionItemBase = null;
147             using (TimePeriod timePeriod = new TimePeriod(500))
148             {
149                 using (AlphaFunction alphaFunction = new AlphaFunction(AlphaFunction.BuiltinFunctions.Default))
150                 {
151                     transitionItemBase = new TransitionItemBase(view, true, timePeriod, alphaFunction);
152                 }
153             }
154
155             var testingTarget = new TransitionSet();
156             Assert.IsNotNull(testingTarget, "Should be not null!");
157             Assert.IsInstanceOf<TransitionSet>(testingTarget, "Should be an Instance of TransitionSet!");
158
159             testingTarget.AddTransition(transitionItemBase);
160
161             var transitionSetSignal = testingTarget.FinishedSignal();
162             Assert.IsNotNull(transitionSetSignal, "Should be not null!");
163             Assert.IsInstanceOf<TransitionSetFinishedSignal>(transitionSetSignal, "Should be an Instance of TransitionSet!");
164
165             dummyCallback callback = OnDummyCallback;
166             transitionSetSignal.Connect(callback);
167             transitionSetSignal.Disconnect(callback);
168
169             view.Dispose();
170             testingTarget.Dispose();
171             tlog.Debug(tag, $"TransitionSetSignalConnect END (OK)");
172         }
173
174         [Test]
175         [Category("P1")]
176         [Description("TransitionSetSignal Connect. With IntPtr")]
177         [Property("SPEC", "Tizen.NUI.TransitionSetSignal.Connect M")]
178         [Property("SPEC_URL", "-")]
179         [Property("CRITERIA", "MR")]
180         [Property("AUTHOR", "guowei.wang@samsung.com")]
181         public void TransitionSetSignalConnectWithIntPtr()
182         {
183             tlog.Debug(tag, $"TransitionSetSignalConnectWithIntPtr START");
184
185             View view = new View()
186             {
187                 Name = "view",
188                 TransitionOptions = new TransitionOptions(Window.Instance)
189             };
190             view.TransitionOptions.TransitionTag = "Transition";
191             view.TransitionOptions.EnableTransition = true;
192
193             TransitionItemBase transitionItemBase = null;
194             using (TimePeriod timePeriod = new TimePeriod(500))
195             {
196                 using (AlphaFunction alphaFunction = new AlphaFunction(AlphaFunction.BuiltinFunctions.Default))
197                 {
198                     transitionItemBase = new TransitionItemBase(view, true, timePeriod, alphaFunction);
199                 }
200             }
201
202             var testingTarget = new TransitionSet();
203             Assert.IsNotNull(testingTarget, "Should be not null!");
204             Assert.IsInstanceOf<TransitionSet>(testingTarget, "Should be an Instance of TransitionSet!");
205
206             testingTarget.AddTransition(transitionItemBase);
207
208             var transitionSetSignal = testingTarget.FinishedSignal();
209             Assert.IsNotNull(transitionSetSignal, "Should be not null!");
210             Assert.IsInstanceOf<TransitionSetFinishedSignal>(transitionSetSignal, "Should be an Instance of TransitionSet!");
211
212             transitionSetSignal.Connect(OnIntPtrCallback);
213             transitionSetSignal.Disconnect(OnIntPtrCallback);
214
215             view.Dispose();
216             testingTarget.Dispose();
217             tlog.Debug(tag, $"TransitionSetSignalConnectWithIntPtr END (OK)");
218         }
219
220         [Test]
221         [Category("P1")]
222         [Description("TransitionSetSignal Disconnect.")]
223         [Property("SPEC", "Tizen.NUI.TransitionSetSignal.Disconnect M")]
224         [Property("SPEC_URL", "-")]
225         [Property("CRITERIA", "MR")]
226         [Property("AUTHOR", "guowei.wang@samsung.com")]
227         public void TransitionSetSignalDisconnect()
228         {
229             tlog.Debug(tag, $"TransitionSetSignalDisconnect START");
230
231             View view = new View()
232             {
233                 Name = "view",
234                 TransitionOptions = new TransitionOptions(Window.Instance)
235             };
236             view.TransitionOptions.TransitionTag = "Transition";
237             view.TransitionOptions.EnableTransition = true;
238
239             TransitionItemBase transitionItemBase = null;
240             using (TimePeriod timePeriod = new TimePeriod(500))
241             {
242                 using (AlphaFunction alphaFunction = new AlphaFunction(AlphaFunction.BuiltinFunctions.Default))
243                 {
244                     transitionItemBase = new TransitionItemBase(view, true, timePeriod, alphaFunction);
245                 }
246             }
247
248             var testingTarget = new TransitionSet();
249             Assert.IsNotNull(testingTarget, "Should be not null!");
250             Assert.IsInstanceOf<TransitionSet>(testingTarget, "Should be an Instance of TransitionSet!");
251
252             testingTarget.AddTransition(transitionItemBase);
253
254             var transitionSetSignal = testingTarget.FinishedSignal();
255             Assert.IsNotNull(transitionSetSignal, "Should be not null!");
256             Assert.IsInstanceOf<TransitionSetFinishedSignal>(transitionSetSignal, "Should be an Instance of TransitionSet!");
257
258             dummyCallback callback = OnDummyCallback;
259             transitionSetSignal.Connect(callback);
260             transitionSetSignal.Disconnect(callback);
261
262             view.Dispose();
263             testingTarget.Dispose();
264             tlog.Debug(tag, $"TransitionSetSignalDisconnect END (OK)");
265         }
266
267         [Test]
268         [Category("P1")]
269         [Description("TransitionSetSignal Disconnect. With IntPtr")]
270         [Property("SPEC", "Tizen.NUI.TransitionSetSignal.Disconnect M")]
271         [Property("SPEC_URL", "-")]
272         [Property("CRITERIA", "MR")]
273         [Property("AUTHOR", "guowei.wang@samsung.com")]
274         public void TransitionSetSignalDisconnectWithIntPtr()
275         {
276             tlog.Debug(tag, $"TransitionSetSignalDisconnectWithIntPtr START");
277
278             View view = new View()
279             {
280                 Name = "view",
281                 TransitionOptions = new TransitionOptions(Window.Instance)
282             };
283             view.TransitionOptions.TransitionTag = "Transition";
284             view.TransitionOptions.EnableTransition = true;
285
286             TransitionItemBase transitionItemBase = null;
287             using (TimePeriod timePeriod = new TimePeriod(500))
288             {
289                 using (AlphaFunction alphaFunction = new AlphaFunction(AlphaFunction.BuiltinFunctions.Default))
290                 {
291                     transitionItemBase = new TransitionItemBase(view, true, timePeriod, alphaFunction);
292                 }
293             }
294
295             var testingTarget = new TransitionSet();
296             Assert.IsNotNull(testingTarget, "Should be not null!");
297             Assert.IsInstanceOf<TransitionSet>(testingTarget, "Should be an Instance of TransitionSet!");
298
299             testingTarget.AddTransition(transitionItemBase);
300
301             var transitionSetSignal = testingTarget.FinishedSignal();
302             Assert.IsNotNull(transitionSetSignal, "Should be not null!");
303             Assert.IsInstanceOf<TransitionSetFinishedSignal>(transitionSetSignal, "Should be an Instance of TransitionSet!");
304
305             transitionSetSignal.Connect(OnIntPtrCallback);
306             transitionSetSignal.Disconnect(OnIntPtrCallback);
307
308             view.Dispose();
309             testingTarget.Dispose();
310             tlog.Debug(tag, $"TransitionSetSignalDisconnectWithIntPtr END (OK)");
311         }
312     }
313 }