You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@flex.apache.org by mi...@apache.org on 2015/06/07 18:10:05 UTC

[6/8] git commit: [flex-sdk] [refs/heads/develop] - FLEX-34852 Added unit tests for numeric and date types.

FLEX-34852
Added unit tests for numeric and date types.


Project: http://git-wip-us.apache.org/repos/asf/flex-sdk/repo
Commit: http://git-wip-us.apache.org/repos/asf/flex-sdk/commit/c4f20ee2
Tree: http://git-wip-us.apache.org/repos/asf/flex-sdk/tree/c4f20ee2
Diff: http://git-wip-us.apache.org/repos/asf/flex-sdk/diff/c4f20ee2

Branch: refs/heads/develop
Commit: c4f20ee28d40f79274c3a2413847a7462cd5b59f
Parents: 5a27cc8
Author: Mihai Chira <mi...@apache.org>
Authored: Sun Jun 7 14:14:43 2015 +0200
Committer: Mihai Chira <mi...@apache.org>
Committed: Sun Jun 7 14:14:43 2015 +0200

----------------------------------------------------------------------
 .../framework/tests/FLEX_34852_Tests.as         | 117 +++++++++++++++++--
 1 file changed, 110 insertions(+), 7 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/c4f20ee2/frameworks/projects/framework/tests/FLEX_34852_Tests.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/framework/tests/FLEX_34852_Tests.as b/frameworks/projects/framework/tests/FLEX_34852_Tests.as
