3 using NUnit.Framework.TUnit;
4 using Tizen.NUI.Components;
5 using Tizen.NUI.BaseComponents;
6 using System.Collections.Generic;
7 using System.Threading.Tasks;
9 namespace Tizen.NUI.Devel.Tests
11 using tlog = Tizen.Log;
14 [Description("public/Utility/CubeTransitionEffect")]
15 class PublicCubeTransitionEffectTest
17 private const string tag = "NUITEST";
18 private string currentpath = Tizen.Applications.Application.Current.DirectoryInfo.Resource + "picture.png";
19 private string targetpath = Tizen.Applications.Application.Current.DirectoryInfo.Resource + "picture.png";
21 private bool OnTransitionCompletedFlag = false;
26 tlog.Info(tag, "Init() is called!");
32 tlog.Info(tag, "Destroy() is called!");
37 [Description("CubeTransitionEffect SetTransitionDuration / GetTransitionDuration.")]
38 [Property("SPEC", "Tizen.NUI.CubeTransitionEffect.SetTransitionDuration / GetTransitionDuration M")]
39 [Property("SPEC_URL", "-")]
40 [Property("CRITERIA", "MR")]
41 [Property("AUTHOR", "guowei.wang@samsung.com")]
42 public void CubeTransitionEffectTransitionDuration()
44 tlog.Debug(tag, $"CubeTransitionEffectTransitionDuration START");
46 var testingTarget = new CubeTransitionWaveEffect(20, 10);
47 Assert.IsNotNull(testingTarget, "Can't create success object CubeTransitionEffect");
48 Assert.IsInstanceOf<CubeTransitionEffect>(testingTarget, "Should be an instance of CubeTransitionEffect type.");
50 testingTarget.SetTransitionDuration(1.5f);
52 var result = testingTarget.GetTransitionDuration();
53 Assert.AreEqual(1.5f, result, "Should be equal!");
55 testingTarget.Dispose();
56 tlog.Debug(tag, $"CubeTransitionEffectTransitionDuration END (OK)");
61 [Description("CubeTransitionEffect SetCubeDisplacement / GetCubeDisplacement.")]
62 [Property("SPEC", "Tizen.NUI.CubeTransitionEffect.SetCubeDisplacement / GetCubeDisplacement M")]
63 [Property("SPEC_URL", "-")]
64 [Property("CRITERIA", "MR")]
65 [Property("AUTHOR", "guowei.wang@samsung.com")]
66 public void CubeTransitionEffectCubeDisplacement()
68 tlog.Debug(tag, $"CubeTransitionEffectCubeDisplacement START");
70 var testingTarget = new CubeTransitionWaveEffect(20, 10);
71 Assert.IsNotNull(testingTarget, "Can't create success object CubeTransitionEffect");
72 Assert.IsInstanceOf<CubeTransitionEffect>(testingTarget, "Should be an instance of CubeTransitionEffect type.");
74 testingTarget.SetCubeDisplacement(70.0f);
76 var result = testingTarget.GetCubeDisplacement();
77 Assert.AreEqual(70.0f, result, "Should be equal!");
79 testingTarget.Dispose();
80 tlog.Debug(tag, $"CubeTransitionEffectCubeDisplacement END (OK)");
85 [Description("CubeTransitionEffect IsTransitioning.")]
86 [Property("SPEC", "Tizen.NUI.CubeTransitionEffect.IsTransitioning M")]
87 [Property("SPEC_URL", "-")]
88 [Property("CRITERIA", "MR")]
89 [Property("AUTHOR", "guowei.wang@samsung.com")]
90 public void CubeTransitionEffectIsTransitioning()
92 tlog.Debug(tag, $"CubeTransitionEffectIsTransitioning START");
94 var testingTarget = new CubeTransitionWaveEffect(20, 10);
95 Assert.IsNotNull(testingTarget, "Can't create success object CubeTransitionEffect");
96 Assert.IsInstanceOf<CubeTransitionEffect>(testingTarget, "Should be an instance of CubeTransitionEffect type.");
98 var result = testingTarget.IsTransitioning();
99 Assert.AreEqual(false, result, "Should be equal!");
101 testingTarget.Dispose();
102 tlog.Debug(tag, $"CubeTransitionEffectIsTransitioning END (OK)");
107 [Description("CubeTransitionEffect SetCurrentTexture.")]
108 [Property("SPEC", "Tizen.NUI.CubeTransitionEffect.SetCurrentTexture M")]
109 [Property("SPEC_URL", "-")]
110 [Property("CRITERIA", "MR")]
111 [Property("AUTHOR", "guowei.wang@samsung.com")]
112 public void CubeTransitionEffectSetCurrentTexture()
114 tlog.Debug(tag, $"CubeTransitionEffectSetCurrentTexture START");
116 var testingTarget = new CubeTransitionWaveEffect(20, 10);
117 Assert.IsNotNull(testingTarget, "Can't create success object CubeTransitionEffect");
118 Assert.IsInstanceOf<CubeTransitionEffect>(testingTarget, "Should be an instance of CubeTransitionEffect type.");
122 testingTarget.SetCurrentTexture(LoadStageFillingTexture(currentpath));
126 tlog.Debug(tag, e.Message.ToString());
127 Assert.Fail("Caught Exception: Failed!");
130 testingTarget.Dispose();
131 tlog.Debug(tag, $"CubeTransitionEffectSetCurrentTexture END (OK)");
136 [Description("CubeTransitionEffect SetTargetTexture.")]
137 [Property("SPEC", "Tizen.NUI.CubeTransitionEffect.SetTargetTexture M")]
138 [Property("SPEC_URL", "-")]
139 [Property("CRITERIA", "MR")]
140 [Property("AUTHOR", "guowei.wang@samsung.com")]
141 public void CubeTransitionEffectSetTargetTexture()
143 tlog.Debug(tag, $"CubeTransitionEffectSetTargetTexture START");
145 var testingTarget = new CubeTransitionWaveEffect(20, 10);
146 Assert.IsNotNull(testingTarget, "Can't create success object CubeTransitionEffect");
147 Assert.IsInstanceOf<CubeTransitionEffect>(testingTarget, "Should be an instance of CubeTransitionEffect type.");
151 testingTarget.SetTargetTexture(LoadStageFillingTexture(targetpath));
155 tlog.Debug(tag, e.Message.ToString());
156 Assert.Fail("Caught Exception: Failed!");
159 testingTarget.Dispose();
160 tlog.Debug(tag, $"CubeTransitionEffectSetTargetTexture END (OK)");
165 [Description("CubeTransitionEffect StartTransition.")]
166 [Property("SPEC", "Tizen.NUI.CubeTransitionEffect.StartTransition M")]
167 [Property("SPEC_URL", "-")]
168 [Property("CRITERIA", "MR")]
169 [Property("AUTHOR", "guowei.wang@samsung.com")]
170 public void CubeTransitionEffectStartTransition()
172 tlog.Debug(tag, $"CubeTransitionEffectStartTransition START");
174 var testingTarget = new CubeTransitionWaveEffect(20, 10);
175 Assert.IsNotNull(testingTarget, "Can't create success object CubeTransitionEffect");
176 Assert.IsInstanceOf<CubeTransitionEffect>(testingTarget, "Should be an instance of CubeTransitionEffect type.");
178 testingTarget.SetTransitionDuration(1.5f);
180 testingTarget.SetCurrentTexture(LoadStageFillingTexture(currentpath));
181 testingTarget.SetTargetTexture(LoadStageFillingTexture(targetpath));
185 testingTarget.StartTransition(true);
189 tlog.Debug(tag, e.Message.ToString());
190 Assert.Fail("Caught Exception: Failed!");
193 testingTarget?.Dispose();
194 tlog.Debug(tag, $"CubeTransitionEffectStartTransition END (OK)");
199 //[Description("CubeTransitionEffect PauseTransition.")]
200 //[Property("SPEC", "Tizen.NUI.CubeTransitionEffect.PauseTransition M")]
201 //[Property("SPEC_URL", "-")]
202 //[Property("CRITERIA", "MR")]
203 //[Property("AUTHOR", "guowei.wang@samsung.com")]
204 //public async Task CubeTransitionEffectPauseTransition()
206 // tlog.Debug(tag, $"CubeTransitionEffectPauseTransition START");
208 // var testingTarget = new CubeTransitionWaveEffect(20, 10);
209 // Assert.IsNotNull(testingTarget, "Can't create success object CubeTransitionEffect");
210 // Assert.IsInstanceOf<CubeTransitionEffect>(testingTarget, "Should be an instance of CubeTransitionEffect type.");
212 // testingTarget.SetTransitionDuration(300);
214 // testingTarget.SetCurrentTexture(LoadStageFillingTexture(currentpath));
215 // testingTarget.SetTargetTexture(LoadStageFillingTexture(targetpath));
216 // testingTarget.StartTransition(true);
218 // await Task.Delay(50);
222 // testingTarget.PauseTransition();
224 // catch (Exception e)
226 // tlog.Debug(tag, e.Message.ToString());
227 // Assert.Fail("Caught Exception: Failed!");
230 // testingTarget.ResumeTransition();
231 // testingTarget.StopTransition();
233 // testingTarget?.Dispose();
234 // tlog.Debug(tag, $"CubeTransitionEffectPauseTransition END (OK)");
239 //[Description("CubeTransitionEffect ResumeTransition.")]
240 //[Property("SPEC", "Tizen.NUI.CubeTransitionEffect.ResumeTransition M")]
241 //[Property("SPEC_URL", "-")]
242 //[Property("CRITERIA", "MR")]
243 //[Property("AUTHOR", "guowei.wang@samsung.com")]
244 //public async Task CubeTransitionEffectResumeTransition()
246 // tlog.Debug(tag, $"CubeTransitionEffectResumeTransition START");
248 // var testingTarget = new CubeTransitionWaveEffect(20, 10);
249 // Assert.IsNotNull(testingTarget, "Can't create success object CubeTransitionEffect");
250 // Assert.IsInstanceOf<CubeTransitionEffect>(testingTarget, "Should be an instance of CubeTransitionEffect type.");
252 // testingTarget.SetTransitionDuration(300);
254 // testingTarget.SetCurrentTexture(LoadStageFillingTexture(currentpath));
255 // testingTarget.SetTargetTexture(LoadStageFillingTexture(targetpath));
256 // testingTarget.StartTransition(true);
258 // await Task.Delay(50);
259 // testingTarget.PauseTransition();
263 // testingTarget.ResumeTransition();
265 // catch (Exception e)
267 // tlog.Debug(tag, e.Message.ToString());
268 // Assert.Fail("Caught Exception: Failed!");
271 // testingTarget.StopTransition();
273 // testingTarget?.Dispose();
274 // tlog.Debug(tag, $"CubeTransitionEffectResumeTransition END (OK)");
279 [Description("CubeTransitionEffect TransitionCompleted.")]
280 [Property("SPEC", "Tizen.NUI.CubeTransitionEffect.TransitionCompleted M")]
281 [Property("SPEC_URL", "-")]
282 [Property("CRITERIA", "MR")]
283 [Property("AUTHOR", "guowei.wang@samsung.com")]
284 public void CubeTransitionEffectTransitionCompleted()
286 tlog.Debug(tag, $"CubeTransitionEffectTransitionCompleted START");
288 var testingTarget = new CubeTransitionWaveEffect(20, 10);
289 Assert.IsNotNull(testingTarget, "Can't create success object CubeTransitionEffect");
290 Assert.IsInstanceOf<CubeTransitionEffect>(testingTarget, "Should be an instance of CubeTransitionEffect type.");
294 testingTarget.TransitionCompleted += OnCubeEffectCompleted;
295 testingTarget.TransitionCompleted -= OnCubeEffectCompleted;
299 tlog.Debug(tag, e.Message.ToString());
300 Assert.Fail("Caught Exception: Failed!");
303 testingTarget.Dispose();
304 tlog.Debug(tag, $"CubeTransitionEffectTransitionCompleted END (OK)");
309 [Description("CubeTransitionEffectSignal GetConnectionCount.")]
310 [Property("SPEC", "Tizen.NUI.CubeTransitionEffectSignal.GetConnectionCount M")]
311 [Property("SPEC_URL", "-")]
312 [Property("CRITERIA", "MR")]
313 [Property("AUTHOR", "guowei.wang@samsung.com")]
314 public void CubeTransitionEffectSignalGetConnectionCount()
316 tlog.Debug(tag, $"CubeTransitionEffectSignalGetConnectionCount START");
318 var testingTarget = new CubeTransitionEffectSignal();
319 Assert.IsNotNull(testingTarget, "Can't create success object CubeTransitionEffectSignal");
320 Assert.IsInstanceOf<CubeTransitionEffectSignal>(testingTarget, "Should be an instance of CubeTransitionEffectSignal type.");
322 var result = testingTarget.GetConnectionCount();
323 Assert.IsTrue(result == 0, "result should be 0");
325 testingTarget.Dispose();
326 tlog.Debug(tag, $"CubeTransitionEffectSignalGetConnectionCount END (OK)");
331 [Description("CubeTransitionEffectSignal Emit.")]
332 [Property("SPEC", "Tizen.NUI.CubeTransitionEffectSignal.Emit M")]
333 [Property("SPEC_URL", "-")]
334 [Property("CRITERIA", "MR")]
335 [Property("AUTHOR", "guowei.wang@samsung.com")]
336 public void CubeTransitionEffectSignalEmit()
338 tlog.Debug(tag, $"CubeTransitionEffectSignalEmit START");
340 var currentPid = global::System.Diagnostics.Process.GetCurrentProcess().Id;
341 var currentTid = global::System.Threading.Thread.CurrentThread.ManagedThreadId;
343 tlog.Debug(tag, $"thread check! main pid={App.mainPid}, current pid={currentPid}, main tid={App.mainTid}, current tid={currentTid}");
345 var testingTarget = new CubeTransitionEffectSignal();
346 Assert.IsNotNull(testingTarget, "Can't create success object CubeTransitionEffectSignal");
347 Assert.IsInstanceOf<CubeTransitionEffectSignal>(testingTarget, "Should be an instance of CubeTransitionEffectSignal type.");
349 using (CubeTransitionEffect effect = new CubeTransitionCrossEffect(10, 8))
351 testingTarget.Emit(effect);
354 testingTarget.Dispose();
355 tlog.Debug(tag, $"CubeTransitionEffectSignalEmit END (OK)");
360 [Description("CubeTransitionWaveEffect constructor.")]
361 [Property("SPEC", "Tizen.NUI.CubeTransitionWaveEffect.CubeTransitionWaveEffect C")]
362 [Property("SPEC_URL", "-")]
363 [Property("CRITERIA", "CONSTR")]
364 [Property("AUTHOR", "guowei.wang@samsung.com")]
365 public void CubeTransitionWaveEffectConstructor()
367 tlog.Debug(tag, $"CubeTransitionWaveEffectConstructor START");
369 var testingTarget = new CubeTransitionWaveEffect(20, 10);
370 Assert.IsNotNull(testingTarget, "Can't create success object CubeTransitionEffect");
371 Assert.IsInstanceOf<CubeTransitionEffect>(testingTarget, "Should be an instance of CubeTransitionEffect type.");
373 testingTarget.Dispose();
374 tlog.Debug(tag, $"CubeTransitionWaveEffectConstructor END (OK)");
379 [Description("CubeTransitionCrossEffect constructor.")]
380 [Property("SPEC", "Tizen.NUI.CubeTransitionCrossEffect.CubeTransitionCrossEffect M")]
381 [Property("SPEC_URL", "-")]
382 [Property("CRITERIA", "MR")]
383 [Property("AUTHOR", "guowei.wang@samsung.com")]
384 public void CubeTransitionCrossEffectConstructor()
386 tlog.Debug(tag, $"CubeTransitionCrossEffectConstructor START");
388 var testingTarget = new CubeTransitionCrossEffect(10, 8);
389 Assert.IsNotNull(testingTarget, "Can't create success object CubeTransitionEffect");
390 Assert.IsInstanceOf<CubeTransitionEffect>(testingTarget, "Should be an instance of CubeTransitionEffect type.");
392 testingTarget.Dispose();
393 tlog.Debug(tag, $"CubeTransitionCrossEffectConstructor END (OK)");
398 [Description("CubeTransitionFoldEffect constructor.")]
399 [Property("SPEC", "Tizen.NUI.CubeTransitionFoldEffect.CubeTransitionFoldEffect M")]
400 [Property("SPEC_URL", "-")]
401 [Property("CRITERIA", "MR")]
402 [Property("AUTHOR", "guowei.wang@samsung.com")]
403 public void CubeTransitionFoldEffectConstructor()
405 tlog.Debug(tag, $"CubeTransitionFoldEffectConstructor START");
407 var testingTarget = new CubeTransitionFoldEffect(10, 8);
408 Assert.IsNotNull(testingTarget, "Can't create success object CubeTransitionEffect");
409 Assert.IsInstanceOf<CubeTransitionEffect>(testingTarget, "Should be an instance of CubeTransitionEffect type.");
411 testingTarget.Dispose();
412 tlog.Debug(tag, $"CubeTransitionFoldEffectConstructor END (OK)");
415 private void OnCubeEffectCompleted(object sender, CubeTransitionEffect.TransitionCompletedEventArgs args)
417 OnTransitionCompletedFlag = true;
420 private Texture LoadStageFillingTexture(string filepath)
422 Size2D dimensions = new Size2D(NUIApplication.GetDefaultWindow().WindowSize.Width, NUIApplication.GetDefaultWindow().WindowSize.Height);
423 PixelBuffer pb = ImageLoading.LoadImageFromFile(filepath, dimensions, FittingModeType.ScaleToFill);
424 PixelData pd = PixelBuffer.Convert(pb);
426 Texture texture = new Texture(TextureType.TEXTURE_2D, pd.GetPixelFormat(), pd.GetWidth(), pd.GetHeight());