]> source.dussan.org Git - vaadin-framework.git/commitdiff
Test case for #3095
authorArtur Signell <artur.signell@itmill.com>
Mon, 14 Sep 2009 10:01:43 +0000 (10:01 +0000)
committerArtur Signell <artur.signell@itmill.com>
Mon, 14 Sep 2009 10:01:43 +0000 (10:01 +0000)
svn changeset:8757/svn branch:6.1

src/com/vaadin/tests/components/HierarchicalContainerSorting.java [new file with mode: 0644]

diff --git a/src/com/vaadin/tests/components/HierarchicalContainerSorting.java b/src/com/vaadin/tests/components/HierarchicalContainerSorting.java
new file mode 100644 (file)
index 0000000..4e498d9
--- /dev/null
@@ -0,0 +1,97 @@
+package com.vaadin.tests.components;\r
+\r
+import com.vaadin.data.Item;\r
+import com.vaadin.data.util.HierarchicalContainer;\r
+import com.vaadin.data.util.IndexedContainer;\r
+import com.vaadin.ui.HorizontalLayout;\r
+import com.vaadin.ui.Tree;\r
+\r
+public class HierarchicalContainerSorting extends TestBase {\r
+    IndexedContainer hierarchicalContainer = new HierarchicalContainer();\r
+\r
+    IndexedContainer indexedContainer = new IndexedContainer();\r
+\r
+    @Override\r
+    public void setup() {\r
+\r
+        populateContainer(indexedContainer);\r
+        populateContainer(hierarchicalContainer);\r
+\r
+        sort(indexedContainer);\r
+        sort(hierarchicalContainer);\r
+\r
+        HorizontalLayout hl = new HorizontalLayout();\r
+\r
+        Tree tree1 = new Tree("Tree with IndexedContainer");\r
+        tree1.setContainerDataSource(indexedContainer);\r
+        hl.addComponent(tree1);\r
+\r
+        Tree tree2 = new Tree("Tree with HierarchicalContainer");\r
+        tree2.setContainerDataSource(hierarchicalContainer);\r
+        for (Object id : tree2.rootItemIds()) {\r
+            tree2.expandItemsRecursively(id);\r
+        }\r
+        hl.addComponent(tree2);\r
+\r
+        addComponent(hl);\r
+    }\r
+\r
+    private static void sort(IndexedContainer container) {\r
+        Object[] properties = new Object[1];\r
+        properties[0] = "name";\r
+\r
+        boolean[] ascending = new boolean[1];\r
+        ascending[0] = true;\r
+\r
+        container.sort(properties, ascending);\r
+    }\r
+\r
+    private static void populateContainer(IndexedContainer container) {\r
+        container.addContainerProperty("name", String.class, null);\r
+\r
+        addItem(container, "Games", null);\r
+        addItem(container, "Call of Duty", "Games");\r
+        addItem(container, "Might and Magic", "Games");\r
+        addItem(container, "Fallout", "Games");\r
+        addItem(container, "Red Alert", "Games");\r
+\r
+        addItem(container, "Cars", null);\r
+        addItem(container, "Toyota", "Cars");\r
+        addItem(container, "Volvo", "Cars");\r
+        addItem(container, "Audi", "Cars");\r
+        addItem(container, "Ford", "Cars");\r
+\r
+        addItem(container, "Natural languages", null);\r
+        addItem(container, "Swedish", "Natural languages");\r
+        addItem(container, "English", "Natural languages");\r
+        addItem(container, "Finnish", "Natural languages");\r
+\r
+        addItem(container, "Programming languages", null);\r
+        addItem(container, "C++", "Programming languages");\r
+        addItem(container, "PHP", "Programming languages");\r
+        addItem(container, "Java", "Programming languages");\r
+        addItem(container, "Python", "Programming languages");\r
+\r
+    }\r
+\r
+    public static void addItem(IndexedContainer container, String string,\r
+            String parent) {\r
+        Item item = container.addItem(string);\r
+        item.getItemProperty("name").setValue(string);\r
+\r
+        if (parent != null && container instanceof HierarchicalContainer) {\r
+            ((HierarchicalContainer) container).setParent(string, parent);\r
+        }\r
+    }\r
+\r
+    @Override\r
+    protected String getDescription() {\r
+        return "The two trees contain the same data, one uses IndexedContainer, one uses HierarchicalContainer. Both should be sorted, both the root nodes and the children.";\r
+    }\r
+\r
+    @Override\r
+    protected Integer getTicketNumber() {\r
+        return 3095;\r
+    }\r
+\r
+}
\ No newline at end of file