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