Skip to content

Commit

Permalink
RulesEngine: extract method showWinMessage();
Browse files Browse the repository at this point in the history
create TestCase CardTest;
remove MainSuite;
change some timing logic of Card;
  • Loading branch information
Crabar committed Mar 3, 2014
1 parent 8fdbbed commit ce14d1e
Show file tree
Hide file tree
Showing 9 changed files with 144 additions and 48 deletions.
5 changes: 4 additions & 1 deletion .FlexUnitSettings/FlexUnitApplicationLastRun.xml
Original file line number Diff line number Diff line change
@@ -1,7 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<testrun name="" >
<testsuite name="Default Test Suite" project="Mahjong">
<testsuite name="tests:MainSuite" type="testcaseclass"/>
<testsuite name="tests:CardTest" type="testsuiteclass"/>
<testsuite name="tests:CardsGeneratorTest" type="testsuiteclass"/>
<testsuite name="tests:CardsImagesLoaderTest" type="testsuiteclass"/>
<testsuite name="tests:SimpleCardsPlacerTest" type="testsuiteclass"/>
</testsuite>
<portNumber value="8765" />
</testrun>
10 changes: 10 additions & 0 deletions .FlexUnitSettings/FlexUnitApplicationLastSelection.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<testrun name="" >
<testsuite name="Default Test Suite" project="Mahjong">
<testsuite name="tests:CardsGeneratorTest" type="testcaseclass"/>
<testsuite name="tests:CardsImagesLoaderTest" type="testcaseclass"/>
<testsuite name="tests:CardTest" type="testcaseclass"/>
<testsuite name="tests:SimpleCardsPlacerTest" type="testcaseclass"/>
</testsuite>
<portNumber value="8765" />
</testrun>
6 changes: 3 additions & 3 deletions .actionScriptProperties
Original file line number Diff line number Diff line change
Expand Up @@ -17,13 +17,13 @@
<libraryPathEntry kind="3" linkType="1" path="${PROJECT_FRAMEWORKS}/libs/spark.swc" useDefaultLinkType="false"/>
<libraryPathEntry kind="3" linkType="1" path="${PROJECT_FRAMEWORKS}/libs/sparkskins.swc" useDefaultLinkType="false"/>
<libraryPathEntry kind="3" linkType="1" path="${PROJECT_FRAMEWORKS}/libs/rpc.swc" useDefaultLinkType="false"/>
<libraryPathEntry kind="3" linkType="1" path="${PROJECT_FRAMEWORKS}/libs/datavisualization.swc" useDefaultLinkType="false"/>
<libraryPathEntry kind="3" linkType="1" path="${PROJECT_FRAMEWORKS}/libs/qtp_air.swc" useDefaultLinkType="false"/>
<libraryPathEntry kind="3" linkType="1" path="${PROJECT_FRAMEWORKS}/libs/videoPlayer.swc" useDefaultLinkType="false"/>
<libraryPathEntry kind="3" linkType="1" path="${PROJECT_FRAMEWORKS}/libs/qtp_air.swc" useDefaultLinkType="false"/>
<libraryPathEntry kind="3" linkType="1" path="${PROJECT_FRAMEWORKS}/libs/datavisualization.swc" useDefaultLinkType="false"/>
<libraryPathEntry kind="3" linkType="1" path="${PROJECT_FRAMEWORKS}/libs/spark_dmv.swc" useDefaultLinkType="false"/>
<libraryPathEntry kind="3" linkType="1" path="${PROJECT_FRAMEWORKS}/libs/automation.swc" useDefaultLinkType="false"/>
<libraryPathEntry kind="3" linkType="1" path="${PROJECT_FRAMEWORKS}/libs/automation_dmv.swc" useDefaultLinkType="false"/>
<libraryPathEntry kind="3" linkType="1" path="${PROJECT_FRAMEWORKS}/libs/flash-integration.swc" useDefaultLinkType="false"/>
<libraryPathEntry kind="3" linkType="1" path="${PROJECT_FRAMEWORKS}/libs/automation_dmv.swc" useDefaultLinkType="false"/>
<libraryPathEntry kind="3" linkType="1" path="${PROJECT_FRAMEWORKS}/libs/automation_flashflexkit.swc" useDefaultLinkType="false"/>
<libraryPathEntry kind="3" linkType="1" path="${PROJECT_FRAMEWORKS}/libs/automation_agent.swc" useDefaultLinkType="false"/>
</excludedEntries>
Expand Down
10 changes: 8 additions & 2 deletions src/FlexUnitApplication.as
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,10 @@ package

