mas01mj@732: package tests mas01mj@732: { mas01mj@732: import asunit.framework.TestCase; mas01mj@732: mas01mj@735: import org.omras2.audiodb.Bridge; mas01mj@732: import org.omras2.audiodb.LookupEvent; mas01mj@734: import org.omras2.audiodb.SearchEvent; mas01mj@736: import org.omras2.audiodb.SoundEvent; mas01mj@734: import org.omras2.audiodb.model.SearchResult; mas01mj@732: mas01mj@732: import flash.events.ErrorEvent; mas01mj@735: import flash.media.Sound; mas01mj@732: mas01mj@732: /** mas01mj@732: * @author mikej mas01mj@732: */ mas01mj@735: public class TestBridge extends TestCase mas01mj@732: { mas01mj@735: private var _bridge : Bridge; mas01mj@732: mas01mj@735: public function TestBridge(testMethod : String) mas01mj@732: { mas01mj@732: super(testMethod); mas01mj@732: } mas01mj@732: mas01mj@732: override protected function setUp() : void mas01mj@732: { mas01mj@732: super.setUp(); mas01mj@736: this._bridge = new Bridge("http://127.0.0.1:8080"); mas01mj@732: } mas01mj@732: mas01mj@732: public function testLookupSuccess() : void mas01mj@732: { mas01mj@732: var handler : Function = addAsync(handleLookupSuccessComplete, 2000); mas01mj@735: _bridge.addEventListener(LookupEvent.COMPLETE, handler); mas01mj@735: _bridge.lookup("AWAL1000"); mas01mj@732: } mas01mj@732: mas01mj@732: public function testLookupFail() : void mas01mj@732: { mas01mj@732: var handler : Function = addAsync(handleLookupFailComplete, 2000); mas01mj@735: _bridge.addEventListener(ErrorEvent.ERROR, handler); mas01mj@735: _bridge.lookup("AWAL10000"); mas01mj@732: } mas01mj@732: mas01mj@732: private function handleLookupFailComplete(event : ErrorEvent) : void mas01mj@732: { mas01mj@732: assertEquals(event.text, 'Invalid key'); mas01mj@732: } mas01mj@732: mas01mj@732: protected function handleLookupSuccessComplete(event : LookupEvent) : void mas01mj@732: { mas01mj@732: assertEquals(event.track.uid, 'AWAL1000'); mas01mj@732: assertEquals(event.track.artist, 'Moscow Drive'); mas01mj@732: assertEquals(event.track.seconds, '221000'); mas01mj@732: } mas01mj@734: mas01mj@734: public function testSearchSuccess() : void mas01mj@734: { mas01mj@735: var handler : Function = addAsync(handleSearchSuccessComplete, 50000); mas01mj@735: _bridge.addEventListener(SearchEvent.COMPLETE, handler); mas01mj@735: _bridge.search("AWAL1000"); mas01mj@734: } mas01mj@734: mas01mj@734: protected function handleSearchSuccessComplete(event : SearchEvent) : void mas01mj@734: { mas01mj@734: assertEquals(20, event.results.length); mas01mj@734: var firstMatch : SearchResult = (event.results[0] as SearchResult); mas01mj@734: assertEquals("AWAL1000", firstMatch.uid); mas01mj@735: } mas01mj@735: mas01mj@735: public function testPlay() : void mas01mj@735: { mas01mj@736: mas01mj@736: var handler : Function = addAsync(handleSoundLoaded, 10000); mas01mj@736: _bridge.addEventListener(SoundEvent.COMPLETE, handler); mas01mj@736: _bridge.getSound("AWAL1000", 5, 5); mas01mj@736: mas01mj@736: } mas01mj@736: mas01mj@736: mas01mj@736: protected function handleSoundLoaded(event : SoundEvent) : void mas01mj@736: { mas01mj@736: var sound : Sound = event.sound; mas01mj@736: assertEquals(81083, sound.bytesLoaded); mas01mj@734: } mas01mj@732: } mas01mj@732: }