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/05/22 19:02:14 UTC
[02/10] git commit: [flex-sdk] [refs/heads/develop] - FLEX-34837
Added another test function to test the basic functionality of sorting by
complex fields. (Note that because the feature isn't yet implemented,
this also fails currently.)
FLEX-34837 Added another test function to test the basic functionality of sorting by complex fields. (Note that because the feature isn't yet implemented, this also fails currently.)
Project: http://git-wip-us.apache.org/repos/asf/flex-sdk/repo
Commit: http://git-wip-us.apache.org/repos/asf/flex-sdk/commit/19cdb390
Tree: http://git-wip-us.apache.org/repos/asf/flex-sdk/tree/19cdb390
Diff: http://git-wip-us.apache.org/repos/asf/flex-sdk/diff/19cdb390
Branch: refs/heads/develop
Commit: 19cdb3900c5814f452c5d5687c13f497a93d6a5c
Parents: 95b3926
Author: Mihai Chira <mi...@apache.org>
Authored: Fri May 22 13:08:44 2015 +0200
Committer: Mihai Chira <mi...@apache.org>
Committed: Fri May 22 18:17:10 2015 +0200
----------------------------------------------------------------------
.../ListCollectionView_FLEX_34837_Tests.as | 72 +++++++++++++++-----
1 file changed, 56 insertions(+), 16 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/19cdb390/frameworks/projects/framework/tests/ListCollectionView_FLEX_34837_Tests.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/framework/tests/ListCollectionView_FLEX_34837_Tests.as b/frameworks/projects/framework/tests/ListCollectionView_FLEX_34837_Tests.as
index 5ef19fb..d069b90 100644
--- a/frameworks/projects/framework/tests/ListCollectionView_FLEX_34837_Tests.as
+++ b/frameworks/projects/framework/tests/ListCollectionView_FLEX_34837_Tests.as
@@ -21,12 +21,11 @@ package {
import mx.collections.ArrayList;
import mx.collections.IList;
import mx.collections.ListCollectionView;
+ import mx.collections.Sort;
+ import mx.collections.SortField;
import org.flexunit.asserts.assertEquals;
- import spark.collections.Sort;
- import spark.collections.SortField;
-
public class ListCollectionView_FLEX_34837_Tests {
private var _sut:ListCollectionView;
@@ -43,10 +42,28 @@ package {
}
[Test]
- public function test_changing_sort_field_value_places_it_correctly_according_to_collection_sort():void
+ public function test_simple_ascending_sort_by_complex_fields():void
{
//given
- var from1To4:IList = generateObjects(5);
+ 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 SortField("address.street", false, false, false)];
+ _sut.sort = sortByIndexAscending;
+
+ //when
+ _sut.refresh(); //should be: Street0, Street1, Street2, Street3, Street4
+
+ //then
+ assertIndexesAre([0, 1, 2, 3, 4]);
+ }
+
+ [Test]
+ public function test_changing_simple_sort_field_value_places_it_correctly_according_to_collection_sort():void
+ {
+ //given
+ var from1To4:IList = generateVOs(5);
from1To4.removeItemAt(0);
_sut.addAll(from1To4);
@@ -69,7 +86,7 @@ package {
public function test_changing_complex_sort_field_value_places_it_correctly_according_to_collection_sort():void
{
//given
- var from1To4:IList = generateObjects(5);
+ var from1To4:IList = generateVOs(5);
from1To4.removeItemAt(0);
_sut.addAll(from1To4);
@@ -85,24 +102,43 @@ package {
//then
const newItemIndex:int = _sut.getItemIndex(newItem);
- assertEquals("the new item should have been placed at the beginning of the list as soon as its name was changed", 0, newItemIndex);
+ assertEquals("the new item should have been placed at the beginning of the list as soon as its address's street name was changed", 0, newItemIndex);
_sut.removeItemAt(_sut.getItemIndex(newItem)); //if the bug is present, this will throw an RTE
}
- private function generateObjects(no:int):IList
+ private function assertIndexesAre(indexes:Array):void
{
- var result:ArrayList = new ArrayList();
+ assertEquals(indexes.length, _sut.length);
+
+ for(var i:int = 0; i < _sut.length; i++)
+ {
+ assertEquals(ListCollectionView_FLEX_34837_VO(_sut.getItemAt(i)).index, indexes[i]);
+ }
+ }
+
+
+ private static function generateVOs(no:int, reverse:Boolean = false):IList
+ {
+ return generateObjects(no, reverse, generateOneObject);
+ }
+
+ private static function generateObjects(no:int, reverse:Boolean, generator:Function):IList
+ {
+ var result:Array = [];
for(var i:int = 0; i < no; i++)
{
- result.addItem(generateOneObject(i));
+ result.push(generator(i));
}
- return result;
+ if(reverse)
+ result.reverse();
+
+ return new ArrayList(result);
}
- private static function generateOneObject(i:int):ListCollectionView_FLEX_34837_VO
+ private static function generateOneObject(index:Number):ListCollectionView_FLEX_34837_VO
{
- return new ListCollectionView_FLEX_34837_VO("Object"+i, "Street"+i);
+ return new ListCollectionView_FLEX_34837_VO(index, "Object", "Street");
}
}
}
@@ -115,10 +151,14 @@ class ListCollectionView_FLEX_34837_VO
[Bindable]
public var address:ListCollectionView_FLEX_34837_AddressVO;
- public function ListCollectionView_FLEX_34837_VO(name:String, street:String)
+ [Bindable]
+ public var index:Number;
+
+ public function ListCollectionView_FLEX_34837_VO(index:Number, namePrefix:String, streetPrefix:String)
{
- this.name = name;
- this.address = new ListCollectionView_FLEX_34837_AddressVO(street);
+ this.index = index;
+ this.name = namePrefix + index;
+ this.address = new ListCollectionView_FLEX_34837_AddressVO(streetPrefix + index);
}
}