def METHOD_NAME(
    class_: MockObjClass = _UNDEF,
    *,
    entity_category: str = _UNDEF,
    icon: str = _UNDEF,
):
    schema = cv.Schema({})
    if class_ is not _UNDEF:
        schema = schema.extend({cv.GenerateID(): cv.declare_id(class_)})
    if entity_category is not _UNDEF:
        schema = schema.extend(
            {
                cv.Optional(
                    CONF_ENTITY_CATEGORY, default=entity_category
                ): cv.entity_category
            }
        )
    if icon is not _UNDEF:
        schema = schema.extend({cv.Optional(CONF_ICON, default=icon): cv.icon})
    return SELECT_SCHEMA.extend(schema)