a
    kh                     @   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rXt|dks\J t|d tsnJ t|d tsJ | | | ddfdddddf}t|}t|tttfrt|dksJ t|d tsJ t|d tsJ t|d t	sJ t|d	 tsJ t|d
 t
rHt|d
 d trHt|d
 d tsLJ | | |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	s J t|d tsJ t|d d ts,J t|d d d tsHJ t|d d t	s`J td}d|j |j }td}d|j |j }||f}t|}t|tttfrt|dksJ t|tsJ t|tsJ 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   Zv1r   Zv2 r)   M/var/www/auris/lib/python3.9/site-packages/sympy/plotting/tests/test_utils.pytest_plot_sympify
   sJ      <($$r+   c                     s  t d\ t hg d} t| tttfr6t| dks:J t| d ttfsPJ | d  ddfksfJ t h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sJ | d | d ksJ t h ddfgd} t| tttfrTt| dksXJ t| d ttfspJ 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>_       z$test_create_ranges.<locals>.<lambda>c                      s    t  h ddfddfgdS )Nr   r   r   r-   r)   r.   r)   r*   r/   `   r0   )	r   r   r   r   r   r   r   r   
ValueError)r(   r)   r.   r*   test_create_ranges>   s4       $$$$r2   c                  C   sx   t d} ttd|  }|ts&J t|}t|dks>J t|tsLJ t|d}t|dksfJ t|tstJ d S )Nr"   r,      (   )	r   r   r   Zhasr
   r   r   r   r	   )r"   Zsolresr)   r)   r*   test_extract_solutionc   s    
r6   N)Zpytestr   Zsympyr   r   r   r   r   r   r	   r
   Zsympy.plotting.utilsr   r   r   Zsympy.physics.mechanicsr   r   r&   Zsympy.vectorr   r+   r2   r6   r)   r)   r)   r*   <module>   s   (4%