import AVFoundation import XCTest @testable import MatchLiveTv final class BroadcastOrientationPolicyTests: XCTestCase { func testAppliesFirstLandscapeOrientation() { XCTAssertTrue( BroadcastOrientationPolicy.shouldApplyMixerOrientation( new: .landscapeRight, previous: nil, landscapeLocked: true ) ) } func testSkipsDuplicateLandscapeOrientation() { XCTAssertFalse( BroadcastOrientationPolicy.shouldApplyMixerOrientation( new: .landscapeRight, previous: .landscapeRight, landscapeLocked: true ) ) } func testAppliesLandscapeFlip() { XCTAssertTrue( BroadcastOrientationPolicy.shouldApplyMixerOrientation( new: .landscapeLeft, previous: .landscapeRight, landscapeLocked: true ) ) } func testIgnoresPortraitWhenLandscapeLocked() { XCTAssertFalse( BroadcastOrientationPolicy.isApplicableForBroadcast(.portrait, landscapeLocked: true) ) XCTAssertFalse( BroadcastOrientationPolicy.shouldApplyMixerOrientation( new: .portrait, previous: .landscapeRight, landscapeLocked: true ) ) } func testAllowsPortraitWhenNotLandscapeLocked() { XCTAssertTrue( BroadcastOrientationPolicy.isApplicableForBroadcast(.portrait, landscapeLocked: false) ) } func testDebounceAndSuppressWindowsArePositive() { XCTAssertGreaterThan(BroadcastOrientationPolicy.debounceNanoseconds, 0) XCTAssertGreaterThan(BroadcastOrientationPolicy.suppressDisconnectSeconds, 0) } }