import flexunit.flexui.FlexUnitTestRunnerUIAS;

import tests.MainSuite;
import tests.CardTest;
import tests.CardsGeneratorTest;
import tests.CardsImagesLoaderTest;
import tests.SimpleCardsPlacerTest;

public class FlexUnitApplication extends Sprite
{
Expand All @@ -26,7 +29,10 @@ package
public function currentRunTestSuite():Array
{
var testsToRun:Array = new Array();
testsToRun.push(tests.MainSuite);
testsToRun.push(tests.CardTest);
testsToRun.push(tests.CardsGeneratorTest);
testsToRun.push(tests.CardsImagesLoaderTest);
testsToRun.push(tests.SimpleCardsPlacerTest);
return testsToRun;
}
}
Expand Down
16 changes: 8 additions & 8 deletions src/FlexUnitCompilerApplication.as
Original file line number Diff line number Diff line change
@@ -1,23 +1,23 @@
/**
*This file is automatically generated by Flash Builder to compile FlexUnit classes and is not intended for modification.
*Please click on the "Refresh" icon in "FlexUnit Results" view to regenerate this file.
*/
*This file is automatically generated by Flash Builder to compile FlexUnit classes and is not intended for modification.
*Please click on the "Refresh" icon in "FlexUnit Results" view to regenerate this file.
*/

package
{
import flash.display.Sprite;

import tests.MainSuite;
import tests.CardsImagesLoaderTest;
import tests.CardTest;
import tests.CardsGeneratorTest;
import tests.CardsImagesLoaderTest;
import tests.SimpleCardsPlacerTest;

public class FlexUnitCompilerApplication extends Sprite
{

private var tests_SimpleCardsPlacerTest_obj:tests.SimpleCardsPlacerTest;
private var tests_CardGeneratorTest_obj:tests.CardsGeneratorTest;
private var tests_CardTest_obj:tests.CardTest;
private var tests_CardsImagesLoaderTest_obj:tests.CardsImagesLoaderTest;

private var tests_MainSuite_obj:tests.MainSuite;
private var tests_CardsGeneratorTest_obj:tests.CardsGeneratorTest;
}
}
21 changes: 10 additions & 11 deletions src/engines/Card.as
Original file line number Diff line number Diff line change
@@ -1,14 +1,16 @@
package engines
{
import animation.Fade;

import engines.events.CardEvent;

import flash.display.Bitmap;
import flash.display.BitmapData;
import flash.display.Sprite;
import flash.events.Event;
import flash.events.MouseEvent;
import flash.events.TimerEvent;
import flash.utils.Timer;
import animation.Fade;
import engines.events.CardEvent;

[Event(name="cardOpen", type="engines.events.CardEvent")]
[Event(name="cardClose", type="engines.events.CardEvent")]
Expand All @@ -22,17 +24,12 @@ package engines
initBitmap();
buttonMode = true;
addEventListener(MouseEvent.CLICK, onCardClick);
_closeTimer.addEventListener(TimerEvent.TIMER_COMPLETE, onCloseTimerComplete);
}

private var _back:BitmapData;

private const _closeTime:uint = 1000;
private var _closeTimer:Timer = new Timer(_closeTime, 1);

private var _closeTimer:Timer;
private var _destroying:Boolean = false;
private var _front:BitmapData;

private var _image:Bitmap;
private var _isOpen:Boolean = false;

Expand All @@ -43,10 +40,10 @@ package engines
dispatchEvent(new CardEvent(CardEvent.CARD_CLOSE));
}

public function destroy():void
public function destroy(destroyTime:uint = 1000):void
{
_destroying = true;
var fade:Fade = new Fade(this, 1000);
var fade:Fade = new Fade(this, destroyTime);
fade.addEventListener(Event.COMPLETE, onFadeAnimationComplete);
fade.play();
}
Expand All @@ -56,12 +53,14 @@ package engines
return _front;
}

