File: cdrom_test.py

package info (click to toggle)
pygame 1.9.4.post1%2Bdfsg-3
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 10,412 kB
  • sloc: ansic: 54,632; python: 28,791; objc: 334; php: 92; sh: 76; makefile: 36; cpp: 25
file content (386 lines) | stat: -rw-r--r-- 12,236 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
#################################### IMPORTS ###################################

if __name__ == '__main__':
    import sys
    import os
    pkg_dir = os.path.split(os.path.abspath(__file__))[0]
    parent_dir, pkg_name = os.path.split(pkg_dir)
    is_pygame_pkg = (pkg_name == 'tests' and
                     os.path.split(parent_dir)[1] == 'pygame')
    if not is_pygame_pkg:
        sys.path.insert(0, parent_dir)
else:
    is_pygame_pkg = __name__.startswith('pygame.tests.')

import unittest
if is_pygame_pkg:
    from pygame.tests.test_utils import question, prompt
else:
    from test.test_utils import question, prompt

import pygame

################################################################################

class CdromModuleTest(unittest.TestCase):
    def todo_test_CD(self):

        # __doc__ (as of 2008-08-02) for pygame.cdrom.CD:

          # pygame.cdrom.CD(id): return CD
          # class to manage a cdrom drive
          # 
          # You can create a CD object for each cdrom on the system. Use
          # pygame.cdrom.get_count() to determine how many drives actually
          # exist. The id argument is an integer of the drive, starting at zero.
          # 
          # The CD object is not initialized, you can only call CD.get_id() and
          # CD.get_name() on an uninitialized drive.
          # 
          # It is safe to create multiple CD objects for the same drive, they
          # will all cooperate normally.
          # 

        self.fail() 

    def todo_test_get_count(self):

        # __doc__ (as of 2008-08-02) for pygame.cdrom.get_count:

          # pygame.cdrom.get_count(): return count
          # number of cd drives on the system
          # 
          # Return the number of cd drives on the system. When you create CD
          # objects you need to pass an integer id that must be lower than this
          # count. The count will be 0 if there are no drives on the system.
          # 

        self.fail() 

    def todo_test_get_init(self):

        # __doc__ (as of 2008-08-02) for pygame.cdrom.get_init:

          # pygame.cdrom.get_init(): return bool
          # true if the cdrom module is initialized
          # 
          # Test if the cdrom module is initialized or not. This is different
          # than the CD.init() since each drive must also be initialized
          # individually.
          # 

        self.fail() 

    def todo_test_init(self):

        # __doc__ (as of 2008-08-02) for pygame.cdrom.init:

          # pygame.cdrom.init(): return None
          # initialize the cdrom module
          # 
          # Initialize the cdrom module. This will scan the system for all CD
          # devices. The module must be initialized before any other functions
          # will work. This automatically happens when you call pygame.init().
          # 
          # It is safe to call this function more than once. 

        self.fail() 

    def todo_test_quit(self):

        # __doc__ (as of 2008-08-02) for pygame.cdrom.quit:

          # pygame.cdrom.quit(): return None
          # uninitialize the cdrom module
          # 
          # Uninitialize the cdrom module. After you call this any existing CD
          # objects will no longer work.
          # 
          # It is safe to call this function more than once. 

        self.fail() 

