]> git.sesse.net Git - vlc/blob - bindings/java/core/src/test/java/org/videolan/jvlc/internal/MediaListTest.java
b40aceac84c09d1ea41e8f524221a9882562e182
[vlc] / bindings / java / core / src / test / java / org / videolan / jvlc / internal / MediaListTest.java
1 /*****************************************************************************
2  * MediaListTest.java: VLC Java Bindings
3  *****************************************************************************
4  * Copyright (C) 1998-2008 the VideoLAN team
5  *
6  * Authors: Filippo Carone <filippo@carone.org>
7  *
8  *
9  * $Id $
10  *
11  * This program is free software; you can redistribute it and/or modify
12  * it under the terms of the GNU General Public License as published by
13  * the Free Software Foundation; either version 2 of the License, or
14  * (at your option) any later version.
15  *
16  * This program is distributed in the hope that it will be useful,
17  * but WITHOUT ANY WARRANTY; without even the implied warranty of
18  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
19  * GNU General Public License for more details.
20  *
21  * You should have received a copy of the GNU General Public License
22  * along with this program; if not, write to the Free Software
23  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111, USA.
24  *****************************************************************************/
25
26 package org.videolan.jvlc.internal;
27
28 import junit.framework.Assert;
29
30 import org.junit.After;
31 import org.junit.Before;
32 import org.junit.Test;
33 import org.videolan.jvlc.internal.LibVlc.LibVlcInstance;
34 import org.videolan.jvlc.internal.LibVlc.LibVlcMediaDescriptor;
35 import org.videolan.jvlc.internal.LibVlc.LibVlcMediaList;
36 import org.videolan.jvlc.internal.LibVlc.libvlc_exception_t;
37
38
39 public class MediaListTest
40 {
41
42     private LibVlc libvlc = LibVlc.SYNC_INSTANCE;
43
44     private LibVlcInstance libvlcInstance;
45
46     @Before
47     public void testSetup()
48     {
49         libvlc_exception_t exception = new libvlc_exception_t();
50         libvlcInstance = libvlc.libvlc_new(0, new String[]{"-I","dummy","--aout=dummy","--vout=dummy"}, exception);
51     }
52
53     @After
54     public void tearDown()
55     {
56         libvlc.libvlc_release(libvlcInstance);
57     }
58
59     @Test
60     public void mediaListNew()
61     {
62         libvlc_exception_t exception = new libvlc_exception_t();
63         LibVlcMediaList mediaList = libvlc.libvlc_media_list_new(libvlcInstance, exception);
64         Assert.assertNotNull(mediaList);
65         Assert.assertEquals(0, exception.raised);
66     }
67
68     @Test
69     public void mediaListAddMediaDescriptor()
70     {
71         libvlc_exception_t exception = new libvlc_exception_t();
72         LibVlcMediaList mediaList = libvlc.libvlc_media_list_new(libvlcInstance, exception);
73         String mrl = this.getClass().getResource("/raffa_voice.ogg").getPath();
74         LibVlcMediaDescriptor libvlc_media = libvlc.libvlc_media_new(
75             libvlcInstance,
76             mrl,
77             exception);
78         libvlc.libvlc_media_list_add_media(mediaList, libvlc_media, exception);
79         Assert.assertEquals(0, exception.raised);
80     }
81
82     @Test
83     public void mediaListCountTest()
84     {
85         libvlc_exception_t exception = new libvlc_exception_t();
86         LibVlcMediaList mediaList = libvlc.libvlc_media_list_new(libvlcInstance, exception);
87         String mrl = this.getClass().getResource("/raffa_voice.ogg").getPath();
88         LibVlcMediaDescriptor libvlc_media = libvlc.libvlc_media_new(
89             libvlcInstance,
90             mrl,
91             exception);
92         libvlc.libvlc_media_list_add_media(mediaList, libvlc_media, exception);
93         int result = libvlc.libvlc_media_list_count(mediaList, exception);
94         Assert.assertEquals(1, result);
95         Assert.assertEquals(0, exception.raised);
96
97         libvlc.libvlc_media_list_add_media(mediaList, libvlc_media, exception);
98         result = libvlc.libvlc_media_list_count(mediaList, exception);
99         Assert.assertEquals(2, result);
100         Assert.assertEquals(0, exception.raised);
101     }
102
103     @Test
104     public void mediaListEventManagerTest()
105     {
106         libvlc_exception_t exception = new libvlc_exception_t();
107         LibVlcMediaList mediaList = libvlc.libvlc_media_list_new(libvlcInstance, exception);
108         Assert.assertNotNull(libvlc.libvlc_media_list_event_manager(mediaList, exception));
109         Assert.assertEquals(0, exception.raised);
110     }
111
112     @Test
113     public void mediaListIndexOfItemTest()
114     {
115         libvlc_exception_t exception = new libvlc_exception_t();
116         LibVlcMediaList mediaList = libvlc.libvlc_media_list_new(libvlcInstance, exception);
117         String mrl = this.getClass().getResource("/raffa_voice.ogg").getPath();
118         LibVlcMediaDescriptor libvlc_media = libvlc.libvlc_media_new(
119             libvlcInstance,
120             mrl,
121             exception);
122         libvlc.libvlc_media_list_add_media(mediaList, libvlc_media, exception);
123         int index = libvlc.libvlc_media_list_index_of_item(mediaList, libvlc_media, exception);
124         Assert.assertEquals(0, index);
125         Assert.assertEquals(0, exception.raised);
126     }
127
128     @Test
129     public void mediaListRemoveIndexTest()
130     {
131         libvlc_exception_t exception = new libvlc_exception_t();
132         LibVlcMediaList mediaList = libvlc.libvlc_media_list_new(libvlcInstance, exception);
133         String mrl = this.getClass().getResource("/raffa_voice.ogg").getPath();
134         LibVlcMediaDescriptor libvlc_media = libvlc.libvlc_media_new(
135             libvlcInstance,
136             mrl,
137             exception);
138         libvlc.libvlc_media_list_add_media(mediaList, libvlc_media, exception);
139         libvlc.libvlc_media_list_remove_index(mediaList, 0, exception);
140         Assert.assertEquals(0, exception.raised);
141     }
142
143     @Test
144     public void mediaListRemoveIndexTest2()
145     {
146         libvlc_exception_t exception = new libvlc_exception_t();
147         LibVlcMediaList mediaList = libvlc.libvlc_media_list_new(libvlcInstance, exception);
148         String mrl = this.getClass().getResource("/raffa_voice.ogg").getPath();
149         LibVlcMediaDescriptor libvlc_media = libvlc.libvlc_media_new(
150             libvlcInstance,
151             mrl,
152             exception);
153         libvlc.libvlc_media_list_add_media(mediaList, libvlc_media, exception);
154         libvlc.libvlc_media_list_remove_index(mediaList, 0, exception);
155         Assert.assertEquals(0, exception.raised);
156
157         libvlc_media = libvlc.libvlc_media_new(
158             libvlcInstance,
159             mrl,
160             exception);
161         libvlc.libvlc_media_list_add_media(mediaList, libvlc_media, exception);
162         libvlc.libvlc_media_list_remove_index(mediaList, 0, exception);
163     }   
164     
165 }