mas01mj@732
|
1 package tests
|
mas01mj@732
|
2 {
|
mas01mj@732
|
3 import asunit.framework.TestCase;
|
mas01mj@732
|
4
|
mas01mj@735
|
5 import org.omras2.audiodb.Bridge;
|
mas01mj@732
|
6 import org.omras2.audiodb.LookupEvent;
|
mas01mj@734
|
7 import org.omras2.audiodb.SearchEvent;
|
mas01mj@736
|
8 import org.omras2.audiodb.SoundEvent;
|
mas01mj@734
|
9 import org.omras2.audiodb.model.SearchResult;
|
mas01mj@732
|
10
|
mas01mj@732
|
11 import flash.events.ErrorEvent;
|
mas01mj@735
|
12 import flash.media.Sound;
|
mas01mj@732
|
13
|
mas01mj@732
|
14 /**
|
mas01mj@732
|
15 * @author mikej
|
mas01mj@732
|
16 */
|
mas01mj@735
|
17 public class TestBridge extends TestCase
|
mas01mj@732
|
18 {
|
mas01mj@735
|
19 private var _bridge : Bridge;
|
mas01mj@732
|
20
|
mas01mj@735
|
21 public function TestBridge(testMethod : String)
|
mas01mj@732
|
22 {
|
mas01mj@732
|
23 super(testMethod);
|
mas01mj@732
|
24 }
|
mas01mj@732
|
25
|
mas01mj@732
|
26 override protected function setUp() : void
|
mas01mj@732
|
27 {
|
mas01mj@732
|
28 super.setUp();
|
mas01mj@736
|
29 this._bridge = new Bridge("http://127.0.0.1:8080");
|
mas01mj@732
|
30 }
|
mas01mj@732
|
31
|
mas01mj@732
|
32 public function testLookupSuccess() : void
|
mas01mj@732
|
33 {
|
mas01mj@732
|
34 var handler : Function = addAsync(handleLookupSuccessComplete, 2000);
|
mas01mj@735
|
35 _bridge.addEventListener(LookupEvent.COMPLETE, handler);
|
mas01mj@735
|
36 _bridge.lookup("AWAL1000");
|
mas01mj@732
|
37 }
|
mas01mj@732
|
38
|
mas01mj@732
|
39 public function testLookupFail() : void
|
mas01mj@732
|
40 {
|
mas01mj@732
|
41 var handler : Function = addAsync(handleLookupFailComplete, 2000);
|
mas01mj@735
|
42 _bridge.addEventListener(ErrorEvent.ERROR, handler);
|
mas01mj@735
|
43 _bridge.lookup("AWAL10000");
|
mas01mj@732
|
44 }
|
mas01mj@732
|
45
|
mas01mj@732
|
46 private function handleLookupFailComplete(event : ErrorEvent) : void
|
mas01mj@732
|
47 {
|
mas01mj@732
|
48 assertEquals(event.text, 'Invalid key');
|
mas01mj@732
|
49 }
|
mas01mj@732
|
50
|
mas01mj@732
|
51 protected function handleLookupSuccessComplete(event : LookupEvent) : void
|
mas01mj@732
|
52 {
|
mas01mj@732
|
53 assertEquals(event.track.uid, 'AWAL1000');
|
mas01mj@732
|
54 assertEquals(event.track.artist, 'Moscow Drive');
|
mas01mj@732
|
55 assertEquals(event.track.seconds, '221000');
|
mas01mj@732
|
56 }
|
mas01mj@734
|
57
|
mas01mj@734
|
58 public function testSearchSuccess() : void
|
mas01mj@734
|
59 {
|
mas01mj@735
|
60 var handler : Function = addAsync(handleSearchSuccessComplete, 50000);
|
mas01mj@735
|
61 _bridge.addEventListener(SearchEvent.COMPLETE, handler);
|
mas01mj@735
|
62 _bridge.search("AWAL1000");
|
mas01mj@734
|
63 }
|
mas01mj@734
|
64
|
mas01mj@734
|
65 protected function handleSearchSuccessComplete(event : SearchEvent) : void
|
mas01mj@734
|
66 {
|
mas01mj@734
|
67 assertEquals(20, event.results.length);
|
mas01mj@734
|
68 var firstMatch : SearchResult = (event.results[0] as SearchResult);
|
mas01mj@734
|
69 assertEquals("AWAL1000", firstMatch.uid);
|
mas01mj@735
|
70 }
|
mas01mj@735
|
71
|
mas01mj@735
|
72 public function testPlay() : void
|
mas01mj@735
|
73 {
|
mas01mj@736
|
74
|
mas01mj@736
|
75 var handler : Function = addAsync(handleSoundLoaded, 10000);
|
mas01mj@736
|
76 _bridge.addEventListener(SoundEvent.COMPLETE, handler);
|
mas01mj@736
|
77 _bridge.getSound("AWAL1000", 5, 5);
|
mas01mj@736
|
78
|
mas01mj@736
|
79 }
|
mas01mj@736
|
80
|
mas01mj@736
|
81
|
mas01mj@736
|
82 protected function handleSoundLoaded(event : SoundEvent) : void
|
mas01mj@736
|
83 {
|
mas01mj@736
|
84 var sound : Sound = event.sound;
|
mas01mj@736
|
85 assertEquals(81083, sound.bytesLoaded);
|
mas01mj@734
|
86 }
|
mas01mj@732
|
87 }
|
mas01mj@732
|
88 }
|