forked from nicklockwood/ShapeScript
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathStringMatchingTests.swift
More file actions
31 lines (27 loc) · 1011 Bytes
/
StringMatchingTests.swift
File metadata and controls
31 lines (27 loc) · 1011 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
//
// StringMatchingTests.swift
// ShapeScriptTests
//
// Created by Nick Lockwood on 16/04/2022.
// Copyright © 2022 Nick Lockwood. All rights reserved.
//
@testable import ShapeScript
import XCTest
final class StringMatchingTests: XCTestCase {
// MARK: Edit distance
func testEditDistance() {
XCTAssertEqual("foo".editDistance(from: "fob"), 1)
XCTAssertEqual("foo".editDistance(from: "boo"), 1)
XCTAssertEqual("foo".editDistance(from: "bar"), 3)
XCTAssertEqual("aba".editDistance(from: "bbb"), 2)
XCTAssertEqual("foob".editDistance(from: "foo"), 1)
XCTAssertEqual("foo".editDistance(from: "foob"), 1)
XCTAssertEqual("foo".editDistance(from: "Foo"), 1)
XCTAssertEqual("FOO".editDistance(from: "foo"), 3)
}
func testEditDistanceWithEmptyStrings() {
XCTAssertEqual("foo".editDistance(from: ""), 3)
XCTAssertEqual("".editDistance(from: "foo"), 3)
XCTAssertEqual("".editDistance(from: ""), 0)
}
}