def METHOD_NAME(PredictorClass, transition_model,
                prior_mean, prior_covar):
    # Define time related variables
    timestamp = datetime.datetime.now()
    timediff = 2  # 2sec
    new_timestamp = timestamp + datetime.timedelta(seconds=timediff)
    time_interval = new_timestamp - timestamp
    # Define prior state
    prior = GaussianState(prior_mean,
                          prior_covar,
                          timestamp=timestamp)
    transition_model_matrix = transition_model.matrix(time_interval=time_interval)
    transition_model_covar = transition_model.covar(time_interval=time_interval)
    # Calculate evaluation variables
    eval_prediction = GaussianStatePrediction(
        transition_model_matrix @ prior.mean,
        transition_model_matrix@prior.covar@transition_model_matrix.T + transition_model_covar)
    # Initialise a kalman predictor
    predictor = PredictorClass(transition_model=transition_model)
    # Perform and assert state prediction
    prediction = predictor.predict(prior=prior,
                                   timestamp=new_timestamp)
    # Assert presence of transition model
    assert hasattr(prediction, 'transition_model')
    assert np.allclose(prediction.mean,
                       eval_prediction.mean, 0, atol=1.e-14)
    assert np.allclose(prediction.covar,
                       eval_prediction.covar, 0, atol=1.e-14)
    assert prediction.timestamp == new_timestamp
    # TODO: Test with Control Model