Add DateTimeSelectorTC2 and NaviframeTest3 95/114195/1
authorKangho Hur <kangho.hur@samsung.com>
Fri, 10 Feb 2017 09:17:51 +0000 (18:17 +0900)
committerKangho Hur <kangho.hur@samsung.com>
Fri, 10 Feb 2017 09:18:50 +0000 (18:18 +0900)
Change-Id: I69489891f9330e02f0c17695c1576899247bc7f9

ElmSharp.Test/ElmSharp.Test.csproj
ElmSharp.Test/TC/DateTimeSelectorTest2.cs [new file with mode: 0644]
ElmSharp.Test/TC/NaviframeTest3.cs [new file with mode: 0644]

index f5600af..78f3556 100644 (file)
     <Compile Include="TC\BackgroundTest1.cs" />
     <Compile Include="TC\BackgroundTest2.cs" />
     <Compile Include="TC\BackgroundTest3.cs" />
+    <Compile Include="TC\DateTimeSelectorTest2.cs" />
     <Compile Include="TC\EntryTest2.cs" />
     <Compile Include="TC\GenListTest9.cs" />
+    <Compile Include="TC\NaviframeTest3.cs" />
     <Compile Include="TC\ScreenInformationTest.cs" />
     <Compile Include="TC\BoxLayoutTest1.cs" />
     <Compile Include="TC\BoxTest1.cs" />
