StringEditDistanceTests.swift 1.2 KB

123456789101112131415161718192021222324252627282930313233
  1. //===----------------------------------------------------------------------===//
  2. //
  3. // This source file is part of the Swift Argument Parser open source project
  4. //
  5. // Copyright (c) 2020 Apple Inc. and the Swift project authors
  6. // Licensed under Apache License v2.0 with Runtime Library Exception
  7. //
  8. // See https://swift.org/LICENSE.txt for license information
  9. //
  10. //===----------------------------------------------------------------------===//
  11. import XCTest
  12. @testable import ArgumentParser
  13. final class StringEditDistanceTests: XCTestCase {}
  14. extension StringEditDistanceTests {
  15. func testStringEditDistance() {
  16. XCTAssertEqual("".editDistance(to: ""), 0)
  17. XCTAssertEqual("".editDistance(to: "foo"), 3)
  18. XCTAssertEqual("foo".editDistance(to: ""), 3)
  19. XCTAssertEqual("foo".editDistance(to: "bar"), 3)
  20. XCTAssertEqual("bar".editDistance(to: "foo"), 3)
  21. XCTAssertEqual("bar".editDistance(to: "baz"), 1)
  22. XCTAssertEqual("baz".editDistance(to: "bar"), 1)
  23. XCTAssertEqual("friend".editDistance(to: "fresh"), 3)
  24. XCTAssertEqual("friend".editDistance(to: "friend"), 0)
  25. XCTAssertEqual("friend".editDistance(to: "fried"), 1)
  26. XCTAssertEqual("friend".editDistance(to: "friendly"), 2)
  27. XCTAssertEqual("friendly".editDistance(to: "friend"), 2)
  28. }
  29. }