def METHOD_NAME(inputs, expected_proto, name, version):
    model_predict_request = make_predict_request(inputs, name, version)
    raw_predict_request = model_predict_request.raw_request
    assert isinstance(model_predict_request, GrpcPredictRequest)
    assert model_predict_request.model_name == name
    assert model_predict_request.model_version == version
    assert model_predict_request.inputs == inputs
    assert isinstance(raw_predict_request, PredictRequest)
    assert raw_predict_request.model_spec.name == name
    assert raw_predict_request.model_spec.version.value == version
    assert len(inputs.keys()) == len(list(raw_predict_request.inputs.keys()))
    for key, value in inputs.items():
        assert isinstance(raw_predict_request.inputs[key], TensorProto)
        if isinstance(value, TensorProto):
            assert value == raw_predict_request.inputs[key]
        else:
            assert (raw_predict_request.inputs[key].__getattribute__(expected_proto[key]['field'])
                    == expected_proto[key]['value'])
            assert raw_predict_request.inputs[key].tensor_shape == expected_proto[key]['shape']
            assert raw_predict_request.inputs[key].dtype == expected_proto[key]['dtype']