     struct UnserializableComponent: Component {
         
     }
+
+    final class UnserializableSubspace: Subspace {
+
+    }
     
     class Provider: BasicSerializationTypeProvider {
         var serializableTypes: [Serializable.Type] = [

        XCTAssertEqual(space.entities[0].id, 1)
        XCTAssertEqual(space.entities[0].type, 2)
        XCTAssertEqual(space.entities[0].component(ofType: SerializableComponent.self)?.field, 20)
    }
    
    // MARK: Presets

        } catch {
            XCTAssert(error is SerializationError)
        }
    }

    func testCanSerializeEntity() {
        let entity = Entity()

        XCTAssertTrue(GameSerializer.canSerialize(entity))
    }

    func testCanSerializeEntityChecksComponents() {
        let entity = Entity(components: [SerializableComponent(field: 1)])

        XCTAssertTrue(GameSerializer.canSerialize(entity))
    }

    func testCanSerializeEntityFailsOnNonSerializableComponent() {
        let entity = Entity(components: [UnserializableComponent()])

        XCTAssertFalse(GameSerializer.canSerialize(entity))
    }
    
    // MARK: Space
