From 4f710bf7d4157df1e07d583e8e0163b86455e326 Mon Sep 17 00:00:00 2001 From: "guowei.wang" Date: Sun, 24 Apr 2022 19:51:58 +0800 Subject: [PATCH] [NUI][TEST] Update TCs of NUI.Components. --- .../res/demoVideo.mp4 | Bin 0 -> 89690 bytes .../Controls/FlexibleView/TSFlexibleViewAdapter.cs | 115 ++++++++ .../Controls/FlexibleView/TSFlexibleViewHelper.cs | 122 +++++++++ .../FlexibleView/TSFlexibleViewLayoutManager.cs | 54 +++- .../Controls/FlexibleView/TSOrientationHelper.cs | 130 ++------- .../Controls/RecyclerView/TSRecyclerView.cs | 10 +- .../testcase/Controls/TSButton.cs | 7 +- .../testcase/Controls/TSDatePicker.cs | 7 +- .../testcase/Controls/TSMenu.cs | 57 ++-- .../testcase/Controls/TSPopup.cs | 295 +++++++++++++++++++++ .../testcase/Controls/TSScrollableBase.cs | 1 + .../testcase/Controls/TSTimePicker.cs | 2 +- .../testcase/Extension/TSLottieSwitchExtension.cs | 6 +- 13 files changed, 659 insertions(+), 147 deletions(-) create mode 100755 test/Tizen.NUI.Tests/Tizen.NUI.Components.Devel.Tests/res/demoVideo.mp4 create mode 100755 test/Tizen.NUI.Tests/Tizen.NUI.Components.Devel.Tests/testcase/Controls/FlexibleView/TSFlexibleViewAdapter.cs create mode 100755 test/Tizen.NUI.Tests/Tizen.NUI.Components.Devel.Tests/testcase/Controls/FlexibleView/TSFlexibleViewHelper.cs diff --git a/test/Tizen.NUI.Tests/Tizen.NUI.Components.Devel.Tests/res/demoVideo.mp4 b/test/Tizen.NUI.Tests/Tizen.NUI.Components.Devel.Tests/res/demoVideo.mp4 new file mode 100755 index 0000000000000000000000000000000000000000..9232219354f1fd3b6cedfee68850f0be91ee5a5a GIT binary patch literal 89690 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 JDFC8<`d>v0uay7* literal 0 HcmV?d00001 diff --git a/test/Tizen.NUI.Tests/Tizen.NUI.Components.Devel.Tests/testcase/Controls/FlexibleView/TSFlexibleViewAdapter.cs b/test/Tizen.NUI.Tests/Tizen.NUI.Components.Devel.Tests/testcase/Controls/FlexibleView/TSFlexibleViewAdapter.cs new file mode 100755 index 0000000..9da66de --- /dev/null +++ b/test/Tizen.NUI.Tests/Tizen.NUI.Components.Devel.Tests/testcase/Controls/FlexibleView/TSFlexibleViewAdapter.cs @@ -0,0 +1,115 @@ +using System; +using System.Collections.Generic; +using System.Text; + +namespace Tizen.NUI.Components.Devel.Tests +{ + using tlog = Tizen.Log; + + [TestFixture] + [Description("Controls/FlexibleView/FlexibleViewAdapter")] + public class FlexibleViewAdapterTest + { + private const string tag = "NUITEST"; + + private Vector2 scrnSize; + private ListBridge adapter; + private FlexibleView horizontalFlexibleView; + private LinearLayoutManager horizontalLayoutManager; + } + + [TearDown] + public void Destroy() + { + scrnSize?.Dispose(); + tlog.Info(tag, "Destroy() is called!"); + } + + private FlexibleView GetHorizontalFlexibleView() + { + horizontalFlexibleView = new FlexibleView(); + Assert.IsNotNull(horizontalFlexibleView, "should be not null"); + Assert.IsInstanceOf(horizontalFlexibleView, "should be an instance of testing target class!"); + + horizontalFlexibleView.Name = "FlexibleView"; + horizontalFlexibleView.WidthSpecification = 400; + horizontalFlexibleView.HeightSpecification = 450; + horizontalFlexibleView.Padding = new Extents(10, 10, 10, 10); + horizontalFlexibleView.BackgroundColor = new Color(0.0f, 0.0f, 0.0f, 0.4f); + + List dataList = new List(); + for (int i = 0; i < 4; ++i) + { + dataList.Add(new ListItemData(i)); + } + adapter = new ListBridge(dataList); + horizontalFlexibleView.SetAdapter(adapter); + horizontalFlexibleView.OnRelayout(scrnSize, null); + + horizontalLayoutManager = new LinearLayoutManager(LinearLayoutManager.HORIZONTAL); + horizontalFlexibleView.SetLayoutManager(horizontalLayoutManager); + horizontalFlexibleView.OnRelayout(scrnSize, null); + + return horizontalFlexibleView; + } + + [Test] + [Category("P1")] + [Description("FlexibleViewAdapter NotifyItemChanged.")] + [Property("SPEC", "Tizen.NUI.Components.FlexibleView.FlexibleViewAdapter.NotifyItemChanged M")] + [Property("SPEC_URL", "-")] + [Property("CRITERIA", "MR")] + [Property("COVPARAM", "")] + [Property("AUTHOR", "guowei.wang@samsung.com")] + public void FlexibleViewAdapterNotifyItemChanged() + { + tlog.Debug(tag, $"FlexibleViewAdapterNotifyItemChanged START"); + + var testingTarget = GetHorizontalFlexibleView(); + Assert.IsNotNull(testingTarget, "should be not null"); + Assert.IsInstanceOf(testingTarget, "should be an instance of testing target class!"); + + try + { + testingTarget.GetAdapter().NotifyItemChanged(2); + } + catch (Exception e) + { + tlog.Debug(tag, e.Message.ToString()); + Assert.Fail("Caught Exception : Failed!"); + } + + testingTarget.Dispose(); + tlog.Debug(tag, $"FlexibleViewAdapterNotifyItemChanged END (OK)"); + } + + [Test] + [Category("P1")] + [Description("FlexibleViewAdapter NotifyItemRangeChanged.")] + [Property("SPEC", "Tizen.NUI.Components.FlexibleView.FlexibleViewAdapter.NotifyItemRangeChanged M")] + [Property("SPEC_URL", "-")] + [Property("CRITERIA", "MR")] + [Property("COVPARAM", "")] + [Property("AUTHOR", "guowei.wang@samsung.com")] + public void FlexibleViewAdapterNotifyItemRangeChanged() + { + tlog.Debug(tag, $"FlexibleViewAdapterNotifyItemRangeChanged START"); + + var testingTarget = GetHorizontalFlexibleView(); + Assert.IsNotNull(testingTarget, "should be not null"); + Assert.IsInstanceOf(testingTarget, "should be an instance of testing target class!"); + + try + { + testingTarget.GetAdapter().NotifyItemRangeChanged(2, 2); + } + catch (Exception e) + { + tlog.Debug(tag, e.Message.ToString()); + Assert.Fail("Caught Exception : Failed!"); + } + + testingTarget.Dispose(); + tlog.Debug(tag, $"FlexibleViewAdapterNotifyItemRangeChanged END (OK)"); + } +} diff --git a/test/Tizen.NUI.Tests/Tizen.NUI.Components.Devel.Tests/testcase/Controls/FlexibleView/TSFlexibleViewHelper.cs b/test/Tizen.NUI.Tests/Tizen.NUI.Components.Devel.Tests/testcase/Controls/FlexibleView/TSFlexibleViewHelper.cs new file mode 100755 index 0000000..323e87d --- /dev/null +++ b/test/Tizen.NUI.Tests/Tizen.NUI.Components.Devel.Tests/testcase/Controls/FlexibleView/TSFlexibleViewHelper.cs @@ -0,0 +1,122 @@ +using System; +using System.Collections.Generic; +using System.Text; + +namespace Tizen.NUI.Components.Devel.Tests +{ + using tlog = Tizen.Log; + + [TestFixture] + [Description("Controls/FlexibleView/FlexibleView.Helper")] + public class FlexibleViewHelperTest + { + private const string tag = "NUITEST"; + + private Vector2 scrnSize; + private ListBridge adapter; + private FlexibleView horizontalFlexibleView; + private LinearLayoutManager horizontalLayoutManager; + + [SetUp] + public void Init() + { + tlog.Info(tag, "Init() is called!"); + scrnSize = new Vector2(1920, 1080); + } + + [TearDown] + public void Destroy() + { + scrnSize?.Dispose(); + tlog.Info(tag, "Destroy() is called!"); + } + + private FlexibleView GetHorizontalFlexibleView() + { + horizontalFlexibleView = new FlexibleView(); + Assert.IsNotNull(horizontalFlexibleView, "should be not null"); + Assert.IsInstanceOf(horizontalFlexibleView, "should be an instance of testing target class!"); + + horizontalFlexibleView.Name = "FlexibleView"; + horizontalFlexibleView.WidthSpecification = 400; + horizontalFlexibleView.HeightSpecification = 450; + horizontalFlexibleView.Padding = new Extents(10, 10, 10, 10); + horizontalFlexibleView.BackgroundColor = new Color(0.0f, 0.0f, 0.0f, 0.4f); + + List dataList = new List(); + for (int i = 0; i < 4; ++i) + { + dataList.Add(new ListItemData(i)); + } + adapter = new ListBridge(dataList); + horizontalFlexibleView.SetAdapter(adapter); + horizontalFlexibleView.OnRelayout(scrnSize, null); + + horizontalLayoutManager = new LinearLayoutManager(LinearLayoutManager.HORIZONTAL); + horizontalFlexibleView.SetLayoutManager(horizontalLayoutManager); + horizontalFlexibleView.OnRelayout(scrnSize, null); + + return horizontalFlexibleView; + } + + [Test] + [Category("P1")] + [Description("ChildHelper RemoveViewAt.")] + [Property("SPEC", "Tizen.NUI.Components.FlexibleView.ChildHelper.RemoveViewAt M")] + [Property("SPEC_URL", "-")] + [Property("CRITERIA", "MR")] + [Property("COVPARAM", "")] + [Property("AUTHOR", "guowei.wang@samsung.com")] + public void ChildHelperRemoveViewAt() + { + tlog.Debug(tag, $"ChildHelperRemoveViewAt START"); + + var testingTarget = GetHorizontalFlexibleView(); + Assert.IsNotNull(testingTarget, "should be not null"); + Assert.IsInstanceOf(testingTarget, "should be an instance of testing target class!"); + + try + { + testingTarget.GetChildHelper().RemoveViewAt(1); + } + catch (Exception e) + { + tlog.Debug(tag, e.Message.ToString()); + Assert.Fail("Caught Exception : Failed!"); + } + + testingTarget.Dispose(); + tlog.Debug(tag, $"ChildHelperRemoveViewAt END (OK)"); + } + + [Test] + [Category("P1")] + [Description("ChildHelper RemoveViewsRange.")] + [Property("SPEC", "Tizen.NUI.Components.FlexibleView.ChildHelper.RemoveViewsRange M")] + [Property("SPEC_URL", "-")] + [Property("CRITERIA", "MR")] + [Property("COVPARAM", "")] + [Property("AUTHOR", "guowei.wang@samsung.com")] + public void ChildHelperRemoveViewsRange() + { + tlog.Debug(tag, $"ChildHelperRemoveViewsRange START"); + + var testingTarget = GetHorizontalFlexibleView(); + Assert.IsNotNull(testingTarget, "should be not null"); + Assert.IsInstanceOf(testingTarget, "should be an instance of testing target class!"); + + try + { + testingTarget.GetChildHelper().RemoveViewsRange(1, 2); + } + catch (Exception e) + { + tlog.Debug(tag, e.Message.ToString()); + Assert.Fail("Caught Exception : Failed!"); + } + + testingTarget.Dispose(); + tlog.Debug(tag, $"ChildHelperRemoveViewsRange END (OK)"); + } + } +} diff --git a/test/Tizen.NUI.Tests/Tizen.NUI.Components.Devel.Tests/testcase/Controls/FlexibleView/TSFlexibleViewLayoutManager.cs b/test/Tizen.NUI.Tests/Tizen.NUI.Components.Devel.Tests/testcase/Controls/FlexibleView/TSFlexibleViewLayoutManager.cs index 61a79d8..9731a8a 100755 --- a/test/Tizen.NUI.Tests/Tizen.NUI.Components.Devel.Tests/testcase/Controls/FlexibleView/TSFlexibleViewLayoutManager.cs +++ b/test/Tizen.NUI.Tests/Tizen.NUI.Components.Devel.Tests/testcase/Controls/FlexibleView/TSFlexibleViewLayoutManager.cs @@ -602,23 +602,18 @@ namespace Tizen.NUI.Components.Devel.Tests { tlog.Debug(tag, $"FlexibleViewLayoutManagerRemoveAndRecycleViewAt START"); - var testingTarget = new FlexibleViewLayoutManagerImpl(); + var testingTarget = GetVerticalFlexibleView(); Assert.IsNotNull(testingTarget, "should be not null"); - Assert.IsInstanceOf(testingTarget, "should be an instance of testing target class!"); + Assert.IsInstanceOf(testingTarget, "should be an instance of testing target class!"); - using (FlexibleView view = new FlexibleView() { Padding = new Extents(10, 10, 10, 10) }) + try { - FlexibleViewRecycler recycler = new FlexibleViewRecycler(view); - - try - { - testingTarget.RemoveAndRecycleViewAt(0, recycler); - } - catch (Exception e) - { - tlog.Debug(tag, e.Message.ToString()); - Assert.Fail("Caught Exception : Failed!"); - } + verticalLayoutManager.RemoveAndRecycleViewAt(0, testingTarget.GetRecycler()); + } + catch (Exception e) + { + tlog.Debug(tag, e.Message.ToString()); + Assert.Fail("Caught Exception : Failed!"); } testingTarget.Dispose(); @@ -703,5 +698,36 @@ namespace Tizen.NUI.Components.Devel.Tests testingTarget.Dispose(); tlog.Debug(tag, $"FlexibleViewLayoutManagerOnFocusSearchFailed END (OK)"); } + + [Test] + [Category("P1")] + [Description("FlexibleViewLayoutManager RemoveAndRecycleViewAt.")] + [Property("SPEC", "Tizen.NUI.Components.FlexibleViewLayoutManager.RemoveAndRecycleViewAt M")] + [Property("SPEC_URL", "-")] + [Property("CRITERIA", "MR")] + [Property("COVPARAM", "")] + [Property("AUTHOR", "guowei.wang@samsung.com")] + public void FlexibleViewLayoutManagerOnLayoutComplete() + { + tlog.Debug(tag, $"FlexibleViewLayoutManagerOnLayoutComplete START"); + + var testingTarget = GetVerticalFlexibleView(); + Assert.IsNotNull(testingTarget, "should be not null"); + Assert.IsInstanceOf(testingTarget, "should be an instance of testing target class!"); + + var vHelper = new VerticalHelper(verticalLayoutManager); + try + { + vHelper.OnLayoutComplete(); + } + catch (Exception e) + { + tlog.Debug(tag, e.Message.ToString()); + Assert.Fail("Caught Exception : Failed!"); + } + + testingTarget.Dispose(); + tlog.Debug(tag, $"FlexibleViewLayoutManagerOnLayoutComplete END (OK)"); + } } } diff --git a/test/Tizen.NUI.Tests/Tizen.NUI.Components.Devel.Tests/testcase/Controls/FlexibleView/TSOrientationHelper.cs b/test/Tizen.NUI.Tests/Tizen.NUI.Components.Devel.Tests/testcase/Controls/FlexibleView/TSOrientationHelper.cs index 28144f6..fa71df0 100755 --- a/test/Tizen.NUI.Tests/Tizen.NUI.Components.Devel.Tests/testcase/Controls/FlexibleView/TSOrientationHelper.cs +++ b/test/Tizen.NUI.Tests/Tizen.NUI.Components.Devel.Tests/testcase/Controls/FlexibleView/TSOrientationHelper.cs @@ -27,85 +27,6 @@ namespace Tizen.NUI.Components.Devel.Tests tlog.Info(tag, "Destroy() is called!"); } - internal class OrientationHelperImpl : OrientationHelper - { - public OrientationHelperImpl(FlexibleViewLayoutManager layoutManager) : base(layoutManager) - { - - } - - public override float GetEnd() - { - throw new NotImplementedException(); - } - - public override float GetEndAfterPadding() - { - throw new NotImplementedException(); - } - - public override float GetEndPadding() - { - throw new NotImplementedException(); - } - - public override float GetStartAfterPadding() - { - throw new NotImplementedException(); - } - - public override float GetTotalSpace() - { - throw new NotImplementedException(); - } - - public override float GetViewHolderEnd(FlexibleViewViewHolder holder) - { - throw new NotImplementedException(); - } - - public override float GetViewHolderMeasurement(FlexibleViewViewHolder holder) - { - throw new NotImplementedException(); - } - - public override float GetViewHolderMeasurementInOther(FlexibleViewViewHolder holder) - { - return holder.Bottom - holder.Top; - } - - public override float GetViewHolderStart(FlexibleViewViewHolder holder) - { - throw new NotImplementedException(); - } - - public override void OffsetChildren(float amount, bool immediate) - { - throw new NotImplementedException(); - } - - internal override void OffsetChild(FlexibleViewViewHolder holder, int offset) - { - throw new NotImplementedException(); - } - } - - internal class FlexibleViewLayoutManagerImpl : FlexibleViewLayoutManager - { - public FlexibleViewLayoutManagerImpl() : base() - { } - - public override void OnLayoutChildren(FlexibleViewRecycler recycler) - { - throw new NotImplementedException(); - } - - protected override int GetNextPosition(int position, Direction direction) - { - throw new NotImplementedException(); - } - } - [Test] [Category("P1")] [Description("OrientationHelper OnLayoutComplete.")] @@ -118,17 +39,13 @@ namespace Tizen.NUI.Components.Devel.Tests { tlog.Debug(tag, $"OrientationHelperOnLayoutComplete START"); - FlexibleViewLayoutManager manager = new FlexibleViewLayoutManagerImpl(); - Assert.IsNotNull(manager, "should be not null"); - Assert.IsInstanceOf(manager, "should be an instance of testing target class!"); - - var testingTarget = new OrientationHelperImpl(manager); + var testingTarget = new LinearLayoutManager(LinearLayoutManager.VERTICAL); Assert.IsNotNull(testingTarget, "should be not null"); - Assert.IsInstanceOf(testingTarget, "should be an instance of testing target class!"); + Assert.IsInstanceOf(testingTarget, "should be an instance of testing target class!"); try { - testingTarget.OnLayoutComplete(); + testingTarget.orientationHelper.OnLayoutComplete(); } catch (Exception e) { @@ -136,7 +53,7 @@ namespace Tizen.NUI.Components.Devel.Tests Assert.Fail("Caught Exception : Failed!"); } - manager.Dispose(); + testingTarget.Dispose(); tlog.Debug(tag, $"OrientationHelperOnLayoutComplete END (OK)"); } @@ -152,18 +69,13 @@ namespace Tizen.NUI.Components.Devel.Tests { tlog.Debug(tag, $"OrientationHelperGetTotalSpaceChange START"); - FlexibleViewLayoutManager manager = new FlexibleViewLayoutManagerImpl(); - Assert.IsNotNull(manager, "should be not null"); - Assert.IsInstanceOf(manager, "should be an instance of testing target class!"); - - var testingTarget = new OrientationHelperImpl(manager); + var testingTarget = new LinearLayoutManager(LinearLayoutManager.VERTICAL); Assert.IsNotNull(testingTarget, "should be not null"); - Assert.IsInstanceOf(testingTarget, "should be an instance of testing target class!"); + Assert.IsInstanceOf(testingTarget, "should be an instance of testing target class!"); try { - var result = testingTarget.GetTotalSpaceChange(); - tlog.Debug(tag, "GetTotalSpaceChange : " + result); + testingTarget.orientationHelper.GetTotalSpaceChange(); } catch (Exception e) { @@ -171,7 +83,7 @@ namespace Tizen.NUI.Components.Devel.Tests Assert.Fail("Caught Exception : Failed!"); } - manager.Dispose(); + testingTarget.Dispose(); tlog.Debug(tag, $"OrientationHelperGetTotalSpaceChange END (OK)"); } @@ -187,23 +99,21 @@ namespace Tizen.NUI.Components.Devel.Tests { tlog.Debug(tag, $"OrientationHelperGetViewHolderMeasurementInOther START"); - FlexibleViewLayoutManager manager = new FlexibleViewLayoutManagerImpl(); - Assert.IsNotNull(manager, "should be not null"); - Assert.IsInstanceOf(manager, "should be an instance of testing target class!"); - - var testingTarget = new OrientationHelperImpl(manager); - Assert.IsNotNull(testingTarget, "should be not null"); - Assert.IsInstanceOf(testingTarget, "should be an instance of testing target class!"); - - using (View view = new View() { Size = new Size(100, 200) }) + using (LinearLayoutManager manager = new LinearLayoutManager(LinearLayoutManager.VERTICAL)) { - FlexibleViewViewHolder holder = new FlexibleViewViewHolder(view); + var testingTarget = new VerticalHelper(manager); + Assert.IsNotNull(testingTarget, "should be not null"); + Assert.IsInstanceOf(testingTarget, "should be an instance of testing target class!"); - var result = testingTarget.GetViewHolderMeasurementInOther(holder); - tlog.Debug(tag, "GetViewHolderMeasurementInOther : " + result); - } + using (View view = new View() { Size = new Size(100, 200) }) + { + FlexibleViewViewHolder holder = new FlexibleViewViewHolder(view); - manager.Dispose(); + var result = testingTarget.GetViewHolderMeasurementInOther(holder); + tlog.Debug(tag, "GetViewHolderMeasurementInOther : " + result); + } + } + tlog.Debug(tag, $"OrientationHelperGetViewHolderMeasurementInOther END (OK)"); } } diff --git a/test/Tizen.NUI.Tests/Tizen.NUI.Components.Devel.Tests/testcase/Controls/RecyclerView/TSRecyclerView.cs b/test/Tizen.NUI.Tests/Tizen.NUI.Components.Devel.Tests/testcase/Controls/RecyclerView/TSRecyclerView.cs index 59fa583..f829e19 100755 --- a/test/Tizen.NUI.Tests/Tizen.NUI.Components.Devel.Tests/testcase/Controls/RecyclerView/TSRecyclerView.cs +++ b/test/Tizen.NUI.Tests/Tizen.NUI.Components.Devel.Tests/testcase/Controls/RecyclerView/TSRecyclerView.cs @@ -25,10 +25,18 @@ namespace Tizen.NUI.Components.Devel.Tests Source.Add(new TestItem(i, $"Test Item [{i}]", new Color(((float)(Rand.Next(255)) / 255), ((float)(Rand.Next(255)) / 255), ((float)(Rand.Next(255)) / 255), 1))); } + internal class ItemsLayouterImpl : ItemsLayouter + { + public ItemsLayouterImpl() : base() + { } + } + internal class RecyclerViewImpl : RecyclerView { public RecyclerViewImpl() : base() - { } + { + base.InternalItemsLayouter = new ItemsLayouterImpl(); + } public float OnAdjustTargetPositionOfScrollAnimation(float position) { diff --git a/test/Tizen.NUI.Tests/Tizen.NUI.Components.Devel.Tests/testcase/Controls/TSButton.cs b/test/Tizen.NUI.Tests/Tizen.NUI.Components.Devel.Tests/testcase/Controls/TSButton.cs index b3d6d60..d40a06f 100755 --- a/test/Tizen.NUI.Tests/Tizen.NUI.Components.Devel.Tests/testcase/Controls/TSButton.cs +++ b/test/Tizen.NUI.Tests/Tizen.NUI.Components.Devel.Tests/testcase/Controls/TSButton.cs @@ -190,8 +190,11 @@ namespace Tizen.NUI.Components.Devel.Tests.testcase.Controls NUIApplication.GetDefaultWindow().GetDefaultLayer().Add(testingTarget); - testingTarget.TranslatableText = "TranslatableText"; - tlog.Debug(tag, "testingTarget.TranslatableText : " + testingTarget.TranslatableText); + if (NUIApplication.MultilingualResourceManager != null) + { + testingTarget.TranslatableText = "Test TranslatableText"; + tlog.Debug(tag, "testingTarget.TranslatableText : " + testingTarget.TranslatableText); + } NUIApplication.GetDefaultWindow().GetDefaultLayer().Remove(testingTarget); diff --git a/test/Tizen.NUI.Tests/Tizen.NUI.Components.Devel.Tests/testcase/Controls/TSDatePicker.cs b/test/Tizen.NUI.Tests/Tizen.NUI.Components.Devel.Tests/testcase/Controls/TSDatePicker.cs index 93977de..efc6060 100755 --- a/test/Tizen.NUI.Tests/Tizen.NUI.Components.Devel.Tests/testcase/Controls/TSDatePicker.cs +++ b/test/Tizen.NUI.Tests/Tizen.NUI.Components.Devel.Tests/testcase/Controls/TSDatePicker.cs @@ -92,10 +92,15 @@ namespace Tizen.NUI.Components.Devel.Tests { Pickers = new PickerStyle() { - StartScrollOffset = new Size(10, 10) + StartScrollOffset = new Size(10, 10), + Divider = new ViewStyle() + { + Position = new Position(30, 40), + } }, CellPadding = new Size2D(20, 20), }; + var testingTarget = new DatePicker(dpStyle); Assert.IsNotNull(testingTarget, "null handle"); Assert.IsInstanceOf(testingTarget, "Should return DatePicker instance."); diff --git a/test/Tizen.NUI.Tests/Tizen.NUI.Components.Devel.Tests/testcase/Controls/TSMenu.cs b/test/Tizen.NUI.Tests/Tizen.NUI.Components.Devel.Tests/testcase/Controls/TSMenu.cs index 9e5f950..325e54a 100755 --- a/test/Tizen.NUI.Tests/Tizen.NUI.Components.Devel.Tests/testcase/Controls/TSMenu.cs +++ b/test/Tizen.NUI.Tests/Tizen.NUI.Components.Devel.Tests/testcase/Controls/TSMenu.cs @@ -281,31 +281,56 @@ namespace Tizen.NUI.Components.Devel.Tests testingTarget.Post(); testingTarget.Dismiss(); - testingTarget.HorizontalPositionToAnchor = Menu.RelativePosition.Center; - testingTarget.VerticalPositionToAnchor = Menu.RelativePosition.Center; - testingTarget.Post(); - testingTarget.Dismiss(); + tlog.Debug(tag, $"MenuPost END (OK)"); + } - testingTarget.HorizontalPositionToAnchor = Menu.RelativePosition.End; - testingTarget.VerticalPositionToAnchor = Menu.RelativePosition.End; - testingTarget.Post(); - testingTarget.Dismiss(); + [Test] + [Category("P1")] + [Description("Menu Post.")] + [Property("SPEC", "Tizen.NUI.Components.Menu.Post M")] + [Property("SPEC_URL", "-")] + [Property("CRITERIA", "MR")] + [Property("COVPARAM", "")] + [Property("AUTHOR", "guowei.wang@samsung.com")] + public void MenuPostViewLayoutDirectionTypeIsRTL() + { + tlog.Debug(tag, $"MenuPostViewLayoutDirectionTypeIsRTL START"); - // LayoutDirection == ViewLayoutDirectionType.LTR - testingTarget.LayoutDirection = ViewLayoutDirectionType.RTL; + var testingTarget = new MyMenu() + { + Size = new Size(100, 200), + BackgroundColor = Color.Green, + LayoutDirection = ViewLayoutDirectionType.RTL + }; + Assert.IsNotNull(testingTarget, "Can't create success object Menu"); + Assert.IsInstanceOf(testingTarget, "Costruct Menu Fail"); - testingTarget.HorizontalPositionToAnchor = Menu.RelativePosition.Start; - testingTarget.VerticalPositionToAnchor = Menu.RelativePosition.Start; - testingTarget.Post(); - testingTarget.Dismiss(); + View anchor = new View() + { + Size = new Size(100, 30), + BackgroundColor = Color.Cyan + }; + testingTarget.Anchor = anchor; + + View content = new View() + { + Size = new Size2D(100, 30), + }; + testingTarget.MyContent = content; + + List items = new List(); + MenuItem item = new MenuItem(); + items.Add(item); + testingTarget.Items = items; + + testingTarget.LayoutDirection = ViewLayoutDirectionType.RTL; testingTarget.HorizontalPositionToAnchor = Menu.RelativePosition.End; testingTarget.VerticalPositionToAnchor = Menu.RelativePosition.End; testingTarget.Post(); testingTarget.Dismiss(); - testingTarget.Dispose(); - tlog.Debug(tag, $"MenuPost END (OK)"); + tlog.Debug(tag, $"MenuPostViewLayoutDirectionTypeIsRTL END (OK)"); } } } diff --git a/test/Tizen.NUI.Tests/Tizen.NUI.Components.Devel.Tests/testcase/Controls/TSPopup.cs b/test/Tizen.NUI.Tests/Tizen.NUI.Components.Devel.Tests/testcase/Controls/TSPopup.cs index 7e67f5f..3caed2a 100755 --- a/test/Tizen.NUI.Tests/Tizen.NUI.Components.Devel.Tests/testcase/Controls/TSPopup.cs +++ b/test/Tizen.NUI.Tests/Tizen.NUI.Components.Devel.Tests/testcase/Controls/TSPopup.cs @@ -17,6 +17,28 @@ namespace Tizen.NUI.Components.Devel.Tests private const string tag = "NUITEST"; private string image_path = Tizen.Applications.Application.Current.DirectoryInfo.Resource + "picture.png"; + internal class PopupImpl : Popup + { + public PopupImpl() : base() + { } + + public void OnCreateViewStyle() + { + + base.CreateViewStyle(); + } + + public void OnUpdateImpl() + { + base.OnUpdate(); + } + + public AccessibilityStates OnAccessibilityCalculateStates() + { + return base.AccessibilityCalculateStates(1UL << 3); + } + } + [SetUp] public void Init() { @@ -202,5 +224,278 @@ namespace Tizen.NUI.Components.Devel.Tests testingTarget.Dispose(); tlog.Debug(tag, $"PopupAddButton END (OK)"); } + + [Category("P1")] + [Description("Popup ButtonCount.")] + [Property("SPEC", "Tizen.NUI.Components.Popup.ButtonCount A")] + [Property("SPEC_URL", "-")] + [Property("CRITERIA", "PRW")] + [Property("COVPARAM", "")] + [Property("AUTHOR", "guowei.wang@samsung.com")] + [Obsolete] + public void PopupButtonCount() + { + tlog.Debug(tag, $"PopupButtonCount START"); + + var testingTarget = new Popup(); + Assert.IsNotNull(testingTarget, "null handle"); + Assert.IsInstanceOf(testingTarget, "Should return Popup instance."); + + tlog.Debug(tag, "ButtonCount :" + testingTarget.ButtonCount); + + testingTarget.ButtonCount = 3; + tlog.Debug(tag, "ButtonCount :" + testingTarget.ButtonCount); + + testingTarget.Dispose(); + tlog.Debug(tag, $"PopupButtonCount END (OK)"); + } + + [Category("P1")] + [Description("Popup ButtonTextPointSize.")] + [Property("SPEC", "Tizen.NUI.Components.Popup.ButtonTextPointSize A")] + [Property("SPEC_URL", "-")] + [Property("CRITERIA", "PRW")] + [Property("COVPARAM", "")] + [Property("AUTHOR", "guowei.wang@samsung.com")] + [Obsolete] + public void PopupButtonTextPointSize() + { + tlog.Debug(tag, $"PopupButtonTextPointSize START"); + + var testingTarget = new Popup(); + Assert.IsNotNull(testingTarget, "null handle"); + Assert.IsInstanceOf(testingTarget, "Should return Popup instance."); + + testingTarget.ButtonTextPointSize = 15.0f; + tlog.Debug(tag, "ButtonTextPointSize :" + testingTarget.ButtonTextPointSize); + + testingTarget.Dispose(); + tlog.Debug(tag, $"PopupButtonTextPointSize END (OK)"); + } + + [Category("P1")] + [Description("Popup ButtonFontFamily.")] + [Property("SPEC", "Tizen.NUI.Components.Popup.ButtonFontFamily A")] + [Property("SPEC_URL", "-")] + [Property("CRITERIA", "PRW")] + [Property("COVPARAM", "")] + [Property("AUTHOR", "guowei.wang@samsung.com")] + [Obsolete] + public void PopupButtonFontFamily() + { + tlog.Debug(tag, $"PopupButtonFontFamily START"); + + var testingTarget = new Popup(); + Assert.IsNotNull(testingTarget, "null handle"); + Assert.IsInstanceOf(testingTarget, "Should return Popup instance."); + + testingTarget.ButtonFontFamily = "Samsung One UI"; + tlog.Debug(tag, "ButtonFontFamily :" + testingTarget.ButtonFontFamily); + + testingTarget.Dispose(); + tlog.Debug(tag, $"PopupButtonFontFamily END (OK)"); + } + + [Category("P1")] + [Description("Popup ButtonTextColor.")] + [Property("SPEC", "Tizen.NUI.Components.Popup.ButtonTextColor A")] + [Property("SPEC_URL", "-")] + [Property("CRITERIA", "PRW")] + [Property("COVPARAM", "")] + [Property("AUTHOR", "guowei.wang@samsung.com")] + [Obsolete] + public void PopupButtonTextColor() + { + tlog.Debug(tag, $"PopupButtonTextColor START"); + + var testingTarget = new Popup(); + Assert.IsNotNull(testingTarget, "null handle"); + Assert.IsInstanceOf(testingTarget, "Should return Popup instance."); + + testingTarget.ButtonTextColor = Color.Yellow; + tlog.Debug(tag, "ButtonTextColor :" + testingTarget.ButtonTextColor); + + testingTarget.Dispose(); + tlog.Debug(tag, $"PopupButtonTextColor END (OK)"); + } + + [Category("P1")] + [Description("Popup ButtonTextAlignment.")] + [Property("SPEC", "Tizen.NUI.Components.Popup.ButtonTextAlignment A")] + [Property("SPEC_URL", "-")] + [Property("CRITERIA", "PRW")] + [Property("COVPARAM", "")] + [Property("AUTHOR", "guowei.wang@samsung.com")] + [Obsolete] + public void PopupButtonTextAlignment() + { + tlog.Debug(tag, $"PopupButtonTextAlignment START"); + + var testingTarget = new Popup(); + Assert.IsNotNull(testingTarget, "null handle"); + Assert.IsInstanceOf(testingTarget, "Should return Popup instance."); + + testingTarget.ButtonTextAlignment = HorizontalAlignment.Center; + tlog.Debug(tag, "ButtonTextAlignment :" + testingTarget.ButtonTextAlignment); + + testingTarget.Dispose(); + tlog.Debug(tag, $"PopupButtonTextAlignment END (OK)"); + } + + [Category("P1")] + [Description("Popup SetButtonText.")] + [Property("SPEC", "Tizen.NUI.Components.Popup.SetButtonText M")] + [Property("SPEC_URL", "-")] + [Property("CRITERIA", "MR")] + [Property("COVPARAM", "")] + [Property("AUTHOR", "guowei.wang@samsung.com")] + [Obsolete] + public void PopupSetButtonText() + { + tlog.Debug(tag, $"PopupSetButtonText START"); + + var testingTarget = new Popup(); + Assert.IsNotNull(testingTarget, "null handle"); + Assert.IsInstanceOf(testingTarget, "Should return Popup instance."); + + testingTarget.SetButtonText(0, "PopupText"); + tlog.Debug(tag, "ButtonText :" + testingTarget.GetButton(0).Text); + + testingTarget.Dispose(); + tlog.Debug(tag, $"PopupSetButtonText END (OK)"); + } + + [Category("P1")] + [Description("Popup OnFocusGained.")] + [Property("SPEC", "Tizen.NUI.Components.Popup.OnFocusGained M")] + [Property("SPEC_URL", "-")] + [Property("CRITERIA", "MR")] + [Property("COVPARAM", "")] + [Property("AUTHOR", "guowei.wang@samsung.com")] + [Obsolete] + public void PopupOnFocusGained() + { + tlog.Debug(tag, $"PopupOnFocusGained START"); + + var testingTarget = new Popup(); + Assert.IsNotNull(testingTarget, "null handle"); + Assert.IsInstanceOf(testingTarget, "Should return Popup instance."); + + testingTarget.OnFocusGained(); + tlog.Debug(tag, "IsFocused :" + testingTarget.IsFocused); + + testingTarget.Dispose(); + tlog.Debug(tag, $"PopupOnFocusGained END (OK)"); + } + + [Category("P1")] + [Description("Popup OnFocusGained.")] + [Property("SPEC", "Tizen.NUI.Components.Popup.OnFocusGained M")] + [Property("SPEC_URL", "-")] + [Property("CRITERIA", "MR")] + [Property("COVPARAM", "")] + [Property("AUTHOR", "guowei.wang@samsung.com")] + [Obsolete] + public void PopupOnFocusLost() + { + tlog.Debug(tag, $"PopupOnFocusLost START"); + + var testingTarget = new Popup(); + Assert.IsNotNull(testingTarget, "null handle"); + Assert.IsInstanceOf(testingTarget, "Should return Popup instance."); + + testingTarget.OnFocusLost(); + tlog.Debug(tag, "IsFocused :" + testingTarget.IsFocused); + + testingTarget.Dispose(); + tlog.Debug(tag, $"PopupOnFocusLost END (OK)"); + } + + [Category("P1")] + [Description("Popup CreateViewStyle.")] + [Property("SPEC", "Tizen.NUI.Components.Popup.CreateViewStyle M")] + [Property("SPEC_URL", "-")] + [Property("CRITERIA", "MR")] + [Property("COVPARAM", "")] + [Property("AUTHOR", "guowei.wang@samsung.com")] + [Obsolete] + public void PopupCreateViewStyle() + { + tlog.Debug(tag, $"PopupCreateViewStyle START"); + + var testingTarget = new PopupImpl(); + Assert.IsNotNull(testingTarget, "null handle"); + + try + { + testingTarget.OnCreateViewStyle(); + } + catch (Exception e) + { + tlog.Debug(tag, e.Message.ToString()); + Assert.Fail("Caught Exception : Failed!"); + } + + testingTarget.Dispose(); + tlog.Debug(tag, $"PopupCreateViewStyle END (OK)"); + } + + [Category("P1")] + [Description("Popup OnUpdate.")] + [Property("SPEC", "Tizen.NUI.Components.Popup.OnUpdate M")] + [Property("SPEC_URL", "-")] + [Property("CRITERIA", "MR")] + [Property("COVPARAM", "")] + [Property("AUTHOR", "guowei.wang@samsung.com")] + [Obsolete] + public void PopupOnUpdate() + { + tlog.Debug(tag, $"PopupOnUpdate START"); + + var testingTarget = new PopupImpl(); + Assert.IsNotNull(testingTarget, "null handle"); + + try + { + testingTarget.OnUpdateImpl(); + } + catch (Exception e) + { + tlog.Debug(tag, e.Message.ToString()); + Assert.Fail("Caught Exception : Failed!"); + } + + testingTarget.Dispose(); + tlog.Debug(tag, $"PopupOnUpdate END (OK)"); + } + + [Category("P1")] + [Description("Popup AccessibilityCalculateStates.")] + [Property("SPEC", "Tizen.NUI.Components.Popup.AccessibilityCalculateStates M")] + [Property("SPEC_URL", "-")] + [Property("CRITERIA", "MR")] + [Property("COVPARAM", "")] + [Property("AUTHOR", "guowei.wang@samsung.com")] + [Obsolete] + public void PopupAccessibilityCalculateStates() + { + tlog.Debug(tag, $"PopupAccessibilityCalculateStates START"); + + var testingTarget = new PopupImpl(); + Assert.IsNotNull(testingTarget, "null handle"); + + try + { + testingTarget.OnAccessibilityCalculateStates(); + } + catch (Exception e) + { + tlog.Debug(tag, e.Message.ToString()); + Assert.Fail("Caught Exception : Failed!"); + } + + testingTarget.Dispose(); + tlog.Debug(tag, $"PopupAccessibilityCalculateStates END (OK)"); + } } } diff --git a/test/Tizen.NUI.Tests/Tizen.NUI.Components.Devel.Tests/testcase/Controls/TSScrollableBase.cs b/test/Tizen.NUI.Tests/Tizen.NUI.Components.Devel.Tests/testcase/Controls/TSScrollableBase.cs index 821e137..8bc261c 100755 --- a/test/Tizen.NUI.Tests/Tizen.NUI.Components.Devel.Tests/testcase/Controls/TSScrollableBase.cs +++ b/test/Tizen.NUI.Tests/Tizen.NUI.Components.Devel.Tests/testcase/Controls/TSScrollableBase.cs @@ -474,6 +474,7 @@ namespace Tizen.NUI.Components.Devel.Tests View[] views = new View[10]; for (int i = 0; i < 10; i++) { + views[i] = new View(); views[i].Size = new Size(200, 200); testingTarget.Add(views[i]); } diff --git a/test/Tizen.NUI.Tests/Tizen.NUI.Components.Devel.Tests/testcase/Controls/TSTimePicker.cs b/test/Tizen.NUI.Tests/Tizen.NUI.Components.Devel.Tests/testcase/Controls/TSTimePicker.cs index b82ca49..b5ac675 100755 --- a/test/Tizen.NUI.Tests/Tizen.NUI.Components.Devel.Tests/testcase/Controls/TSTimePicker.cs +++ b/test/Tizen.NUI.Tests/Tizen.NUI.Components.Devel.Tests/testcase/Controls/TSTimePicker.cs @@ -139,7 +139,7 @@ namespace Tizen.NUI.Components.Devel.Tests var testingTarget = new TimeChangedEventArgs(DateTime.Now); Assert.IsNotNull(testingTarget, "null handle"); - Assert.IsInstanceOf(testingTarget, "Should return TimePicker instance."); + Assert.IsInstanceOf(testingTarget, "Should return TimeChangedEventArgs instance."); tlog.Debug(tag, "Time : " + testingTarget.Time); diff --git a/test/Tizen.NUI.Tests/Tizen.NUI.Components.Devel.Tests/testcase/Extension/TSLottieSwitchExtension.cs b/test/Tizen.NUI.Tests/Tizen.NUI.Components.Devel.Tests/testcase/Extension/TSLottieSwitchExtension.cs index dd0008c..2ad1a70 100755 --- a/test/Tizen.NUI.Tests/Tizen.NUI.Components.Devel.Tests/testcase/Extension/TSLottieSwitchExtension.cs +++ b/test/Tizen.NUI.Tests/Tizen.NUI.Components.Devel.Tests/testcase/Extension/TSLottieSwitchExtension.cs @@ -81,7 +81,8 @@ namespace Tizen.NUI.Components.Devel.Tests Assert.IsNotNull(testingTarget, "null handle"); Assert.IsInstanceOf(testingTarget, "Should return LottieSwitchExtension instance."); - Button button = new Button() + LottieButtonStyle style = new LottieButtonStyle(); + Button button = new Button(style as ButtonStyle) { Size = new Size(100, 80), }; @@ -117,7 +118,8 @@ namespace Tizen.NUI.Components.Devel.Tests Assert.IsNotNull(testingTarget, "null handle"); Assert.IsInstanceOf(testingTarget, "Should return LottieSwitchExtension instance."); - Button button = new Button() + LottieButtonStyle style = new LottieButtonStyle(); + Button button = new Button(style as ButtonStyle) { Size = new Size(100, 80), }; -- 2.7.4