1
0
mirror of https://github.com/nicoverbruggen/phpmon.git synced 2025-08-07 12:00:09 +02:00
Files
app/tests/feature/FeatureTestCase.swift
2023-01-19 18:09:42 +01:00

50 lines
1.2 KiB
Swift

//
// FeatureTestCase.swift
// Feature Tests
//
// Created by Nico Verbruggen on 07/11/2022.
// Copyright © 2023 Nico Verbruggen. All rights reserved.
//
import XCTest
class FeatureTestCase: XCTestCase {
var fakeFileSystem: TestableFileSystem {
let fs = ActiveFileSystem.shared
if fs is TestableFileSystem {
return fs as! TestableFileSystem
}
fatalError("The active filesystem is not a TestableFileSystem. Please use `ActiveFileSystem` to use the fake filesystem.")
}
public func assertFileSystemHas(
_ path: String,
file: StaticString = #filePath,
line: UInt = #line
) {
XCTAssertTrue(fakeFileSystem.files.keys.contains(path), file: file, line: line)
}
public func assertFileSystemDoesNotHave(
_ path: String,
file: StaticString = #filePath,
line: UInt = #line
) {
XCTAssertFalse(fakeFileSystem.files.keys.contains(path), file: file, line: line)
}
public func assertFileHasContents(
_ path: String,
contents: String,
file: StaticString = #filePath,
line: UInt = #line
) {
XCTAssertEqual(contents, fakeFileSystem.files[path]?.content, file: file, line: line)
}
}