o
    NiB                     @   sR   d Z ddlZddlmZ ddlmZ G dd dejjZ	e
dkr'ej  dS dS )zTests for movielens_parsing.    N)movielens_parsingc                   @   s@   e Zd ZdZdd Zdd Zdd Zdd	 Zd
d Zdd Z	dS )MovieLensUtilsTestz0Tests for helper functions in movielens_parsing.c                 C   s   t jtj dd}t|}ddddgddfd	d
ddgddfdddgddfddg dddfdddgddfddddgddfddd gd!dfd"d#ddgd$dfg}t|}| 	|| d%S )&z#Test for parse_current_movies_data.
movie_lensml-latest-smallr   1FantasyWarHorse Movie (2011)movie_idmovie_genresmovie_title   2	AdventureDocumentaryEagle Movie (1999)   3(no genres listed)Test Movie (2014)   4r   HorrorMusicalFake Movie (2007)   5MysterySquirrel Movie (2017)   6DramaTest Movie (2003)   7r   Rabbit Movie (1999)   8Tree Movie (2001)N)
ospathjointfdstestingfake_examples_dirr   parse_current_movies_datalistassertEqual)selflatest_small_pathmovies_generatorexpected_resultparsed_example_list r9   i/home/ubuntu/.local/lib/python3.10/site-packages/tensorflow_datasets/structured/movielens_parsing_test.pytest_parse_current_movies_data   sf   *z1MovieLensUtilsTest.test_parse_current_movies_datac                 C   s   t jtj dd}t|}dddgdddd	d
fddddgddddd
fdddgddddd
fddg dddddd
fdddgdddd d
fd!dd"d#gd$ddd%d
fd&dddgddd'd(d
fd)dg dddd*d+d
fg}t|}| 	|| d,S )-z$Test for parse_current_ratings_data.r   r   r   r   r   r    r   z2.5
1329800589)r   r   r   user_iduser_rating	timestampr   r   r   r   r   z1.5
1128006292r   r   r   r   z3.0
1029868117r   r   r   r   z0.5
1589647790r   z5.0
1553439546r!   r   r   r	   
1580974707r%   z2.0	820693640r(   z1.0
1496507328N)
r+   r,   r-   r.   r/   r0   r   parse_current_ratings_datar2   r3   r4   fake_dir_pathr6   r7   r8   r9   r9   r:   test_parse_current_ratings_dataR   s   Bz2MovieLensUtilsTest.test_parse_current_ratings_datac                 C   s   t jtj dd}t|}ddddgddfd	d
dgddfdddgddfddg dddfddddgddfddddgddfdd g d!d"dfd#d$d%gd&dfg}t|}| 	|| d'S )(z Test for parse_100k_movies_data.r   ml-100kr   r   UnknownChildrenFake Movie (1996)r
   r   r   WesternDog Movie (1994)r   r   r   Non-existent Movie (1995)r   r   r   	Film-Noirr   Owl Movie (1997)r   r   Crimer   Cat Movie (1998)r!   r"   r   Romancer$   r%   r&   )ActionComedyr   rW   r'   r(   r)   r   r*   N)
r+   r,   r-   r.   r/   r0   r   parse_100k_movies_datar2   r3   rH   r9   r9   r:   test_parse_100k_movies_data   sb   
*z.MovieLensUtilsTest.test_parse_100k_movies_datac                 C   sV  t jtj dd}t|}dddddgdddd	d
dddddfdddgddddd	d
dddddfddg dddddd	d
dddddfdddgdddddddd d!d"dfd#dddgddd$d%dd&d'd'd(d)dfd*d$d+d,gd-ddd.dd&d'd'd(d)dfd/dd0gd1ddd2d	d3d4d d5d6dfd7dg ddddd8d	d3d4d d5d6dfg}t|}| 	|| d9S ):z!Test for parse_100k_ratings_data.r   rK   r   r   rN   rL   rM   	867969113F2   
technicianztechnician/engineer102786   )r   r   r   r=   r>   r?   user_genderbucketized_user_ageuser_occupation_textuser_occupation_labeluser_zip_coderaw_user_ager   r   rO   rP   
1058848127)r   r   r   r=   r>   r?   ra   rb   rc   rd   re   rf   r   r   rR   rT   r   	997136856r   
1188937963Totherother/not specified34729   r   r   
1083844839   	librarian20112   r!   rU   r   rV   
1042582463r%   r   rQ   	803797344-   none09583/   r(   
1235956810N)
r+   r,   r-   r.   r/   r0   r   parse_100k_ratings_datar2   r3   rH   r9   r9   r:   test_parse_100k_ratings_data   s   
rz/MovieLensUtilsTest.test_parse_100k_ratings_datac                 C   s   t jtj dd}t|}ddddgddfd	d
g dddfdddgddfddg dddfddddgddfddddgddfdd d!gd"dfd#d$d%dgd&dfg}t|}| 	|| d'S )(zTest for parse_1m_movies_data.r   ml-1mr   r   r   rM   Fake Movie (2005)r
   r   r   rU   zSci-FirO   rP   r   r   rS   Non-existent Movie (2003)r   r   rY   r#   rW   Owl Movie (2018)r   r   rY   rW   Cat Movie (2018)r!   r"   r#   r   r$   r%   r&   r   r'   r(   r)   r   r*   N)
r+   r,   r-   r.   r/   r0   r   parse_1m_movies_datar2   r3   rH   r9   r9   r:   test_parse_1m_movies_dataR  sb   
*z,MovieLensUtilsTest.test_parse_1m_movies_datac                 C   sJ  t jtj dd}t|}ddddgddddd	d
ddddfddg dddddd	d
ddddfddg dddddd	d
ddddfddg dddddddddddfd dddgddd!d"ddd#d#d$dfd%d!d&d'gd(ddd)ddd#d#d$dfd*dd+gd,ddd-d	d.d/d/d0dfd1dg ddddd2d	d.d/d/d0dfg}t|}| 	|| d3S )4zTest for parse_1m_ratings_data.r   r|   r   r   r   rM   r}   r\   F50retiredr_   )r   r   r   r=   r>   r?   ra   rb   rc   rd   re   r   r   r~   rP   rg   r   r   r   r   r   rh   r   ri   T18zcollege/grad studentstudentrl   r   r   rn   	scientistrq   r!   rY   rW   r   rs   r%   rS   r   rt   56rk   rw   r(   ry   N)
r+   r,   r-   r.   r/   r0   r   parse_1m_ratings_datar2   r3   rH   r9   r9   r:   test_parse_1m_ratings_data  s   
jz-MovieLensUtilsTest.test_parse_1m_ratings_dataN)
__name__
__module____qualname____doc__r;   rJ   r[   r{   r   r   r9   r9   r9   r:   r      s    7N5}5r   __main__)r   r+   tensorflow_datasets.public_api
public_apir.   tensorflow_datasets.structuredr   r/   TestCaser   r   	test_mainr9   r9   r9   r:   <module>   s      h