U
    L?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(t| | df}t|}t|tttfrXt|dks\tt|d tsntt|d t	st| | | ddfdddddf}t|}t|tttfrt|dkstt|d tstt|d tstt|d t
stt|d	 t	stt|d
 trHt|d
 d trHt|d
 d tsLt| | |ddfdf| d | ddfdff}t|}t|tttfrt|dkstt|d tstt|d d tstt|d d d t	stt|d d t
s tt|d tstt|d d ts,tt|d d d t	sHtt|d d t
s`ttd}d|j |j }td}d|j |j }||f}t|}t|tttfrt|dkstt|tstt|tstd S )Nx, y      r   strg       @)r   r            az$f_{1}$RC)r   r   AssertionError
isinstancelisttupler   lenr   r   r   dictintfloatr   xyr   ij
MechVectorr   )r#   r$   argsrr   Zv1r   Zv2 r*   Q/var/www/html/venv/lib/python3.8/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:tt| d ttfsPt| d  ddfksftt hg d} t| tttfrt| dkstt| d ttfstt| d ttfst| d  ddfksddfst| d ddfks ddfst| d | d kstt h ddfgd} t| tttfrTt| dksXtt| d ttfsptt| d ttfst| d  ddfksddfst| d ddfksЈ ddfst| d | d kst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+   r0   `   r1   )
r   r   r   r   r   r   r   r   r   
ValueError)r)   r*   r/   r+   test_create_ranges>   s4       $$$$r3   c                  C   sx   t d} ttd|  }|ts&tt|}t|dks>tt|t	sLtt|d}t|dksftt|t	sttd S )Nr#   r-      (   )
r   r   r   hasr
   r   r   r   r   r	   )r#   Zsolresr*   r*   r+   test_extract_solutionc   s    
r8   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,   r3   r8   r*   r*   r*   r+   <module>   s   (4%