From fd99ad3429b4d5ebcf0d63937041c0bedf5e7b11 Mon Sep 17 00:00:00 2001 From: Dmitrii Celpan Date: Thu, 8 Oct 2020 21:43:10 +0300 Subject: [PATCH 1/3] Fix contains to return true for empty string --- Trie/Trie/Trie/Trie.swift | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Trie/Trie/Trie/Trie.swift b/Trie/Trie/Trie/Trie.swift index 3d5031cf3..08bfe61e7 100644 --- a/Trie/Trie/Trie/Trie.swift +++ b/Trie/Trie/Trie/Trie.swift @@ -124,7 +124,7 @@ extension Trie { /// - Returns: true if the word is present, false otherwise. func contains(word: String, matchPrefix: Bool = false) -> Bool { guard !word.isEmpty else { - return false + return true } var currentNode = root for character in word.lowercased() { From e6af119149ddfca366d0bfaee88b061d2c9fc766 Mon Sep 17 00:00:00 2001 From: Dmitrii Celpan Date: Thu, 8 Oct 2020 21:43:42 +0300 Subject: [PATCH 2/3] Remove useless UI tests --- Trie/Trie/Trie.xcodeproj/project.pbxproj | 112 +---------------------- Trie/Trie/TrieUITests/Info.plist | 22 ----- Trie/Trie/TrieUITests/TrieUITests.swift | 36 -------- 3 files changed, 1 insertion(+), 169 deletions(-) delete mode 100644 Trie/Trie/TrieUITests/Info.plist delete mode 100644 Trie/Trie/TrieUITests/TrieUITests.swift diff --git a/Trie/Trie/Trie.xcodeproj/project.pbxproj b/Trie/Trie/Trie.xcodeproj/project.pbxproj index 6b7cc9b61..22d0c49a2 100644 --- a/Trie/Trie/Trie.xcodeproj/project.pbxproj +++ b/Trie/Trie/Trie.xcodeproj/project.pbxproj @@ -12,7 +12,6 @@ EB798E021DFEF79900F0628D /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = EB798E011DFEF79900F0628D /* Assets.xcassets */; }; EB798E051DFEF79900F0628D /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = EB798E031DFEF79900F0628D /* Main.storyboard */; }; EB798E101DFEF79900F0628D /* TrieTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = EB798E0F1DFEF79900F0628D /* TrieTests.swift */; }; - EB798E1B1DFEF79900F0628D /* TrieUITests.swift in Sources */ = {isa = PBXBuildFile; fileRef = EB798E1A1DFEF79900F0628D /* TrieUITests.swift */; }; EB798E291DFEF81400F0628D /* Trie.swift in Sources */ = {isa = PBXBuildFile; fileRef = EB798E281DFEF81400F0628D /* Trie.swift */; }; EB798E2A1DFEF81400F0628D /* Trie.swift in Sources */ = {isa = PBXBuildFile; fileRef = EB798E281DFEF81400F0628D /* Trie.swift */; }; EB798E2C1DFEF90B00F0628D /* dictionary.txt in Resources */ = {isa = PBXBuildFile; fileRef = EB798E2B1DFEF90B00F0628D /* dictionary.txt */; }; @@ -27,13 +26,6 @@ remoteGlobalIDString = EB798DF91DFEF79900F0628D; remoteInfo = Trie; }; - EB798E171DFEF79900F0628D /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = EB798DF21DFEF79900F0628D /* Project object */; - proxyType = 1; - remoteGlobalIDString = EB798DF91DFEF79900F0628D; - remoteInfo = Trie; - }; /* End PBXContainerItemProxy section */ /* Begin PBXFileReference section */ @@ -46,9 +38,6 @@ EB798E0B1DFEF79900F0628D /* TrieTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = TrieTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; EB798E0F1DFEF79900F0628D /* TrieTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TrieTests.swift; sourceTree = ""; }; EB798E111DFEF79900F0628D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - EB798E161DFEF79900F0628D /* TrieUITests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = TrieUITests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; - EB798E1A1DFEF79900F0628D /* TrieUITests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TrieUITests.swift; sourceTree = ""; }; - EB798E1C1DFEF79900F0628D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; EB798E281DFEF81400F0628D /* Trie.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Trie.swift; sourceTree = ""; }; EB798E2B1DFEF90B00F0628D /* dictionary.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = dictionary.txt; sourceTree = ""; }; EB8369AC1E15C5710003A7F8 /* ReadMe.md */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = net.daringfireball.markdown; path = ReadMe.md; sourceTree = ""; }; @@ -69,13 +58,6 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - EB798E131DFEF79900F0628D /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ @@ -84,7 +66,6 @@ children = ( EB798DFC1DFEF79900F0628D /* Trie */, EB798E0E1DFEF79900F0628D /* TrieTests */, - EB798E191DFEF79900F0628D /* TrieUITests */, EB798DFB1DFEF79900F0628D /* Products */, ); indentWidth = 2; @@ -96,7 +77,6 @@ children = ( EB798DFA1DFEF79900F0628D /* Trie.app */, EB798E0B1DFEF79900F0628D /* TrieTests.xctest */, - EB798E161DFEF79900F0628D /* TrieUITests.xctest */, ); name = Products; sourceTree = ""; @@ -125,15 +105,6 @@ path = TrieTests; sourceTree = ""; }; - EB798E191DFEF79900F0628D /* TrieUITests */ = { - isa = PBXGroup; - children = ( - EB798E1A1DFEF79900F0628D /* TrieUITests.swift */, - EB798E1C1DFEF79900F0628D /* Info.plist */, - ); - path = TrieUITests; - sourceTree = ""; - }; /* End PBXGroup section */ /* Begin PBXNativeTarget section */ @@ -172,24 +143,6 @@ productReference = EB798E0B1DFEF79900F0628D /* TrieTests.xctest */; productType = "com.apple.product-type.bundle.unit-test"; }; - EB798E151DFEF79900F0628D /* TrieUITests */ = { - isa = PBXNativeTarget; - buildConfigurationList = EB798E251DFEF79900F0628D /* Build configuration list for PBXNativeTarget "TrieUITests" */; - buildPhases = ( - EB798E121DFEF79900F0628D /* Sources */, - EB798E131DFEF79900F0628D /* Frameworks */, - EB798E141DFEF79900F0628D /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - EB798E181DFEF79900F0628D /* PBXTargetDependency */, - ); - name = TrieUITests; - productName = TrieUITests; - productReference = EB798E161DFEF79900F0628D /* TrieUITests.xctest */; - productType = "com.apple.product-type.bundle.ui-testing"; - }; /* End PBXNativeTarget section */ /* Begin PBXProject section */ @@ -211,12 +164,6 @@ ProvisioningStyle = Automatic; TestTargetID = EB798DF91DFEF79900F0628D; }; - EB798E151DFEF79900F0628D = { - CreatedOnToolsVersion = 8.1; - LastSwiftMigration = 1000; - ProvisioningStyle = Automatic; - TestTargetID = EB798DF91DFEF79900F0628D; - }; }; }; buildConfigurationList = EB798DF51DFEF79900F0628D /* Build configuration list for PBXProject "Trie" */; @@ -224,6 +171,7 @@ developmentRegion = English; hasScannedForEncodings = 0; knownRegions = ( + English, en, Base, ); @@ -234,7 +182,6 @@ targets = ( EB798DF91DFEF79900F0628D /* Trie */, EB798E0A1DFEF79900F0628D /* TrieTests */, - EB798E151DFEF79900F0628D /* TrieUITests */, ); }; /* End PBXProject section */ @@ -258,13 +205,6 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - EB798E141DFEF79900F0628D /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; /* End PBXResourcesBuildPhase section */ /* Begin PBXSourcesBuildPhase section */ @@ -287,14 +227,6 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - EB798E121DFEF79900F0628D /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - EB798E1B1DFEF79900F0628D /* TrieUITests.swift in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; /* End PBXSourcesBuildPhase section */ /* Begin PBXTargetDependency section */ @@ -303,11 +235,6 @@ target = EB798DF91DFEF79900F0628D /* Trie */; targetProxy = EB798E0C1DFEF79900F0628D /* PBXContainerItemProxy */; }; - EB798E181DFEF79900F0628D /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = EB798DF91DFEF79900F0628D /* Trie */; - targetProxy = EB798E171DFEF79900F0628D /* PBXContainerItemProxy */; - }; /* End PBXTargetDependency section */ /* Begin PBXVariantGroup section */ @@ -486,34 +413,6 @@ }; name = Release; }; - EB798E261DFEF79900F0628D /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; - COMBINE_HIDPI_IMAGES = YES; - INFOPLIST_FILE = TrieUITests/Info.plist; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/../Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = edu.bucknell.zaccone.TrieUITests; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_VERSION = 4.2; - TEST_TARGET_NAME = Trie; - }; - name = Debug; - }; - EB798E271DFEF79900F0628D /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; - COMBINE_HIDPI_IMAGES = YES; - INFOPLIST_FILE = TrieUITests/Info.plist; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/../Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = edu.bucknell.zaccone.TrieUITests; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_VERSION = 4.2; - TEST_TARGET_NAME = Trie; - }; - name = Release; - }; /* End XCBuildConfiguration section */ /* Begin XCConfigurationList section */ @@ -544,15 +443,6 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - EB798E251DFEF79900F0628D /* Build configuration list for PBXNativeTarget "TrieUITests" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - EB798E261DFEF79900F0628D /* Debug */, - EB798E271DFEF79900F0628D /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; /* End XCConfigurationList section */ }; rootObject = EB798DF21DFEF79900F0628D /* Project object */; diff --git a/Trie/Trie/TrieUITests/Info.plist b/Trie/Trie/TrieUITests/Info.plist deleted file mode 100644 index 6c6c23c43..000000000 --- a/Trie/Trie/TrieUITests/Info.plist +++ /dev/null @@ -1,22 +0,0 @@ - - - - - CFBundleDevelopmentRegion - en - CFBundleExecutable - $(EXECUTABLE_NAME) - CFBundleIdentifier - $(PRODUCT_BUNDLE_IDENTIFIER) - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - $(PRODUCT_NAME) - CFBundlePackageType - BNDL - CFBundleShortVersionString - 1.0 - CFBundleVersion - 1 - - diff --git a/Trie/Trie/TrieUITests/TrieUITests.swift b/Trie/Trie/TrieUITests/TrieUITests.swift deleted file mode 100644 index 380bf3092..000000000 --- a/Trie/Trie/TrieUITests/TrieUITests.swift +++ /dev/null @@ -1,36 +0,0 @@ -// -// TrieUITests.swift -// TrieUITests -// -// Created by Rick Zaccone on 2016-12-12. -// Copyright © 2016 Rick Zaccone. All rights reserved. -// - -import XCTest - -class TrieUITests: XCTestCase { - - override func setUp() { - super.setUp() - - // Put setup code here. This method is called before the invocation of each test method in the class. - - // In UI tests it is usually best to stop immediately when a failure occurs. - continueAfterFailure = false - // UI tests must launch the application that they test. Doing this in setup will make sure it happens for each test method. - XCUIApplication().launch() - - // In UI tests it’s important to set the initial state - such as interface orientation - required for your tests before they run. The setUp method is a good place to do this. - } - - override func tearDown() { - // Put teardown code here. This method is called after the invocation of each test method in the class. - super.tearDown() - } - - func testExample() { - // Use recording to get started writing UI tests. - // Use XCTAssert and related functions to verify your tests produce the correct results. - } - -} From b78383a4135cadcf808c4c85cad1436596a4fabf Mon Sep 17 00:00:00 2001 From: Dmitrii Celpan Date: Thu, 8 Oct 2020 21:44:56 +0300 Subject: [PATCH 3/3] Convert project to Swift 5 --- Trie/Trie/Trie.xcodeproj/project.pbxproj | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/Trie/Trie/Trie.xcodeproj/project.pbxproj b/Trie/Trie/Trie.xcodeproj/project.pbxproj index 22d0c49a2..8ed147f8a 100644 --- a/Trie/Trie/Trie.xcodeproj/project.pbxproj +++ b/Trie/Trie/Trie.xcodeproj/project.pbxproj @@ -155,12 +155,12 @@ TargetAttributes = { EB798DF91DFEF79900F0628D = { CreatedOnToolsVersion = 8.1; - LastSwiftMigration = 1000; + LastSwiftMigration = 1200; ProvisioningStyle = Automatic; }; EB798E0A1DFEF79900F0628D = { CreatedOnToolsVersion = 8.1; - LastSwiftMigration = 1000; + LastSwiftMigration = 1200; ProvisioningStyle = Automatic; TestTargetID = EB798DF91DFEF79900F0628D; }; @@ -366,7 +366,7 @@ LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks"; PRODUCT_BUNDLE_IDENTIFIER = edu.bucknell.zaccone.Trie; PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_VERSION = 4.2; + SWIFT_VERSION = 5.0; }; name = Debug; }; @@ -379,7 +379,7 @@ LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks"; PRODUCT_BUNDLE_IDENTIFIER = edu.bucknell.zaccone.Trie; PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_VERSION = 4.2; + SWIFT_VERSION = 5.0; }; name = Release; }; @@ -393,7 +393,7 @@ LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/../Frameworks"; PRODUCT_BUNDLE_IDENTIFIER = edu.bucknell.zaccone.TrieTests; PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_VERSION = 4.2; + SWIFT_VERSION = 5.0; TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Trie.app/Contents/MacOS/Trie"; }; name = Debug; @@ -408,7 +408,7 @@ LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/../Frameworks"; PRODUCT_BUNDLE_IDENTIFIER = edu.bucknell.zaccone.TrieTests; PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_VERSION = 4.2; + SWIFT_VERSION = 5.0; TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Trie.app/Contents/MacOS/Trie"; }; name = Release;