def METHOD_NAME(graph, splitted_idx, model, evaluator):
    model.eval()
    with torch.no_grad():
        logits = model(graph)
    labels = graph.ndata["labels"].cpu().numpy()
    preds = logits.cpu().detach().numpy()
    train_score = evaluator.eval(
        {
            "y_true": labels[splitted_idx["train"]],
            "y_pred": preds[splitted_idx["train"]],
        }
    )
    val_score = evaluator.eval(
        {
            "y_true": labels[splitted_idx["valid"]],
            "y_pred": preds[splitted_idx["valid"]],
        }
    )
    test_score = evaluator.eval(
        {
            "y_true": labels[splitted_idx["test"]],
            "y_pred": preds[splitted_idx["test"]],
        }
    )
    return train_score["rocauc"], val_score["rocauc"], test_score["rocauc"]