public function open():void
public function open(timeToOpen:uint = 1000):void
{
_image.bitmapData = _front;
_isOpen = true;
dispatchEvent(new CardEvent(CardEvent.CARD_OPEN));
//
_closeTimer = new Timer(timeToOpen, 1);
_closeTimer.addEventListener(TimerEvent.TIMER_COMPLETE, onCloseTimerComplete, false, 0, true);
_closeTimer.start();
}

Expand Down
25 changes: 14 additions & 11 deletions src/engines/RulesEngine.as
Original file line number Diff line number Diff line change
Expand Up @@ -35,17 +35,20 @@ package engines
private function checkWin():void
{
if (_pairsCount == 0)
{
var winText:TextField = new TextField();
winText.text = "Congratulations! You won!";
var winTextFormat:TextFormat = new TextFormat(null, 32, 0x11aa11, true, true, false, "", "", TextFormatAlign.CENTER);
winText.setTextFormat(winTextFormat);
winText.selectable = false;
winText.width = _playGround.stage.stageWidth;
winText.height = 40;
winText.y = _playGround.stage.stageHeight / 2;
_playGround.addChild(winText);
}
showWinMessage();
}

private function showWinMessage():void
{
var winText:TextField = new TextField();
winText.text = "Congratulations! You won!";
var winTextFormat:TextFormat = new TextFormat(null, 32, 0x11aa11, true, true, false, "", "", TextFormatAlign.CENTER);
winText.setTextFormat(winTextFormat);
winText.selectable = false;
winText.width = _playGround.stage.stageWidth;
winText.height = 40;
winText.y = _playGround.stage.stageHeight / 2;
_playGround.addChild(winText);
}

private function destroyCard(card:Card):void
Expand Down
87 changes: 87 additions & 0 deletions src/tests/CardTest.as
Original file line number Diff line number Diff line change
@@ -0,0 +1,87 @@
package tests
{
import engines.Card;
import engines.events.CardEvent;

import flash.display.Bitmap;
import flash.display.BitmapData;
import flash.events.Event;

import flexunit.framework.Assert;

import org.flexunit.async.Async;

public class CardTest
{

[Before]
public function setUp():void
{
}

[After]
public function tearDown():void
{
}

[BeforeClass]
public static function setUpBeforeClass():void
{
}

[AfterClass]
public static function tearDownAfterClass():void
{
}

[Test]
public function testCard():void
{
var back:BitmapData = new BitmapData(1, 1);
var card:Card = new Card(new BitmapData(1, 1), back);
var cardImage:Bitmap = Bitmap(card.getChildAt(0));
Assert.assertEquals("Card is not closed!", cardImage.bitmapData, back);
}

[Test(async)]
public function testClose():void
{
var back:BitmapData = new BitmapData(1, 1);
var card:Card = new Card(new BitmapData(1, 1), back);
card.addEventListener(CardEvent.CARD_CLOSE, Async.asyncHandler(this, onCardClose, 100, back, onCardEventTimeout));
card.open();
card.close();
}

[Test]
public function testDestroy():void
{
Assert.fail("Test method Not yet implemented");
}

[Test(async)]
public function testOpen():void
{
var card:Card = new Card(new BitmapData(1, 1), new BitmapData(1, 1));
card.addEventListener(CardEvent.CARD_OPEN, Async.asyncHandler(this, onCardOpen, 100, null, onCardEventTimeout));
card.open();
}

private function onCardOpen(event:CardEvent, passThroughData:Object):void
{
var cardImage:Bitmap = Bitmap(Card(event.target).getChildAt(0));
Assert.assertEquals("Card is not opened!", cardImage.bitmapData, Card(event.target).front);
}

private function onCardClose(event:CardEvent, passThroughData:Object):void
{
var cardImage:Bitmap = Bitmap(Card(event.target).getChildAt(0));
Assert.assertEquals("Card is not closed!", cardImage.bitmapData, passThroughData);
}

private function onCardEventTimeout(passThroughData:Object):void
{
Assert.fail("Card event is not dispatched!");
}
}
}
12 changes: 0 additions & 12 deletions src/tests/MainSuite.as

This file was deleted.

0 comments on commit ce14d1e

Please sign in to comment.