Zum Inhalt

apple/PhysarumApp/Tests/CaptureCeilingTests.swift

import XCTest
@testable import Physarum

final class CaptureCeilingTests: XCTestCase {
    func testMacAndPhoneKeepFullCeilings() {
        XCTAssertEqual(CaptureConfig.offeredStillSizes(idiom: .mac), CaptureConfig.stillSizes)
        XCTAssertEqual(CaptureConfig.offeredStillSizes(idiom: .phone), CaptureConfig.stillSizes)
        XCTAssertEqual(CaptureConfig.offeredVideoSizes(idiom: .phone), CaptureConfig.videoSizes)
        XCTAssertEqual(CaptureConfig.offeredVideoDurations(idiom: .phone), CaptureConfig.videoDurations)
    }

    func testIPadDropsHeaviestCombos() {
        XCTAssertEqual(CaptureConfig.offeredStillSizes(idiom: .pad), [1080, 2048])
        XCTAssertEqual(CaptureConfig.offeredVideoSizes(idiom: .pad), [1280, 1920])
        XCTAssertEqual(CaptureConfig.offeredVideoDurations(idiom: .pad), [5, 10, 15])
        XCTAssertFalse(CaptureConfig.offeredStillSizes(idiom: .pad).contains(4096))
    }

    func testIPadDefaultsRemainSelectable() {
        XCTAssertTrue(CaptureConfig.offeredStillSizes(idiom: .pad).contains(CaptureConfig.defaultStill.longEdge))
        XCTAssertTrue(CaptureConfig.offeredVideoSizes(idiom: .pad).contains(CaptureConfig.defaultVideo.longEdge))
        XCTAssertTrue(CaptureConfig.offeredVideoDurations(idiom: .pad).contains(10))
    }
}