diff --git a/Example/SplitflapExample.xcodeproj/project.pbxproj b/Example/SplitflapExample.xcodeproj/project.pbxproj index 703a214..7404b89 100644 --- a/Example/SplitflapExample.xcodeproj/project.pbxproj +++ b/Example/SplitflapExample.xcodeproj/project.pbxproj @@ -150,12 +150,12 @@ isa = PBXGroup; children = ( CE525DB11BF4FBC800429200 /* Info.plist */, - CEECB4E01BF5D843002511E0 /* XCTTestCaseTemplate.swift */, - CE525DB71BF4FBE400429200 /* TokenGeneratorTests.swift */, - CE525DC21BF5134D00429200 /* TokenParserTests.swift */, - CEECB4DE1BF53107002511E0 /* SplitflapTests.swift */, CE483C0C1BF5DF8A00979C2A /* SplitflapDataSourceDatasourceTests.swift */, CE483C0E1BF5E08A00979C2A /* SplitflapDelegateTests.swift */, + CEECB4DE1BF53107002511E0 /* SplitflapTests.swift */, + CE525DB71BF4FBE400429200 /* TokenGeneratorTests.swift */, + CE525DC21BF5134D00429200 /* TokenParserTests.swift */, + CEECB4E01BF5D843002511E0 /* XCTTestCaseTemplate.swift */, ); path = SplitflapTests; sourceTree = ""; diff --git a/Example/SplitflapTests/SplitflapTests.swift b/Example/SplitflapTests/SplitflapTests.swift index 79da8f5..fbe4ebe 100644 --- a/Example/SplitflapTests/SplitflapTests.swift +++ b/Example/SplitflapTests/SplitflapTests.swift @@ -37,6 +37,16 @@ class SplitflapTests: XCTTestCaseTemplate { XCTAssertEqual(splitflap.tokens, []) XCTAssertEqual(splitflap.flapSpacing, 2) XCTAssertNil(splitflap.text) + + // 'didMoveToWindow' calls the 'reload' method + splitflap.didMoveToWindow() + + XCTAssertNil(splitflap.datasource) + XCTAssertNil(splitflap.delegate) + XCTAssertEqual(splitflap.numberOfFlaps, 0) + XCTAssertEqual(splitflap.tokens, SplitflapTokens.Alphanumeric) + XCTAssertEqual(splitflap.flapSpacing, 2) + XCTAssertNil(splitflap.text) } func testText() { @@ -46,8 +56,15 @@ class SplitflapTests: XCTTestCaseTemplate { } } + // By default, length is 0 + let splitflap = Splitflap() + XCTAssertNil(splitflap.text) + + splitflap.text = "Alongtext" + XCTAssertNil(splitflap.text) + + // String with length 5 let datasourceMock = DataSourceMock() - let splitflap = Splitflap() splitflap.datasource = datasourceMock splitflap.reload() @@ -60,6 +77,32 @@ class SplitflapTests: XCTTestCaseTemplate { XCTAssertEqual(splitflap.text, "hello") splitflap.text = "$invalid!" - XCTAssertEqual(splitflap.text, nil) + XCTAssertNil(splitflap.text) + } + + func testSetText() { + class DataSourceMock: SplitflapDataSource { + func numberOfFlapsInSplitflap(splitflap: Splitflap) -> Int { + return 9 + } + } + + // By default, length is 0 + let splitflap = Splitflap() + XCTAssertNil(splitflap.text) + + splitflap.setText("Alongtext", animated: true) + XCTAssertNil(splitflap.text) + + // String with length 9 + let datasourceMock = DataSourceMock() + splitflap.datasource = datasourceMock + splitflap.reload() + + splitflap.setText("Alongtext", animated: true) + XCTAssertEqual(splitflap.text, "Alongtext") + + splitflap.setText("$invalid!", animated: true) + XCTAssertNil(splitflap.text) } } \ No newline at end of file diff --git a/Example/SplitflapTests/TokenGeneratorTests.swift b/Example/SplitflapTests/TokenGeneratorTests.swift index 06141e3..864084c 100644 --- a/Example/SplitflapTests/TokenGeneratorTests.swift +++ b/Example/SplitflapTests/TokenGeneratorTests.swift @@ -37,6 +37,18 @@ class TokenGeneratorTests: XCTTestCaseTemplate { let nElementsGenerator = TokenGenerator(tokens: ["a", "b", "c", "d"]) XCTAssertEqual(nElementsGenerator.currentElement, "a") + + // Set current element + nElementsGenerator.currentElement = "c" + XCTAssertEqual(nElementsGenerator.currentElement, "c") + + // Set invalid element + nElementsGenerator.currentElement = "l" + XCTAssertEqual(nElementsGenerator.currentElement, "c") + + // Set no element + nElementsGenerator.currentElement = nil + XCTAssertEqual(nElementsGenerator.currentElement, "a") } func testNext() {