forked from AudioKit/AudioKit
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathAKDiskStreamerTests.swift
72 lines (61 loc) · 1.7 KB
/
AKDiskStreamerTests.swift
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
//
// AKDiskStreamerTests.swift
// iOSTestSuite
//
// Created by Jeff Cooper on 6/28/18.
// Copyright © 2018 AudioKit. All rights reserved.
//
import AudioKit
import XCTest
class AKDiskStreamerTests: AKTestCase {
var streamer: AKDiskStreamer?
func testDoNothing() {
setupStreamer()
AKTestMD5("d2b120199019b639d5a7e2b3463e9c97")
}
func testPlayback() {
setupStreamer()
afterStart = {
self.loadFile()
self.streamer?.play()
}
AKTestMD5("d8bf32699a72873551a44e0a2758a5da")
}
let testCompletionHandlerMD5 = "b12ed8e53b48ebdaaf866c5748839f81"
func testCompletionHandler() {
streamer?.completionHandler = {
self.streamer?.play()
}
afterStart = {
self.loadFile()
self.streamer?.play()
}
AKTestMD5(testCompletionHandlerMD5)
}
func testForwardLoop() {
afterStart = {
self.loadFile()
self.streamer?.loopEnabled = true
self.streamer?.play()
}
AKTestMD5("d009424b2fa334ccc2056dd787a3b83b")
}
func setupStreamer() {
streamer = AKDiskStreamer()
output = streamer
}
func loadFile() {
if let path = Bundle.main.path(forResource: "sinechirp", ofType: "wav") {
let url = URL(fileURLWithPath: path)
let file = try! AKAudioFile(forReading: url)
streamer?.load(file: file)
} else {
XCTFail("Could not load sinechirp.wav")
}
}
override func setUp() {
super.setUp()
setupStreamer()
duration = 1.0 // needs to be this long since the default time is one second
}
}