diff --git a/ElmSharp.Test/TC/DateTimeSelectorTest2.cs b/ElmSharp.Test/TC/DateTimeSelectorTest2.cs
new file mode 100644 (file)
index 0000000..aec7470
--- /dev/null
@@ -0,0 +1,75 @@
+/*
+ * Copyright (c) 2016 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the License);
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an AS IS BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+using System;
+using System.Collections.Generic;
+using ElmSharp;
+
+namespace ElmSharp.Test
+{
+    class DateTimeSelectorTest2 : TestCaseBase
+    {
+        public override string TestName => "DateTimeSelectorTest2";
+        public override string TestDescription => "To test basic operation of DateTimeSelector";
+
+        public override void Run(Window window)
+        {
+            Background bg = new Background(window);
+            bg.Color = Color.White;
+            bg.Move(0, 0);
+            bg.Resize(window.ScreenSize.Width, window.ScreenSize.Height);
+            bg.Show();
+
+            DateTimeSelector dateTime = new DateTimeSelector(window)
+            {
+                DateTime = DateTime.Today,
+                Style = "time_layout",
+                Format = "%I:%M %p"
+            };
+
+            Label label1 = new Label(window);
+
+            Label label2 = new Label(window);
+
+            Label label3 = new Label(window) {
+                Text = string.Format("Current DateTime={0}", dateTime.DateTime),
+            };
+
+            dateTime.DateTimeChanged += (object sender, DateChangedEventArgs e) =>
+            {
+                label1.Text = string.Format("Old DateTime={0}", e.OldDate);
+                label2.Text = string.Format("New DateTime={0}", e.NewDate);
+                label3.Text = string.Format("Current DateTime={0}", dateTime.DateTime);
+            };
+
+            dateTime.Resize(600, 600);
+            dateTime.Move(0, 300);
+            dateTime.Show();
+
+            label1.Resize(600, 100);
+            label1.Move(0, 0);
+            label1.Show();
+
+            label2.Resize(600, 100);
+            label2.Move(0, 100);
+            label2.Show();
+
+            label3.Resize(600, 100);
+            label3.Move(0, 200);
+            label3.Show();
+        }
+    }
+}
diff --git a/ElmSharp.Test/TC/NaviframeTest3.cs b/ElmSharp.Test/TC/NaviframeTest3.cs
new file mode 100644 (file)
index 0000000..6c35376
--- /dev/null
@@ -0,0 +1,178 @@
+/*
+ * Copyright (c) 2016 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the License);
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an AS IS BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+using System;
+using System.Linq;
+
+namespace ElmSharp.Test
+{
+    public class NaviframeTest3 : TestCaseBase
+    {
+        public override string TestName => "NaviframeTest3";
+        public override string TestDescription => "Naviframe test";
+
+        Naviframe _navi;
+        int _sequence = 0;
+
+        public override void Run(Window window)
+        {
+            Conformant conformant = new Conformant(window);
+            conformant.Show();
+
+            Naviframe navi = new Naviframe(window)
+            {
+                PreserveContentOnPop = true,
+                DefaultBackButtonEnabled = true
+            };
+            _navi = navi;
+
+            navi.Popped += (s, e) =>
+            {
+                Console.WriteLine("----- Naviframe was popped {0:x} ", (int)(IntPtr)e.Content);
+            };
+
+            NaviItem item = navi.Push(CreatePage(window), "0 Page");
+            item.SetPartContent("title_left_btn", new Button(window) { Text = "LEFT" , Style = "naviframe/title_left"} );
+            item.SetPartContent("title_right_btn", new Button(window) { Text = "RIGHT", Style = "naviframe/title_right" });
+            navi.Show();
+            conformant.SetContent(navi);
+        }
+
+        EvasObject CreatePage(Window parent)
+        {
+            Box box = new Box(parent);
+            box.Show();
+
+            Label label = new Label(parent) {
+                Text = string.Format("{0} Page", _sequence++),
+                WeightX = 1,
+                AlignmentX = -1,
+            };
+            Button push = new Button(parent) {
+                Text = "Push",
+                WeightX = 1,
+                AlignmentX = -1,
+            };
+            Button pop = new Button(parent) {
+                Text = "pop",
+                WeightX = 1,
+                AlignmentX = -1,
+            };
+            Button insertBeforeTop = new Button(parent) {
+                Text = "insertBeforeTop",
+                WeightX = 1,
+                AlignmentX = -1,
+            };
+            Button insertAfterTop = new Button(parent) {
+                Text = "insertAfterTop",
+                WeightX = 1,
+                AlignmentX = -1,
+            };
+
+            Button removeTop = new Button(parent)
+            {
+                Text = "removeTop",
+                WeightX = 1,
+                AlignmentX = -1,
+            };
+
+            Button barChange = new Button(parent)
+            {
+                Text = "TitleBarColor Change",
+                WeightX = 1,
+                AlignmentX = -1,
+            };
+
+            Button barColorDefault = new Button(parent)
+            {
+                Text = "TitleBarColor - Default",
+                WeightX = 1,
+                AlignmentX = -1,
+            };
+
+            label.Show();
+            push.Show();
+            pop.Show();
+            insertBeforeTop.Show();
+            insertAfterTop.Show();
+            removeTop.Show();
+            barChange.Show();
+            barColorDefault.Show();
+
+            push.Clicked += (s, e) =>
+            {
+                _navi.Push(CreatePage(parent), string.Format("{0} Page", _sequence-1));
+            };
+
+            pop.Clicked += (s, e) =>
+            {
+                var item = _navi.NavigationStack.LastOrDefault();
+                int nativePointer = (int)(IntPtr)(item.Content);
+                Console.WriteLine("----- Before Call _navi.Pop() {0:x} ", nativePointer);
+                _navi.Pop();
+                Console.WriteLine("----- After Call _navi.Pop() {0:x} ", nativePointer);
+            };
+
+            insertBeforeTop.Clicked += (s, e) =>
+            {
+                _navi.InsertBefore(_navi.NavigationStack.LastOrDefault(), CreatePage(parent), string.Format("{0} Page", _sequence - 1));
+            };
+
+            insertAfterTop.Clicked += (s, e) =>
+            {
+                _navi.InsertAfter(_navi.NavigationStack.LastOrDefault(), CreatePage(parent), string.Format("{0} Page", _sequence - 1));
+            };
+            removeTop.Clicked += (s, e) =>
+            {
+                var item = _navi.NavigationStack.LastOrDefault();
+                int nativePointer = (int)(IntPtr)(item.Content);
+                Console.WriteLine("----- Before Call NaviItem.Delete() {0:x} ", nativePointer);
+                item.Delete();
+                Console.WriteLine("----- After Call NaviItem.Delete() {0:x} ", nativePointer);
+            };
+
+            Random rand = new Random(DateTime.Now.Millisecond);
+            barChange.Clicked += (s, e) =>
+            {
+                int currentIndex = _navi.NavigationStack.Count - 1;
+                if (currentIndex >= 0)
+                {
+                    _navi.NavigationStack[currentIndex].TitleBarBackgroundColor = Color.FromHex(string.Format("#{0:X8}", rand.Next()));
+                }
+            };
+
+            barColorDefault.Clicked += (s, e) =>
+            {
+                int currentIndex = _navi.NavigationStack.Count - 1;
+                if (currentIndex >= 0)
+                {
+                    _navi.NavigationStack[currentIndex].TitleBarBackgroundColor = Color.Default;
+                }
+            };
+
+            box.PackEnd(label);
+            box.PackEnd(push);
+            box.PackEnd(pop);
+            box.PackEnd(insertBeforeTop);
+            box.PackEnd(insertAfterTop);
+            box.PackEnd(removeTop);
+            box.PackEnd(barChange);
+            box.PackEnd(barColorDefault);
+
+            return box;
+        }
+    }
+}