index 4a9b1ee..50836b9 100644
--- a/frameworks/projects/framework/tests/FLEX_34852_Tests.as
+++ b/frameworks/projects/framework/tests/FLEX_34852_Tests.as
@@ -23,6 +23,7 @@ package {
     import mx.collections.IList;
     import mx.collections.ListCollectionView;
     import mx.collections.Sort;
+    import mx.collections.SortFieldCompareTypes;
 
     import org.flexunit.asserts.assertEquals;
 
@@ -42,15 +43,15 @@ package {
         }
 
         [Test]
-        public function test_simple_ascending_sort_by_complex_fields():void
+        public function test_simple_ascending_sort_by_complex_string_fields():void
         {
             //given
             var from4To0:IList = generateVOs(5, true);
             _sut.addAll(from4To0); //values["address.street"]: Street4, Street3, Street2, Street1, Street0
 
-            const sortByIndexAscending:Sort = new Sort();
-            sortByIndexAscending.fields = [new ComplexSortField("address.street", false, false, false)];
-            _sut.sort = sortByIndexAscending;
+            const sortByStreetAscending:Sort = new Sort();
+            sortByStreetAscending.fields = [new ComplexSortField("address.street", false, false, false)];
+            _sut.sort = sortByStreetAscending;
 
             //when
             _sut.refresh(); //should be: Street0, Street1, Street2, Street3, Street4
@@ -59,6 +60,100 @@ package {
             assertIndexesAre([0, 1, 2, 3, 4]);
         }
 
+        [Test]
+        public function test_simple_descending_sort_by_complex_string_fields():void
+        {
+            //given
+            var from0To4:IList = generateVOs(5);
+            _sut.addAll(from0To4); //values["address.street"]: Street0, Street1, Street2, Street3, Street4
+
+            const sortByStreetDescending:Sort = new Sort();
+            sortByStreetDescending.fields = [new ComplexSortField("address.street", false, true, false)];
+            _sut.sort = sortByStreetDescending;
+
+            //when
+            _sut.refresh(); //should be: Street4, Street3, Street2, Street1, Street0
+
+            //then
+            assertIndexesAre([4, 3, 2, 1, 0]);
+        }
+
+        [Test]
+        public function test_simple_ascending_sort_by_complex_date_fields():void
+        {
+            //given
+            var from2004To2000:IList = generateVOs(5, true);
+            _sut.addAll(from2004To2000); //values["address.dateMovedIn"].getYear(): 2004, 2003, 2002, 2001, 2000
+
+            const sortByDateMovedInAscending:Sort = new Sort();
+            var complexSortField:ComplexSortField = new ComplexSortField("address.dateMovedIn", false, false, false);
+            complexSortField.sortCompareType = SortFieldCompareTypes.DATE;
+            sortByDateMovedInAscending.fields = [complexSortField];
+            _sut.sort = sortByDateMovedInAscending;
+
+            //when
+            _sut.refresh(); //should be: 2000, 2001, 2002, 2003, 2004
+
+            //then
+            assertIndexesAre([0, 1, 2, 3, 4]);
+        }
+
+        [Test]
+        public function test_simple_descending_sort_by_complex_date_fields():void
+        {
+            //given
+            var from2000To2004:IList = generateVOs(5);
+            _sut.addAll(from2000To2004); //values["address.dateMovedIn"].getYear(): 2000, 2001, 2002, 2003, 2004
+
+            const sortByDateMovedInDescending:Sort = new Sort();
+            var complexSortField:ComplexSortField = new ComplexSortField("address.dateMovedIn", false, true, false);
+            complexSortField.sortCompareType = SortFieldCompareTypes.DATE;
+            sortByDateMovedInDescending.fields = [complexSortField];
+            _sut.sort = sortByDateMovedInDescending;
+
+            //when
+            _sut.refresh(); //should be: 2004, 2003, 2002, 2001, 2000
+
+            //then
+            assertIndexesAre([4, 3, 2, 1, 0]);
+        }
+
+        [Test]
+        public function test_simple_ascending_sort_by_complex_number_fields():void
+        {
+            //given
+            var from4To0:IList = generateVOs(5, true);
+            _sut.addAll(from4To0); //values["address.houseNumber"]: 4, 3, 2, 1, 0
+
+            const sortByHouseNumberAscending:Sort = new Sort();
+            sortByHouseNumberAscending.fields = [new ComplexSortField("address.houseNumber", false, false, true)];
+            _sut.sort = sortByHouseNumberAscending;
+
+            //when
+            _sut.refresh(); //should be: 0, 1, 2, 3, 4
+
+            //then
+            assertIndexesAre([0, 1, 2, 3, 4]);
+        }
+
+        [Test]
+        public function test_simple_descending_sort_by_complex_number_fields():void
+        {
+            //given
+            var from4To0:IList = generateVOs(5);
+            _sut.addAll(from4To0); //values["address.houseNumber"]: 0, 1, 2, 3, 4
+
+            const sortByHouseNumberDescending:Sort = new Sort();
+            sortByHouseNumberDescending.fields = [new ComplexSortField("address.houseNumber", false, true, true)];
+            _sut.sort = sortByHouseNumberDescending;
+
+            //when
+            _sut.refresh(); //should be: 4, 3, 2, 1, 0
+
+            //then
+            assertIndexesAre([4, 3, 2, 1, 0]);
+        }
+
 
 
         private function assertIndexesAre(indexes:Array):void
@@ -93,7 +188,7 @@ package {
 
         private static function generateOneObject(i:Number):FLEX_34852_VO
         {
-            return new FLEX_34852_VO(i, "Object"+i, "Street"+i);
+            return new FLEX_34852_VO(i, "Object", "Street");
         }
     }
 }
@@ -113,7 +208,7 @@ class FLEX_34852_VO
     {
         this.index = index;
         this.name = namePrefix + index;
-        this.address = new FLEX_34852_AddressVO(streetPrefix + index);
+        this.address = new FLEX_34852_AddressVO(streetPrefix + index, Math.floor(index), new Date(2000 + Math.floor(index), 0, 0, 0, 0, 0, 1));
     }
 }
 
@@ -122,8 +217,16 @@ class FLEX_34852_AddressVO
     [Bindable]
     public var street:String;
 
-    public function FLEX_34852_AddressVO(street:String)
+    [Bindable]
+    public var houseNumber:int;
+
+    [Bindable]
+    public var dateMovedIn:Date;
+
+    public function FLEX_34852_AddressVO(street:String, houseNumber:int, dateMovedIn:Date)
     {
         this.street = street;
+        this.houseNumber = houseNumber;
+        this.dateMovedIn = dateMovedIn;
     }
 }
\ No newline at end of file