o
    oh                     @   s   d dl mZ d dlmZmZmZmZmZmZm	Z	m
Z
 d dlmZmZmZ d dlmZmZ d dlmZmZ dd Zdd	 Zd
d ZdS )    )raises)symbolsExprTupleIntegercossolveset	FiniteSetImageSet)_create_ranges_plot_sympifyextract_solution)ReferenceFrameVector)
CoordSys3Dr   c                  C   s  t d\} }| | }t|}||ksJ | | df}t|}t|tttfr,t|dks.J t|d ts7J t|d ts@J | | | ddfdddddf}t|}t|tttfrat|dkscJ t|d tslJ t|d tsuJ t|d t	s~J t|d	 tsJ t|d
 t
rt|d
 d trt|d
 d tsJ | | |ddfdf| d | ddfdff}t|}t|tttfrt|dksJ t|d tsJ t|d d tsJ t|d d d tsJ t|d d t	sJ t|d tsJ t|d d tsJ t|d d d tsJ t|d d t	s%J td}d|j |j }td}d|j |j }||f}t|}t|tttfrUt|dksWJ t|ts_J t|tsgJ d S )Nx, y      r   strg       @)r   r            az$f_{1}$RC)r   r   
isinstancelisttupler   lenr   r   r   dictintfloatr   xyr   ij
MechVectorr   )r"   r#   argsrr   v1r   v2 r+   s/var/www/html/construction_image-detection-poc/venv/lib/python3.10/site-packages/sympy/plotting/tests/test_utils.pytest_plot_sympify
   sJ     6( $r-   c                     s  t d\ t hg d} t| tttfrt| dksJ t| d ttfs(J | d  ddfks3J t hg d} t| tttfrIt| dksKJ t| d ttfsVJ t| d ttfsaJ | d  ddfksqddfsqJ | d ddfks ddfsJ | d | d ksJ t h ddfgd} t| tttfrt| dksJ t| d ttfsJ t| d ttfsJ | d  ddfks͈ddfsJ | d ddfks݈ ddfsJ | d | d ksJ tt fdd tt fd	d d S )
Nr   r   r   i
   r   c                      s   t  hg dS )Nr   r   r+   r"   r#   r+   r,   <lambda>_   s    z$test_create_ranges.<locals>.<lambda>c                      s    t  h ddfddfgdS )Nr   r   r   r/   r+   r0   r+   r,   r1   `   s     )	r   r   r   r   r   r   r   r   
ValueError)r(   r+   r0   r,   test_create_ranges>   s4          r3   c                  C   sx   t d} ttd|  }|tsJ t|}t|dksJ t|ts&J t|d}t|dks3J t|ts:J d S )Nr"   r.      (   )	r   r   r   hasr
   r   r   r   r	   )r"   solresr+   r+   r,   test_extract_solutionc   s   
r9   N)pytestr   sympyr   r   r   r   r   r   r	   r
   sympy.plotting.utilsr   r   r   sympy.physics.mechanicsr   r   r&   sympy.vectorr   r-   r3   r9   r+   r+   r+   r,   <module>   s    (4%