def test_extract_to_list_return_np_ndarray():
    image = np.zeros((300, 300, 3))
    extract = Extract()
    list_of_faces = extract.extract_face_to_list(image)

    if type(list_of_faces[0]) is str:
        assert isinstance(list_of_faces[0], str)
    else:
        assert isinstance(list_of_faces[0], np.ndarray)
class BigGiant:
    def __init__(self, pkl_path, model_path):
        self.pkl_path = pkl_path
        self.model_path = model_path
        self.predict = Predict(self.pkl_path, self.model_path)
        self.extract = Extract()
        self.mtcnn = MTCNN()

    def extract_face_to_list(self, image):
        list_of_faces = self.extract.extract_face_to_list(image)
        return list_of_faces

    def predict_face(self, face):
        data = self.predict.predict_face(face)
        return data

    def read_image(self, image_path):
        image = self.extract.read_image(image_path)
        return image

    def aggregate_face_data(self, data, image_url):
        pass