 import XCTest
 import Nimble
 
-protocol InstanceOfTestProtocol {}
-class InstanceOfTestClassConformingToProtocol: InstanceOfTestProtocol{}
-struct InstanceOfTestStructConformingToProtocol: InstanceOfTestProtocol{}
+fileprivate protocol TestProtocol {}
+fileprivate class TestClassConformingToProtocol: TestProtocol{}
+fileprivate struct TestStructConformingToProtocol: TestProtocol{}
 
 final class BeAnInstanceOfTest: XCTestCase, XCTestCaseProvider {
     static var allTests: [(String, (BeAnInstanceOfTest) -> () throws -> Void)] {

            expect(1).toNot(beAnInstanceOf(Int.self))
        }

        let testClass = InstanceOfTestClassConformingToProtocol()
        failsWithErrorMessage("expected to be an instance of InstanceOfTestProtocol, got <InstanceOfTestClassConformingToProtocol instance>") {
            expect(testClass).to(beAnInstanceOf(InstanceOfTestProtocol.self))
        }

        failsWithErrorMessage("expected to be an instance of String, got <Int instance>") {


        expect(TestEnum.one).to(beAnInstanceOf(TestEnum.self))

        let testProtocolClass = TestClassConformingToProtocol()
        expect(testProtocolClass).to(beAnInstanceOf(TestClassConformingToProtocol.self))
        expect(testProtocolClass).toNot(beAnInstanceOf(TestProtocol.self))
        expect(testProtocolClass).toNot(beAnInstanceOf(TestStructConformingToProtocol.self))

        let testProtocolStruct = TestStructConformingToProtocol()
        expect(testProtocolStruct).to(beAnInstanceOf(TestStructConformingToProtocol.self))
        expect(testProtocolStruct).toNot(beAnInstanceOf(TestProtocol.self))
        expect(testProtocolStruct).toNot(beAnInstanceOf(TestClassConformingToProtocol.self))
    }

    func testFailureMessages() {
