import InlineSnapshotTesting import TestCases import XCTest @MainActor final class EnumTests: BaseIntegrationTests { override func setUpWithError() throws { try super.setUpWithError() self.app.buttons["iOS 16"].tap() self.app.buttons["Enum"].tap() self.clearLogs() // SnapshotTesting.isRecording = true } func testBasics() { self.app.buttons["Toggle feature 1 on"].tap() XCTAssertEqual(self.app.staticTexts["FEATURE 1"].exists, true) self.assertLogs { """ BasicsView.body EnumView.body StoreOf.init StoreOf.init StoreOf.init StoreOf.init StoreOf.init StoreOf.init StoreOf.init StoreOf.init StoreOf.init StoreOf.init ViewStore.deinit ViewStore.init ViewStoreOf.deinit ViewStoreOf.init ViewStoreOf.init ViewStoreOf.deinit ViewStoreOf.init ViewStoreOf.init ViewStoreOf.deinit ViewStoreOf.init ViewStoreOf.init ViewStoreOf.deinit ViewStoreOf.init WithViewStore.body WithViewStoreOf.body WithViewStoreOf.body WithViewStoreOf.body WithViewStoreOf.body """ } self.app.buttons["Increment"].tap() XCTAssertEqual(self.app.staticTexts["1"].exists, true) self.assertLogs { """ BasicsView.body ViewStoreOf.deinit ViewStoreOf.init WithViewStoreOf.body """ } } func testToggle1On_Toggle1Off() { self.app.buttons["Toggle feature 1 on"].tap() XCTAssertEqual(self.app.staticTexts["FEATURE 1"].exists, true) self.clearLogs() self.app.buttons["Toggle feature 1 off"].tap() XCTAssertEqual(self.app.staticTexts["FEATURE 1"].exists, false) self.assertLogs { """ EnumView.body ViewStore.deinit ViewStore.init ViewStoreOf.deinit ViewStoreOf.init WithViewStore.body WithViewStoreOf.body """ } } func testToggle1On_Toggle2On() { self.app.buttons["Toggle feature 1 on"].tap() XCTAssertEqual(self.app.staticTexts["FEATURE 1"].exists, true) self.clearLogs() self.app.buttons["Toggle feature 2 on"].tap() XCTAssertEqual(self.app.staticTexts["FEATURE 2"].exists, true) self.assertLogs { """ BasicsView.body EnumView.body StoreOf.init StoreOf.init StoreOf.init StoreOf.deinit StoreOf.deinit StoreOf.init StoreOf.init StoreOf.init StoreOf.init StoreOf.init StoreOf.init StoreOf.init StoreOf.init ViewStore.deinit ViewStore.init ViewStoreOf.deinit ViewStoreOf.init ViewStoreOf.init ViewStoreOf.deinit ViewStoreOf.deinit ViewStoreOf.deinit ViewStoreOf.init ViewStoreOf.init ViewStoreOf.init ViewStoreOf.init ViewStoreOf.deinit ViewStoreOf.init WithViewStore.body WithViewStoreOf.body WithViewStoreOf.body WithViewStoreOf.body WithViewStoreOf.body """ } } func testToggle1On_Increment_Toggle1OffOn() { self.app.buttons["Toggle feature 1 on"].tap() XCTAssertEqual(self.app.staticTexts["FEATURE 1"].exists, true) self.app.buttons["Decrement"].tap() XCTAssertEqual(self.app.staticTexts["-1"].exists, true) self.app.buttons["Toggle feature 1 off"].tap() self.clearLogs() self.app.buttons["Toggle feature 1 on"].tap() XCTAssertEqual(self.app.staticTexts["FEATURE 1"].exists, true) XCTAssertEqual(self.app.staticTexts["-1"].exists, false) XCTAssertEqual(self.app.staticTexts["0"].exists, true) self.assertLogs { """ BasicsView.body EnumView.body ViewStore.deinit ViewStore.init ViewStoreOf.deinit ViewStoreOf.init ViewStoreOf.deinit ViewStoreOf.init WithViewStore.body WithViewStoreOf.body WithViewStoreOf.body """ } } func testDismiss() { self.app.buttons["Toggle feature 1 on"].tap() XCTAssertEqual(self.app.staticTexts["FEATURE 1"].exists, true) self.clearLogs() self.app.buttons["Dismiss"].tap() XCTAssertEqual(self.app.staticTexts["FEATURE 1"].exists, false) self.assertLogs { """ EnumView.body ViewStore.deinit ViewStore.init ViewStoreOf.deinit ViewStoreOf.init WithViewStore.body WithViewStoreOf.body """ } } }