[ElmSharp] Add the TCs for checking basic operation of GenList 94/149294/1
authorRinaYou <rina6350.you@samsung.com>
Tue, 12 Sep 2017 05:07:57 +0000 (14:07 +0900)
committerRinaYou <rina6350.you@samsung.com>
Tue, 12 Sep 2017 05:07:57 +0000 (14:07 +0900)
* Check ClearSubitems method of GenListItem
* Check reusable content handler

Change-Id: Ieea8c2e4d0697b4417af50f8bd26edc3813ed424

test/ElmSharp.Test/TC/GenListTest12.cs [new file with mode: 0755]
test/ElmSharp.Test/TC/GenListTest13.cs [new file with mode: 0755]

diff --git a/test/ElmSharp.Test/TC/GenListTest12.cs b/test/ElmSharp.Test/TC/GenListTest12.cs
new file mode 100755 (executable)
index 0000000..7dfd231
--- /dev/null
@@ -0,0 +1,92 @@
+/*
+ * 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 ElmSharp;
+using System.Collections.Generic;
+
+namespace ElmSharp.Test
+{
+    class GenListTest12 : TestCaseBase
+    {
+        public override string TestName => "GenListTest12";
+        public override string TestDescription => "To test basic operation of GenListItem's ClearSubitems method";
+
+        public override void Run(Window window)
+        {
+            Console.WriteLine("AA");
+            Conformant conformant = new Conformant(window);
+            conformant.Show();
+            Box box = new Box(window)
+            {
+                AlignmentX = -1,
+                AlignmentY = -1,
+                WeightX = 1,
+                WeightY = 1,
+            };
+            box.Show();
+            conformant.SetContent(box);
+
+            GenList list = new GenList(window)
+            {
+                Homogeneous = true,
+                AlignmentX = -1,
+                AlignmentY = -1,
+                WeightX = 1,
+                WeightY = 1
+            };
+
+            GenItemClass defaultClass = new GenItemClass("default")
+            {
+                GetTextHandler = (obj, part) =>
+                {
+                    return string.Format("{0} - {1}", obj, part);
+                },
+                GetContentHandler = (obj, part) =>
+                {
+                    Console.WriteLine("{0} - {1}", obj, part);
+
+                    return null;
+                }
+            };
+
+            GenListItem treeItem = list.Append(defaultClass, "TreeItem", GenListItemType.Tree);
+            for (int i = 0; i < 5; i++)
+            {
+                list.Append(defaultClass, i, GenListItemType.Normal, treeItem);
+            }
+
+            list.Show();
+            box.PackEnd(list);
+
+            Button first = new Button(window)
+            {
+                Text = "Check first and last item",
+                AlignmentX = -1,
+                WeightX = 1,
+            };
+
+            first.Clicked += (s, e) =>
+            {
+                Console.WriteLine("Before : " + (list.LastItem.Index - list.FirstItem.Index + 1).ToString());
+                treeItem.ClearSubitems();
+                Console.WriteLine("After : " + (list.LastItem.Index - list.FirstItem.Index + 1).ToString());
+            };
+            first.Show();
+            box.PackEnd(first);
+        }
+    }
+}
diff --git a/test/ElmSharp.Test/TC/GenListTest13.cs b/test/ElmSharp.Test/TC/GenListTest13.cs
new file mode 100755 (executable)
index 0000000..e623d06
--- /dev/null
@@ -0,0 +1,96 @@
+/*
+ * 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 ElmSharp;
+
+namespace ElmSharp.Test
+{
+    class GenListTest13 : TestCaseBase
+    {
+        public override string TestName => "GenListTest13";
+        public override string TestDescription => "To test basic operation of GenList";
+
+        public override void Run(Window window)
+        {
+            Conformant conformant = new Conformant(window);
+            conformant.Show();
+            GenList list = new GenList(window)
+            {
+                Homogeneous = false,
+                AlignmentX = -1,
+                AlignmentY = -1,
+                WeightX = 1,
+                WeightY = 1
+            };
+
+            GenItemClass entryClass = new GenItemClass("full")
+            {
+                GetContentHandler = (obj, part) =>
+                {
+                    Console.WriteLine("[entryClass] GetContentHandler ", obj);
+                    var btn = new Entry(window)
+                    {
+                        Text = "This is Entry",
+                        AlignmentX = -1,
+                        WeightX = 1,
+                        BackgroundColor = Color.Green
+                    };
+                    return btn;
+                },
+                ReusableContentHandler = (obj, part, old) =>
+                {
+                    Console.WriteLine("[entryClass] ReusableContentHandler ", obj);
+                    return old;
+                }
+            };
+
+            GenItemClass buttonClass = new GenItemClass("full")
+            {
+                GetContentHandler = (obj, part) =>
+                {
+                    Console.WriteLine("[buttonClass] GetContentHandler ", obj);
+                    var btn = new Button(window)
+                    {
+                        Text = "This is Button",
+                        AlignmentX = -1,
+                        WeightX = 1,
+                        MinimumHeight = 200,
+                        BackgroundColor = Color.Pink
+                    };
+                    return btn;
+                },
+                ReusableContentHandler = (obj, part, old) =>
+                {
+                    Console.WriteLine("[buttonClass] ReusableContentHandler ", obj);
+                    return old;
+                }
+            };
+
+            for (int j = 0; j < 3; j++)
+            {
+                list.Append(buttonClass, string.Format("{0} Item", j), GenListItemType.Normal);
+            }
+            for (int j = 0; j < 3; j++)
+            {
+                list.Append(entryClass, string.Format("{0} Item", j), GenListItemType.Normal);
+            }
+
+            list.Show();
+            conformant.SetContent(list);
+        }
+    }
+}