<commit_before>//
//  Medium_079_Word_Search_Test.swift
//  Solutions
//
//  Created by <NAME> on 8/13/15.
//  Copyright © 2015 diwu. All rights reserved.
//

import XCTest

class Medium_079_Word_Search_Test: XCTestCase, SolutionsTestCase {
    func test_001() {
        let input0: [[Character]] = [
            Array("ABCE".characters),
            Array("SFCS".characters),
            Array("ADEE".characters),
        ]
        let input1: String = "ABCCED"
        let expected: Bool = true
        asyncHelper(input0: input0, input1: input1, expected: expected)
    }
    func test_002() {
        let input0: [[Character]] = [
            Array("ABCE".characters),
            Array("SFCS".characters),
            Array("ADEE".characters),
        ]
        let input1: String = "SEE"
        let expected: Bool = true
        asyncHelper(input0: input0, input1: input1, expected: expected)
    }
    func test_003() {
        let input0: [[Character]] = [
            Array("ABCE".characters),
            Array("SFCS".characters),
            Array("ADEE".characters),
        ]
        let input1: String = "ABCB"
        let expected: Bool = false
        asyncHelper(input0: input0, input1: input1, expected: expected)
    }
    private func asyncHelper(input0: [[Character]], input1: String, expected: Bool) {
        weak var expectation: XCTestExpectation? = self.expectation(description:timeOutName())
        serialQueue().async(execute: { () -> Void in
            let result = Medium_079_Word_Search.exist(input0, word: input1)
            assertHelper(result == expected, problemName:self.problemName(), input: input1, resultValue: result, expectedValue: expected)
            if let unwrapped = expectation {
                unwrapped.fulfill()
            }
        })
        waitForExpectations(timeout:timeOut()) { (error: Error?) -> Void in
            if error != nil {
                assertHelper(false, problemName:self.problemName(), input: input1, resultValue:self.timeOutName(), expectedValue: expected)
            }
        }
    }
}
<commit_msg>3 more test cases for 079.<commit_after>//
//  Medium_079_Word_Search_Test.swift
//  Solutions
//
//  Created by <NAME> on 8/13/15.
//  Copyright © 2015 diwu. All rights reserved.
//

import XCTest

class Medium_079_Word_Search_Test: XCTestCase, SolutionsTestCase {
    func test_001() {
        let input0: [[Character]] = [
            Array("ABCE".characters),
            Array("SFCS".characters),
            Array("ADEE".characters),
        ]
        let input1: String = "ABCCED"
        let expected: Bool = true
        asyncHelper(input0: input0, input1: input1, expected: expected)
    }
    func test_002() {
        let input0: [[Character]] = [
            Array("ABCE".characters),
            Array("SFCS".characters),
            Array("ADEE".characters),
        ]
        let input1: String = "SEE"
        let expected: Bool = true
        asyncHelper(input0: input0, input1: input1, expected: expected)
    }
    func test_003() {
        let input0: [[Character]] = [
            Array("ABCE".characters),
            Array("SFCS".characters),
            Array("ADEE".characters),
        ]
        let input1: String = "ABCB"
        let expected: Bool = false
        asyncHelper(input0: input0, input1: input1, expected: expected)
    }
    func test_004() {
        let input0: [[Character]] = [
            Array("ABCE".characters),
            Array("SFCS".characters),
            Array("ADEE".characters),
            ]
        let input1: String = "SCD"
        let expected: Bool = false
        asyncHelper(input0: input0, input1: input1, expected: expected)
    }
    func test_005() {
        let input0: [[Character]] = [
            Array("A".characters),
            Array("S".characters),
            Array("A".characters),
            ]
        let input1: String = "ASA"
        let expected: Bool = true
        asyncHelper(input0: input0, input1: input1, expected: expected)
    }
    func test_006() {
        let input0: [[Character]] = [
            Array("ABCE".characters),
            ]
        let input1: String = "BC"
        let expected: Bool = true
        asyncHelper(input0: input0, input1: input1, expected: expected)
    }
    private func asyncHelper(input0: [[Character]], input1: String, expected: Bool) {
        weak var expectation: XCTestExpectation? = self.expectation(description:timeOutName())
        serialQueue().async(execute: { () -> Void in
            let result = Medium_079_Word_Search.exist(input0, word: input1)
            assertHelper(result == expected, problemName:self.problemName(), input: input1, resultValue: result, expectedValue: expected)
            if let unwrapped = expectation {
                unwrapped.fulfill()
            }
        })
        waitForExpectations(timeout:timeOut()) { (error: Error?) -> Void in
            if error != nil {
                assertHelper(false, problemName:self.problemName(), input: input1, resultValue:self.timeOutName(), expectedValue: expected)
            }
        }
    }
}

{'fraction_non_alphanumeric': 0.12237693665424593, 'fraction_numerical': 0.026083545793292803, 'mean_word_length': 2.1815346225826575, 'pattern_counts': {'":': 0, '<': 5, '<?xml version=': 0, '>': 9, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '3227588', 'n_tokens_mistral': 1542, 'n_tokens_neox': 1448, 'n_words': 343}