import Quick import Nimble @testable import Sheeeeeeeeet class ActionSheet_PresenterTests: QuickSpec { override func spec() { describe("default presenter") { func getReversedIdiom() -> UIUserInterfaceIdiom { switch UIDevice.current.userInterfaceIdiom { case .phone: return .pad case .pad: return .phone default: return .unspecified } } it("is default presenter for current idiom") { let idiom = UIDevice.current.userInterfaceIdiom let idiomPresenter = idiom.defaultPresenter let defaultPresenter = ActionSheet.defaultPresenter let isSameKind = type(of: defaultPresenter) == type(of: idiomPresenter) expect(isSameKind).to(beTrue()) } it("is different from other idioms") { let idiom = getReversedIdiom() let idiomPresenter = idiom.defaultPresenter let defaultPresenter = ActionSheet.defaultPresenter let isSameKind = type(of: defaultPresenter) == type(of: idiomPresenter) expect(isSameKind).to(beFalse()) } it("is standard for iPhone") { let presenter = UIUserInterfaceIdiom.phone.defaultPresenter expect(presenter is ActionSheetStandardPresenter).to(beTrue()) } it("is popover for iPad") { let presenter = UIUserInterfaceIdiom.pad.defaultPresenter expect(presenter is ActionSheetPopoverPresenter).to(beTrue()) } } } }