FLEX-35037 Fixed the logic of some of the failing tests. The ones that are still failing seem to point to actual bugs.
Project: http://git-wip-us.apache.org/repos/asf/flex-sdk/repo Commit: http://git-wip-us.apache.org/repos/asf/flex-sdk/commit/1905bf31 Tree: http://git-wip-us.apache.org/repos/asf/flex-sdk/tree/1905bf31 Diff: http://git-wip-us.apache.org/repos/asf/flex-sdk/diff/1905bf31 Branch: refs/heads/develop Commit: 1905bf319828a7d93263671e205e6a690b292f60 Parents: 192f1e3 Author: Mihai Chira <[email protected]> Authored: Mon Feb 22 18:36:32 2016 +0100 Committer: Mihai Chira <[email protected]> Committed: Mon Feb 22 18:36:32 2016 +0100 ---------------------------------------------------------------------- .../tests/mx/collections/AddRemoveObjects.as | 255 +++++++++++-------- .../tests/mx/collections/AddRemoveStrings.as | 157 +++++++----- .../tests/mx/collections/FilterNumbers.as | 19 +- .../tests/mx/collections/FilterStrings.as | 15 +- 4 files changed, 261 insertions(+), 185 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/1905bf31/frameworks/projects/framework/tests/mx/collections/AddRemoveObjects.as ---------------------------------------------------------------------- diff --git a/frameworks/projects/framework/tests/mx/collections/AddRemoveObjects.as b/frameworks/projects/framework/tests/mx/collections/AddRemoveObjects.as index 845b97a..df489f0 100644 --- a/frameworks/projects/framework/tests/mx/collections/AddRemoveObjects.as +++ b/frameworks/projects/framework/tests/mx/collections/AddRemoveObjects.as @@ -1,147 +1,192 @@ package mx.collections { - import mx.collections.ArrayCollection; - - import org.flexunit.asserts.*; + import org.flexunit.asserts.*; - public class AddRemoveObjects + public class AddRemoveObjects { - protected var ac:ArrayCollection; + private var _sut:ArrayCollection; - protected var players:Array=[ + protected var players:Array = [ {team:"TeamOne",jerseyNumber:80,lastName:"PlayerA",firstName:"Aa"}, {team:"TeamTwo",jerseyNumber:7, lastName:"PlayerB",firstName:"Bb"}, {team:"TeamOne",jerseyNumber:12, lastName:"PlayerC",firstName:"Cc"}, {team:"TeamOne",jerseyNumber:21,lastName:"PlayerD",firstName:"Dd"}, {team:"TeamThree",jerseyNumber:34, lastName:"PlayerE",firstName:"Ee"}, {team:"TeamOne",jerseyNumber:12, lastName:"PlayerF",firstName:"Ff"}, - {team:"TeamTwo",jerseyNumber:7, lastName:"PlayerG",firstName:"Gg"}, + {team:"TeamTwo",jerseyNumber:7, lastName:"PlayerG",firstName:"Gg"} ]; [Before] public function setUp():void { - ac = new ArrayCollection(); + _sut = new ArrayCollection(); } [After] public function tearDown():void { - ac = null; + _sut = null; } [Test] public function empty():void { - assertEquals(ac.length, 0); + assertEquals(_sut.length, 0); } [Test] public function addObjects():void { - ac = new ArrayCollection(players); - assertEquals("Length is not seven", ac.length, 7); - assertEquals("First element not correct", ac[0], players[0]); - assertEquals("Second element not correct", ac[1], players[1]); - assertEquals("Third element not correct", ac[2], players[2]); - assertEquals("Fouth element not correct", ac[3], players[3]); - assertEquals("Fifth element not correct", ac[4], players[4]); - assertEquals("Sixth element not correct", ac[5], players[5]); - assertEquals("Seventh element not correct", ac[6], players[6]); + _sut = new ArrayCollection(players); + assertEquals("Length is not seven", _sut.length, 7); + assertEquals("First element not correct", _sut[0], players[0]); + assertEquals("Second element not correct", _sut[1], players[1]); + assertEquals("Third element not correct", _sut[2], players[2]); + assertEquals("Fouth element not correct", _sut[3], players[3]); + assertEquals("Fifth element not correct", _sut[4], players[4]); + assertEquals("Sixth element not correct", _sut[5], players[5]); + assertEquals("Seventh element not correct", _sut[6], players[6]); } [Test] public function addDuplicate():void { addObjects(); - ac.addItem(players[0]); - assertEquals("Length is not eight", ac.length, 8); - assertEquals("First element not correct", ac[0], players[0]); - assertEquals("Second element not correct", ac[1], players[1]); - assertEquals("Third element not correct", ac[2], players[2]); - assertEquals("Fouth element not correct", ac[3], players[3]); - assertEquals("Fifth element not correct", ac[4], players[4]); - assertEquals("Sixth element not correct", ac[5], players[5]); - assertEquals("Seventh element not correct", ac[6], players[6]); - assertEquals("Eighth element not correct", ac[7], players[0]); + _sut.addItem(players[0]); + assertEquals("Length is not eight", _sut.length, 8); + assertEquals("First element not correct", _sut[0], players[0]); + assertEquals("Second element not correct", _sut[1], players[1]); + assertEquals("Third element not correct", _sut[2], players[2]); + assertEquals("Fouth element not correct", _sut[3], players[3]); + assertEquals("Fifth element not correct", _sut[4], players[4]); + assertEquals("Sixth element not correct", _sut[5], players[5]); + assertEquals("Seventh element not correct", _sut[6], players[6]); + assertEquals("Eighth element not correct", _sut[7], players[0]); } [Test] public function removeDuplicate():void { + //given addObjects(); - ac.addItem(players[0]); - ac.removeItemAt(0); - assertEquals("Length is not seven", ac.length, 7); - assertEquals("First element not correct", ac[0], players[1]); - assertEquals("Second element not correct", ac[1], players[2]); - assertEquals("Third element not correct", ac[2], players[3]); - assertEquals("Fouth element not correct", ac[3], players[4]); - assertEquals("Fifth element not correct", ac[4], players[5]); - assertEquals("Sixth element not correct", ac[5], players[6]); - assertEquals("Seventh element not correct", ac[6], players[0]); + var firstPlayer:* = players[0]; + var secondPlayer:* = players[1]; + var thirdPlayer:* = players[2]; + var fourthPlayer:* = players[3]; + var fifthPlayer:* = players[4]; + var sixthPlayer:* = players[5]; + var seventhPlayer:* = players[6]; + + //when + _sut.addItem(players[0]); + _sut.removeItemAt(0); + //then + assertEquals("Length is not seven", _sut.length, 7); + assertEquals("First element not correct", _sut[0], secondPlayer); + assertEquals("Second element not correct", _sut[1], thirdPlayer); + assertEquals("Third element not correct", _sut[2], fourthPlayer); + assertEquals("Fourth element not correct", _sut[3], fifthPlayer); + assertEquals("Fifth element not correct", _sut[4], sixthPlayer); + assertEquals("Sixth element not correct", _sut[5], seventhPlayer); + assertEquals("Seventh element not correct", _sut[6], firstPlayer); } [Test] public function removeAllObjects():void { addObjects(); - ac.removeAll(); - assertEquals("Length is not zero", ac.length, 0); + _sut.removeAll(); + assertEquals("Length is not zero", _sut.length, 0); } [Test] public function removeFirstObjects():void { + //given addObjects(); - ac.removeItemAt(0); - assertEquals("First element not correct", ac[0], players[1]); - assertEquals("Length is not six", ac.length, 6); - ac.removeItemAt(0); - assertEquals("Length is not five", ac.length, 5); - ac.removeItemAt(0); - assertEquals("Length is not four", ac.length, 4); - ac.removeItemAt(0); - assertEquals("Length is not three", ac.length, 3); - ac.removeItemAt(0); - assertEquals("Length is not two", ac.length, 2); - ac.removeItemAt(0); - assertEquals("Length is not one", ac.length, 1); - ac.removeItemAt(0); - assertEquals("Length is not zero", ac.length, 0); + var secondPlayer:Object = players[1]; + + //when + _sut.removeItemAt(0); + + //then + assertEquals("First element not correct", secondPlayer, _sut[0]); + assertEquals("Length is not six", 6, _sut.length); + + //when + _sut.removeItemAt(0); + //then + assertEquals("Length is not five", _sut.length, 5); + + //when + _sut.removeItemAt(0); + //then + assertEquals("Length is not four", _sut.length, 4); + + //when + _sut.removeItemAt(0); + //then + assertEquals("Length is not three", _sut.length, 3); + + //when + _sut.removeItemAt(0); + //then + assertEquals("Length is not two", _sut.length, 2); + + //when + _sut.removeItemAt(0); + //then + assertEquals("Length is not one", _sut.length, 1); + + //when + _sut.removeItemAt(0); + //then + assertEquals("Length is not zero", _sut.length, 0); } [Test] public function removeLastNumbers():void { addObjects(); - ac.removeItemAt(6); - assertEquals("First element not correct", ac[0], players[0]); - assertEquals("Length is not six", ac.length, 6); - ac.removeItemAt(0); - assertEquals("Length is not five", ac.length, 5); - ac.removeItemAt(0); - assertEquals("Length is not four", ac.length, 4); - ac.removeItemAt(0); - assertEquals("Length is not three", ac.length, 3); - ac.removeItemAt(0); - assertEquals("Length is not two", ac.length, 2); - ac.removeItemAt(0); - assertEquals("Length is not one", ac.length, 1); - ac.removeItemAt(0); - assertEquals("Length is not zero", ac.length, 0); + _sut.removeItemAt(6); + assertEquals("First element not correct", _sut[0], players[0]); + assertEquals("Length is not six", _sut.length, 6); + _sut.removeItemAt(0); + assertEquals("Length is not five", _sut.length, 5); + _sut.removeItemAt(0); + assertEquals("Length is not four", _sut.length, 4); + _sut.removeItemAt(0); + assertEquals("Length is not three", _sut.length, 3); + _sut.removeItemAt(0); + assertEquals("Length is not two", _sut.length, 2); + _sut.removeItemAt(0); + assertEquals("Length is not one", _sut.length, 1); + _sut.removeItemAt(0); + assertEquals("Length is not zero", _sut.length, 0); } [Test] public function removeItemByIndex():void { + //given addObjects(); - ac.removeItemAt(ac.getItemIndex(players[0])); - assertEquals("First element not correct", ac[0], players[1]); - assertEquals("Length is not six", ac.length, 6); - ac.removeItemAt(ac.getItemIndex(players[2])); - assertEquals("First element not correct", ac[0], players[1]); - assertEquals("Second element not correct", ac[1], players[3]); - assertEquals("Length is not four", ac.length, 4); + const secondPlayer:Object = players[1]; + const thirdPlayer:Object = players[2]; + const fourthPlayer:Object = players[3]; + + //when + _sut.removeItemAt(_sut.getItemIndex(players[0])); + + //then + assertEquals("First element incorrect", secondPlayer, _sut[0]); + assertEquals("Length is not six", 6, _sut.length); + + //when + _sut.removeItemAt(_sut.getItemIndex(thirdPlayer)); + + //then + assertEquals("First element not correct", secondPlayer, _sut[0]); + assertEquals("Second element not correct", fourthPlayer, _sut[1]); + assertEquals("Length is not four", 5, _sut.length); } [Test] @@ -149,53 +194,61 @@ package mx.collections { { addObjects(); try { - ac.removeItemAt(-1); + _sut.removeItemAt(-1); } catch (error:Error) { assertTrue("Error not range error", error is RangeError); } - assertEquals("Length is not seven", ac.length, 7); + assertEquals("Length is not seven", _sut.length, 7); try { - ac.removeItemAt(10); + _sut.removeItemAt(10); } catch (error:Error) { assertTrue("Error not range error", error is RangeError); } - assertEquals("Length is not seven", ac.length, 7); + assertEquals("Length is not seven", _sut.length, 7); } [Test] public function swapItemsTwoThenOne():void { + //given addObjects(); - - var item1:Object = ac.getItemAt(0); - var item2:Object = ac.getItemAt(1); - - ac.setItemAt(item2,0); - ac.setItemAt(item1,1); - - assertEquals("Length is not seven", ac.length, 7); - assertEquals("First element not correct", ac[0], players[1]); - assertEquals("Second element not correct", ac[1], players[0]); + var item1:Object = _sut.getItemAt(0); + var item2:Object = _sut.getItemAt(1); + var firstPlayer:* = players[0]; + var secondPlayer:* = players[1]; + + //when + _sut.setItemAt(item2,0); + _sut.setItemAt(item1,1); + + //then + assertEquals("Length is not seven", _sut.length, 7); + assertEquals("First element not correct", _sut[0], secondPlayer); + assertEquals("Second element not correct", _sut[1], firstPlayer); } [Test] public function swapItemsOneThenTwo():void { + //given addObjects(); + var item1:Object = _sut.getItemAt(0); + var item2:Object = _sut.getItemAt(1); + var secondPlayer:Object = players[1]; + var firstPlayer:Object = players[0]; + + //when + _sut.setItemAt(item1,1); + _sut.setItemAt(item2,0); - var item1:Object = ac.getItemAt(0); - var item2:Object = ac.getItemAt(1); - - ac.setItemAt(item1,1); - ac.setItemAt(item2,0); - - assertEquals("Length is not seven", ac.length, 7); - assertEquals("First element not correct", ac[0], players[1]); - assertEquals("Second element not correct", ac[1], players[0]); + //then + assertEquals("Length is not seven", _sut.length, 7); + assertEquals("First element not correct", _sut[0], secondPlayer); + assertEquals("Second element not correct", _sut[1], firstPlayer); } http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/1905bf31/frameworks/projects/framework/tests/mx/collections/AddRemoveStrings.as ---------------------------------------------------------------------- diff --git a/frameworks/projects/framework/tests/mx/collections/AddRemoveStrings.as b/frameworks/projects/framework/tests/mx/collections/AddRemoveStrings.as index cc9145f..43220c3 100644 --- a/frameworks/projects/framework/tests/mx/collections/AddRemoveStrings.as +++ b/frameworks/projects/framework/tests/mx/collections/AddRemoveStrings.as @@ -5,108 +5,121 @@ package mx.collections { public class AddRemoveStrings { - protected var ac:ArrayCollection; + protected var _sut:ArrayCollection; [Before] public function setUp():void { - ac = new ArrayCollection(); + _sut = new ArrayCollection(); } [After] public function tearDown():void { - ac = null; + _sut = null; } [Test] public function empty():void { - assertEquals(ac.length, 0); + assertEquals(0, _sut.length); } [Test] public function addStrings():void { - ac.addItem("A"); - assertEquals("Length is not one", ac.length, 1); - assertEquals("First element not correct", ac[0], "A"); - ac.addItem("B"); - assertEquals("Length is not two", ac.length, 2); - assertEquals("Second element not correct", ac[1], "B"); - ac.addItem("D"); - assertEquals("Length is not three", ac.length, 3); - assertEquals("Second element not correct", ac[2], "D"); - ac.addItem("C"); - assertEquals("Length is not four", ac.length, 4); - assertEquals("Second element not correct", ac[3], "C"); + _sut.addItem("A"); + assertEquals("Length is not one", 1, _sut.length); + assertEquals("First element not correct", "A", _sut[0]); + + _sut.addItem("B"); + assertEquals("Length is not two", 2, _sut.length); + assertEquals("Second element not correct", "B", _sut[1]); + + _sut.addItem("D"); + assertEquals("Length is not three", 3, _sut.length); + assertEquals("Second element not correct", "D", _sut[2]); + + _sut.addItem("C"); + assertEquals("Length is not four", 4, _sut.length); + assertEquals("Second element not correct", "C", _sut[3]); } [Test] public function addDuplicate():void { + //given addStrings(); - ac.addItem("B"); - assertEquals("Length is not five", ac.length, 5); - assertEquals("First element not correct", ac[0], "A"); - assertEquals("Second element not correct", ac[1], "B"); - assertEquals("Second element not correct", ac[2], "D"); - assertEquals("Second element not correct", ac[3], "C"); - assertEquals("Second element not correct", ac[4], "B"); + + //when + _sut.addItem("B"); + + //then + assertEquals("Length is not five", 5, _sut.length); + assertEquals("First element not correct", "A", _sut[0]); + assertEquals("Second element not correct", "B", _sut[1]); + assertEquals("Second element not correct", "D", _sut[2]); + assertEquals("Second element not correct", "C", _sut[3]); + assertEquals("Second element not correct", "B", _sut[4]); } [Test] public function removeDuplicate():void { + //given addStrings(); - ac.addItem("B"); - ac.removeItemAt(1); - assertEquals("Length is not four", ac.length, 4); - assertEquals("First element not correct", ac[0], "A"); - assertEquals("Second element not correct", ac[1], "D"); - assertEquals("Second element not correct", ac[2], "C"); - assertEquals("Second element not correct", ac[3], "B"); + + //when + _sut.addItem("B"); + _sut.removeItemAt(1); + + //then + assertEquals("Length is not four", 4, _sut.length); + assertEquals("First element not correct", _sut[0], "A"); + assertEquals("Second element not correct", _sut[1], "D"); + assertEquals("Second element not correct", _sut[2], "C"); + assertEquals("Second element not correct", _sut[3], "B"); } [Test] public function removeAllStrings():void { addStrings(); - ac.removeAll(); - assertEquals("Length is not zero", ac.length, 0); + _sut.removeAll(); + assertEquals("Length is not zero", _sut.length, 0); } [Test] public function removeFirstStrings():void { addStrings(); - ac.removeItemAt(0); - assertEquals("First element not correct", ac[0], "B"); - assertEquals("Length is not three", ac.length, 3); - ac.removeItemAt(0); - assertEquals("Length is not two", ac.length, 2); + _sut.removeItemAt(0); + assertEquals("First element not correct", _sut[0], "B"); + assertEquals("Length is not three", _sut.length, 3); + _sut.removeItemAt(0); + assertEquals("Length is not two", _sut.length, 2); } [Test] public function removeLastStrings():void { addStrings(); - ac.removeItemAt(1); - assertEquals("First element not correct", ac[0], "A"); - assertEquals("Length is not three", ac.length, 3); - ac.removeItemAt(0); - assertEquals("Length is not two", ac.length, 2); + _sut.removeItemAt(1); + assertEquals("First element not correct", _sut[0], "A"); + assertEquals("Length is not three", _sut.length, 3); + _sut.removeItemAt(0); + assertEquals("Length is not two", _sut.length, 2); } [Test] public function removeItemByIndex():void { addStrings(); - ac.removeItemAt(ac.getItemIndex("B")); - assertEquals("First element not correct", ac[0], "A"); - assertEquals("Length is not three", ac.length, 3); - ac.removeItemAt(ac.getItemIndex("D")); - assertEquals("Length is not two", ac.length, 2); + _sut.removeItemAt(_sut.getItemIndex("B")); + assertEquals("First element not correct", _sut[0], "A"); + assertEquals("Length is not three", _sut.length, 3); + _sut.removeItemAt(_sut.getItemIndex("D")); + assertEquals("Length is not two", _sut.length, 2); } [Test] @@ -114,53 +127,57 @@ package mx.collections { { addStrings(); try { - ac.removeItemAt(-1); + _sut.removeItemAt(-1); } catch (error:Error) { assertTrue("Error not range error", error is RangeError); } - assertEquals("Length is not four", ac.length, 4); + assertEquals("Length is not four", 4, _sut.length); try { - ac.removeItemAt(10); + _sut.removeItemAt(10); } catch (error:Error) { assertTrue("Error not range error", error is RangeError); } - assertEquals("Length is not two", ac.length, 4); + assertEquals("Length is not two", 4, _sut.length); } [Test] public function swapItemsTwoThenOne():void { + //given addStrings(); - - var item1:String = ac.getItemAt(0) as String; - var item2:String = ac.getItemAt(1) as String; - - ac.setItemAt(item2, 0); - ac.setItemAt(item1, 1); - - assertEquals("Length is not four", ac.length, 4); - assertEquals("First element not correct", ac[0], "B"); - assertEquals("Second element not correct", ac[1], "A"); + var item1:String = _sut.getItemAt(0) as String; + var item2:String = _sut.getItemAt(1) as String; + + //when + _sut.setItemAt(item2, 0); + _sut.setItemAt(item1, 1); + + //then + assertEquals("Length is not four", _sut.length, 4); + assertEquals("First element not correct", _sut[0], "B"); + assertEquals("Second element not correct", _sut[1], "A"); } [Test] public function swapItemsOneThenTwo():void { + //given addStrings(); + var item1:String = _sut.getItemAt(0) as String; + var item2:String = _sut.getItemAt(1) as String; + + //when + _sut.setItemAt(item1, 1); + _sut.setItemAt(item2, 0); - var item1:String = ac.getItemAt(0) as String; - var item2:String = ac.getItemAt(1) as String; - - ac.setItemAt(item1, 1); - ac.setItemAt(item2, 0); - - assertEquals("Length is not two", ac.length, 2); - assertEquals("First element not correct", ac[0], "B"); - assertEquals("Second element not correct", ac[1], "A"); + //then + assertEquals("Length is not four", 4, _sut.length); + assertEquals("First element not correct", _sut[0], "B"); + assertEquals("Second element not correct", _sut[1], "A"); } } http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/1905bf31/frameworks/projects/framework/tests/mx/collections/FilterNumbers.as ---------------------------------------------------------------------- diff --git a/frameworks/projects/framework/tests/mx/collections/FilterNumbers.as b/frameworks/projects/framework/tests/mx/collections/FilterNumbers.as index 34e03f2..b7840d8 100644 --- a/frameworks/projects/framework/tests/mx/collections/FilterNumbers.as +++ b/frameworks/projects/framework/tests/mx/collections/FilterNumbers.as @@ -191,19 +191,22 @@ package mx.collections { [Test] public function swapItemsTwoThenOne():void { + //given addNumbers(); - ac.filterFunction = allIn; + ac.filterFunction = allIn; ac.refresh(); var item1:Number = ac.getItemAt(0) as Number; var item2:Number = ac.getItemAt(1) as Number; - - ac.setItemAt(item2,0); - ac.setItemAt(item1,1); - - assertEquals("Length is not two", ac.length, 2); - assertEquals("First element not correct", ac[0], 2); - assertEquals("Second element not correct", ac[1], 1); + + //when + ac.setItemAt(item2, 0); + ac.setItemAt(item1, 1); + + //then + assertEquals("Length is not two", 2, ac.length); + assertEquals("First element not correct", 2, ac[0]); + assertEquals("Second element not correct", 1, ac[1]); } [Test] http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/1905bf31/frameworks/projects/framework/tests/mx/collections/FilterStrings.as ---------------------------------------------------------------------- diff --git a/frameworks/projects/framework/tests/mx/collections/FilterStrings.as b/frameworks/projects/framework/tests/mx/collections/FilterStrings.as index a3be478..48e6a5d 100644 --- a/frameworks/projects/framework/tests/mx/collections/FilterStrings.as +++ b/frameworks/projects/framework/tests/mx/collections/FilterStrings.as @@ -209,21 +209,24 @@ package mx.collections { [Test] public function swapItemsTwoThenOne():void { + //given addStrings(); ac.filterFunction = allIn; ac.refresh(); var item1:String = ac.getItemAt(0) as String; var item2:String = ac.getItemAt(1) as String; - + + //when ac.setItemAt(item2,0); ac.setItemAt(item1,1); - + + //then assertEquals("Length is not four", ac.length, 4); - assertEquals("First element not correct", ac[0], "B"); - assertEquals("Second element not correct", ac[1], "A"); - assertEquals("Third element not correct", ac[2], "D"); - assertEquals("Four element not correct", ac[3], "C"); + assertEquals("First element not correct", "B", ac[0]); + assertEquals("Second element not correct", "A", ac[1]); + assertEquals("Third element not correct", "D", ac[2]); + assertEquals("Four element not correct", "C", ac[3]); } [Test]