class CDTypeTest(unittest.TestCase):
    def setUp(self):
        pygame.cdrom.init()

        #TODO:
        try:
            self.cd = pygame.cdrom.CD(0)
        except pygame.error:
            self.cd = None

    def tearDown(self):
        pygame.cdrom.quit()

    def test_1_eject(self):

        # __doc__ (as of 2008-07-02) for pygame.cdrom.CD.eject:

          # CD.eject(): return None
          # eject or open the cdrom drive
        
        # should raise if cd object not initialized
        if self.cd:
            self.cd.init()
            self.cd.eject()

            self.assert_(question('Did the cd eject?'))
    
            prompt("Please close the cd drive")

    def test_2_get_name(self):

        # __doc__ (as of 2008-07-02) for pygame.cdrom.CD.get_name:

          # CD.get_name(): return name
          # the system name of the cdrom drive

        if self.cd:
            cd_name = self.cd.get_name()
    
            self.assert_ (
                question('Is %s the correct name for the cd drive?' % cd_name)
            )

    def todo_test_get_all(self):

        # __doc__ (as of 2008-08-02) for pygame.cdrom.CD.get_all:

          # CD.get_all(): return [(audio, start, end, length), ...]
          # get all track information
          # 
          # Return a list with information for every track on the cdrom. The
          # information consists of a tuple with four values. The audio value is
          # True if the track contains audio data. The start, end, and length
          # values are floating point numbers in seconds. Start and end
          # represent absolute times on the entire disc.
          # 

        self.fail() 

    def todo_test_get_busy(self):

        # __doc__ (as of 2008-08-02) for pygame.cdrom.CD.get_busy:

          # CD.get_busy(): return bool
          # true if the drive is playing audio
          # 
          # Returns True if the drive busy playing back audio. 

        self.fail() 

    def todo_test_get_current(self):

        # __doc__ (as of 2008-08-02) for pygame.cdrom.CD.get_current:

          # CD.get_current(): return track, seconds
          # the current audio playback position
          # 
          # Returns both the current track and time of that track. This method
          # works when the drive is either playing or paused.
          # 
          # Note, track 0 is the first track on the CD.  Track numbers start at zero. 

        self.fail() 

    def todo_test_get_empty(self):

        # __doc__ (as of 2008-08-02) for pygame.cdrom.CD.get_empty:

          # CD.get_empty(): return bool
          # False if a cdrom is in the drive
          # 
          # Return False if there is a cdrom currently in the drive. If the
          # drive is empty this will return True.
          # 

        self.fail() 

    def todo_test_get_id(self):

        # __doc__ (as of 2008-08-02) for pygame.cdrom.CD.get_id:

          # CD.get_init(): return bool
          # true if this cd device initialized
          # 
          # Returns the integer id that was used to create the CD instance. This
          # method can work on an uninitialized CD.
          # 

        self.fail() 

    def todo_test_get_init(self):

        # __doc__ (as of 2008-08-02) for pygame.cdrom.CD.get_init:

          # CD.get_init(): return bool
          # true if this cd device initialized
          # 
          # Test if this CDROM device is initialized. This is different than the
          # pygame.cdrom.init() since each drive must also be initialized
          # individually.
          # 

        self.fail() 

    def todo_test_get_numtracks(self):

        # __doc__ (as of 2008-08-02) for pygame.cdrom.CD.get_numtracks:

          # CD.get_numtracks(): return count
          # the number of tracks on the cdrom
          # 
          # Return the number of tracks on the cdrom in the drive. This will
          # return zero of the drive is empty or has no tracks.
          # 

        self.fail() 

    def todo_test_get_paused(self):

        # __doc__ (as of 2008-08-02) for pygame.cdrom.CD.get_paused:

          # CD.get_paused(): return bool
          # true if the drive is paused
          # 
          # Returns True if the drive is currently paused. 

        self.fail() 

    def todo_test_get_track_audio(self):

        # __doc__ (as of 2008-08-02) for pygame.cdrom.CD.get_track_audio:

          # CD.get_track_audio(track): return bool
          # true if the cdrom track has audio data
          # 
          # Determine if a track on a cdrom contains audio data. You can also
          # call CD.num_tracks() and CD.get_all() to determine more information
          # about the cdrom.
          # 
          # Note, track 0 is the first track on the CD.  Track numbers start at zero. 

        self.fail() 

    def todo_test_get_track_length(self):

        # __doc__ (as of 2008-08-02) for pygame.cdrom.CD.get_track_length:

          # CD.get_track_length(track): return seconds
          # length of a cdrom track
          # 
          # Return a floating point value in seconds of the length of the cdrom track. 
          # Note, track 0 is the first track on the CD.  Track numbers start at zero. 

        self.fail() 

    def todo_test_get_track_start(self):

        # __doc__ (as of 2008-08-02) for pygame.cdrom.CD.get_track_start:

          # CD.get_track_start(track): return seconds
          # start time of a cdrom track
          # 
          # Return the absolute time in seconds where at start of the cdrom track. 
          # Note, track 0 is the first track on the CD.  Track numbers start at zero. 

        self.fail() 

    def todo_test_init(self):

        # __doc__ (as of 2008-08-02) for pygame.cdrom.CD.init:

          # CD.init(): return None
          # initialize a cdrom drive for use
          # 
          # Initialize the cdrom drive for use. The drive must be initialized
          # for most CD methods to work.  Even if the rest of pygame has been
          # initialized.
          # 
          # There may be a brief pause while the drive is initialized. Avoid
          # CD.init() if the program should not stop for a second or two.
          # 

        self.fail() 

    def todo_test_pause(self):

        # __doc__ (as of 2008-08-02) for pygame.cdrom.CD.pause:

          # CD.pause(): return None
          # temporarily stop audio playback
          # 
          # Temporarily stop audio playback on the CD. The playback can be
          # resumed at the same point with the CD.resume() method. If the CD is
          # not playing this method does nothing.
          # 
          # Note, track 0 is the first track on the CD.  Track numbers start at zero. 

        self.fail() 

    def todo_test_play(self):

        # __doc__ (as of 2008-08-02) for pygame.cdrom.CD.play:

          # CD.init(): return None
          # initialize a cdrom drive for use
          # 
          # Playback audio from an audio cdrom in the drive. Besides the track
          # number argument, you can also pass a starting and ending time for
          # playback. The start and end time are in seconds, and can limit the
          # section of an audio track played.
          # 
          # If you pass a start time but no end, the audio will play to the end
          # of the track. If you pass a start time and 'None' for the end time,
          # the audio will play to the end of the entire disc.
          # 
          # See the CD.get_numtracks() and CD.get_track_audio() to find tracks to playback. 
          # Note, track 0 is the first track on the CD.  Track numbers start at zero. 

        self.fail() 

    def todo_test_quit(self):

        # __doc__ (as of 2008-08-02) for pygame.cdrom.CD.quit:

          # CD.quit(): return None
          # uninitialize a cdrom drive for use
          # 
          # Uninitialize a drive for use. Call this when your program will not
          # be accessing the drive for awhile.
          # 

        self.fail() 

    def todo_test_resume(self):

        # __doc__ (as of 2008-08-02) for pygame.cdrom.CD.resume:

          # CD.resume(): return None
          # unpause audio playback
          # 
          # Unpause a paused CD. If the CD is not paused or already playing,
          # this method does nothing.
          # 

        self.fail() 

    def todo_test_stop(self):

        # __doc__ (as of 2008-08-02) for pygame.cdrom.CD.stop:

          # CD.stop(): return None
          # stop audio playback
          # 
          # Stops playback of audio from the cdrom. This will also lose the
          # current playback position. This method does nothing if the drive
          # isn't already playing audio.
          # 

        self.fail() 

################################################################################

if __name__ == '__main__':
    unittest.main()