53 lines
1.5 KiB
Swift
53 lines
1.5 KiB
Swift
import Foundation
|
|
import XCTest
|
|
@testable import Luma
|
|
|
|
final class VideoNoteStopPolicyTests: XCTestCase {
|
|
func testEarlyReleaseWaitsForRecordedMedia() {
|
|
let remaining = VideoNoteStopPolicy.remainingRecordedDuration(
|
|
recordedDuration: 0.25,
|
|
minimumDuration: VideoNoteStopPolicy.minimumCaptureDuration
|
|
)
|
|
|
|
XCTAssertEqual(
|
|
remaining,
|
|
VideoNoteStopPolicy.minimumCaptureDuration - 0.25,
|
|
accuracy: 0.001
|
|
)
|
|
}
|
|
|
|
func testStopDoesNotWaitAfterMinimumMediaDurationElapsed() {
|
|
XCTAssertEqual(
|
|
VideoNoteStopPolicy.remainingRecordedDuration(
|
|
recordedDuration: 2,
|
|
minimumDuration: VideoNoteStopPolicy.minimumCaptureDuration
|
|
),
|
|
0,
|
|
accuracy: 0.001
|
|
)
|
|
}
|
|
|
|
func testRecordingFloorIsLongerThanLegacyShortClipThreshold() {
|
|
XCTAssertGreaterThanOrEqual(VideoNoteStopPolicy.minimumCaptureDuration, 1.1)
|
|
}
|
|
|
|
func testRecordedMediaTimeControlsTheFinalStop() {
|
|
XCTAssertEqual(
|
|
VideoNoteStopPolicy.remainingRecordedDuration(
|
|
recordedDuration: 0.35,
|
|
minimumDuration: 1.2
|
|
),
|
|
0.85,
|
|
accuracy: 0.001
|
|
)
|
|
XCTAssertEqual(
|
|
VideoNoteStopPolicy.remainingRecordedDuration(
|
|
recordedDuration: 1.3,
|
|
minimumDuration: 1.2
|
|
),
|
|
0,
|
|
accuracy: 0.001
|
|
)
|
|
}
|
|
}
|