### Summary

At sanity check, if the choices option for a parameter is defined to be the same length as the choices in the document, and the choices for the parameter are repeated. 'ansible-test sanity --test validate-modules ****.py" Can't be checked, It will pass!
sample as:
```e.g.
docuemnt define as: 
caching:
     description:
         - Type of ***** caching.
    type: str
    choices:
        - ReadOnly
        - ReadWrite
argument define as: caching=dict(type='str', choices=['ReadOnly', 'ReadOnly'])

### Issue Type

Bug Report

### Component Name

ansible-test

### Ansible Version

```console
$ ansible --version
ansible [core 2.13.2]
  config file = /etc/ansible/ansible.cfg
  configured module search path = ['/home/fred/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
  ansible python module location = /usr/local/lib/python3.8/dist-packages/ansible
  ansible collection location = /home/fred/.ansible/collections:/usr/share/ansible/collections
  executable location = /usr/local/bin/ansible
  python version = 3.8.10 (default, Mar 15 2022, 12:22:08) [GCC 9.4.0]
  jinja version = 3.1.2
  libyaml = True
```


### Configuration

```console
# if using a version older than ansible-core 2.12 you should omit the '-t all'
$ ansible-config dump --only-changed -t all
null
```


### OS / Environment

Ubuntu

### Steps to Reproduce

<!--- Paste example playbooks or commands between quotes below -->
```yaml (paste below)
ansible-test sanity --test validate-modules ***.py
```


### Expected Results

Can't pass! 

### Actual Results

```console
Check pass!
```


### Code of Conduct

- [X] I agree to follow the Ansible Code of Conduct
"""Uses AST to find globals in an ast tree"""
    for child in tree:
        if hasattr(child, 'body') and isinstance(child.body, list):
            find_globals(g, child.body)
        elif isinstance(child, (ast.FunctionDef, ast.ClassDef)):
            g.add(child.name)
            continue
        elif isinstance(child, ast.Assign):
            try:
                g.add(child.targets[0].id)
            except (IndexError, AttributeError):
                pass
        elif isinstance(child, ast.Import):
            g.add(child.names[0].name)
        elif isinstance(child, ast.ImportFrom):
            for name in child.names:
                g_name = name.asname or name.name
                if g_name == '*':
                    continue
                g.add(g_name)
class CaptureStd():
    """Context manager to handle capturing stderr and stdout"""
    def __enter__(self):
        self.sys_stdout = sys.stdout
        self.sys_stderr = sys.stderr
        sys.stdout = self.stdout = AnsibleTextIOWrapper(BytesIO(), encoding=self.sys_stdout.encoding)
        sys.stderr = self.stderr = AnsibleTextIOWrapper(BytesIO(), encoding=self.sys_stderr.encoding)
        return self
    def __exit__(self, exc_type, exc_value, traceback):