<commit_before>import XCTest
@testable import Venice

public class TickerTests : XCTestCase {
    func testTicker() {
        let tickerPeriod = 50.milliseconds
        let ticker = Ticker(period: tickerPeriod)
        co {
            var last: Double = ticker.channel.receive()!
            for time in ticker.channel {
                XCTAssertEqualWithAccuracy(time - last, tickerPeriod, accuracy: 1)
                last = time
            }
        }
        nap(for: 300.milliseconds)
        ticker.stop()
        nap(for: 20.milliseconds)
    }
}

extension TickerTests {
    public static var allTests: [(String, (TickerTests) -> () throws -> Void)] {
        return [
            ("testTicker", testTicker),
        ]
    }
}
<commit_msg>Add Websocket, WebSocketClient, WebSocketServer (#181)<commit_after>import XCTest
@testable import Venice

public class TickerTests : XCTestCase {
    func testTicker() {
        let tickerPeriod = 50.milliseconds
        let ticker = Ticker(period: tickerPeriod)
        co {
            var last = ticker.channel.receive()!
            for time in ticker.channel {
                XCTAssertEqualWithAccuracy(time - last, tickerPeriod, accuracy: tickerPeriod)
                last = time
            }
        }
        nap(for: 300.milliseconds)
        ticker.stop()
        nap(for: 20.milliseconds)
    }
}

extension TickerTests {
    public static var allTests: [(String, (TickerTests) -> () throws -> Void)] {
        return [
            ("testTicker", testTicker),
        ]
    }
}

{'fraction_non_alphanumeric': 0.09727626459143969, 'fraction_numerical': 0.011673151750972763, 'mean_word_length': 2.001945525291829, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 7, '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': '7047276', 'n_tokens_mistral': 477, 'n_tokens_neox': 443, 'n_words': 107}