~ubuntu-branches/ubuntu/utopic/libjaudiotagger-java/utopic

« back to all changes in this revision

Viewing changes to srctest/org/jaudiotagger/audio/ogg/OggPageTest.java

  • Committer: Bazaar Package Importer
  • Author(s): Damien Raude-Morvan
  • Date: 2011-04-28 23:52:43 UTC
  • mfrom: (3.1.4 sid)
  • Revision ID: james.westby@ubuntu.com-20110428235243-pzalvw6lncis3ukf
Tags: 2.0.3-1
* d/control: Drop Depends on default-jre per Debian Java Policy as its
  a library package.
* d/watch: Fix to directly monitor SVN tags.
* Switch to 3.0 (quilt) format.
* Bump Standards-Version to 3.9.2 (no changes needed).

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
package org.jaudiotagger.audio.ogg;
2
 
 
3
 
import junit.framework.TestCase;
4
 
import org.jaudiotagger.AbstractTestCase;
5
 
import org.jaudiotagger.audio.ogg.util.OggPageHeader;
6
 
 
7
 
import java.io.File;
8
 
import java.io.RandomAccessFile;
9
 
import java.nio.ByteBuffer;
10
 
import java.util.Date;
11
 
 
12
 
/**
13
 
 * Basic Vorbis tests
14
 
 */
15
 
public class OggPageTest extends TestCase
16
 
{
17
 
    public void testReadOggPagesNew()
18
 
    {
19
 
        System.out.println("start:"+new Date());
20
 
        Exception exceptionCaught = null;
21
 
        int count = 0;
22
 
        try
23
 
        {
24
 
            File testFile = AbstractTestCase.copyAudioToTmp("test.ogg", new File("testReadAllOggPages.ogg"));
25
 
            RandomAccessFile raf = new RandomAccessFile(testFile, "r");
26
 
            OggPageHeader lastPageHeader = null;
27
 
            ByteBuffer bb = ByteBuffer.allocate((int)(raf.length()));
28
 
            raf.getChannel().read(bb);
29
 
            bb.rewind();
30
 
            System.out.println("ByteBuffer:"+bb.position()+":"+bb.limit());
31
 
            while(bb.hasRemaining())
32
 
            {
33
 
                System.out.println("pageHeader starts at:" + bb.position());
34
 
                OggPageHeader pageHeader = OggPageHeader.read(bb);
35
 
                int packetLengthTotal = 0;
36
 
                for (OggPageHeader.PacketStartAndLength packetAndStartLength : pageHeader.getPacketList())
37
 
                {
38
 
                    packetLengthTotal += packetAndStartLength.getLength();
39
 
                }
40
 
                assertEquals(pageHeader.getPageLength(), packetLengthTotal);
41
 
                if (lastPageHeader != null)
42
 
                {
43
 
                    assertEquals(lastPageHeader.getPageSequence() + 1, pageHeader.getPageSequence());
44
 
                }
45
 
                System.out.println("pageHeader finishes at:" + bb.position());
46
 
                System.out.println(pageHeader + "\n");
47
 
                bb.position(bb.position() + pageHeader.getPageLength());
48
 
                count++;
49
 
                lastPageHeader = pageHeader;
50
 
 
51
 
            }
52
 
            System.out.println(raf.length() + ":"+raf.getFilePointer());
53
 
            assertEquals(raf.length(), raf.getFilePointer());
54
 
 
55
 
        }
56
 
        catch (Exception e)
57
 
        {
58
 
            e.printStackTrace();
59
 
            exceptionCaught = e;
60
 
        }
61
 
        assertNull(exceptionCaught);
62
 
        assertEquals(10, count);
63
 
        System.out.println("end:"+new Date());
64
 
 
65
 
    }
66
 
    /**
67
 
     * Test Read Ogg Pages ok
68
 
     */
69
 
    public void testReadAllOggPages()
70
 
    {
71
 
        System.out.println("start:"+new Date());
72
 
        Exception exceptionCaught = null;
73
 
        int count = 0;
74
 
        try
75
 
        {
76
 
            File testFile = AbstractTestCase.copyAudioToTmp("test.ogg", new File("testReadAllOggPages.ogg"));
77
 
            RandomAccessFile raf = new RandomAccessFile(testFile, "r");
78
 
 
79
 
            OggPageHeader lastPageHeader = null;
80
 
            while (raf.getFilePointer() < raf.length())
81
 
            {
82
 
                System.out.println("pageHeader starts at:" + raf.getFilePointer());
83
 
                OggPageHeader pageHeader = OggPageHeader.read(raf);
84
 
                int packetLengthTotal = 0;
85
 
                for (OggPageHeader.PacketStartAndLength packetAndStartLength : pageHeader.getPacketList())
86
 
                {
87
 
                    packetLengthTotal += packetAndStartLength.getLength();
88
 
                }
89
 
                assertEquals(pageHeader.getPageLength(), packetLengthTotal);
90
 
                if (lastPageHeader != null)
91
 
                {
92
 
                    assertEquals(lastPageHeader.getPageSequence() + 1, pageHeader.getPageSequence());
93
 
                }
94
 
                System.out.println("pageHeader finishes at:" + raf.getFilePointer());
95
 
                System.out.println(pageHeader + "\n");
96
 
                raf.seek(raf.getFilePointer() + pageHeader.getPageLength());
97
 
                count++;
98
 
                lastPageHeader = pageHeader;
99
 
 
100
 
            }
101
 
            assertEquals(raf.length(), raf.getFilePointer());
102
 
 
103
 
        }
104
 
        catch (Exception e)
105
 
        {
106
 
            e.printStackTrace();
107
 
            exceptionCaught = e;
108
 
        }
109
 
        assertNull(exceptionCaught);
110
 
        assertEquals(10, count);
111
 
        System.out.println("end:"+new Date());
112
 
    }
113
 
 
114
 
    /**
115
 
     * test Read Ogg Pages ok
116
 
     */
117
 
    public void testReadAllOggPagesLargeFile()
118
 
    {
119
 
        Exception exceptionCaught = null;
120
 
        int count = 0;
121
 
        try
122
 
        {
123
 
            File testFile = AbstractTestCase.copyAudioToTmp("testlargeimage.ogg", new File("testReadAllOggPagesLargeFile.ogg"));
124
 
            RandomAccessFile raf = new RandomAccessFile(testFile, "r");
125
 
 
126
 
 
127
 
            while (raf.getFilePointer() < raf.length())
128
 
            {
129
 
                System.out.println("pageHeader starts at:" + raf.getFilePointer());
130
 
                OggPageHeader pageHeader = OggPageHeader.read(raf);
131
 
                System.out.println("pageHeader finishes at:" + raf.getFilePointer());
132
 
                System.out.println(pageHeader + "\n");
133
 
                raf.seek(raf.getFilePointer() + pageHeader.getPageLength());
134
 
                count++;
135
 
            }
136
 
            assertEquals(raf.length(), raf.getFilePointer());
137
 
 
138
 
        }
139
 
        catch (Exception e)
140
 
        {
141
 
            e.printStackTrace();
142
 
            exceptionCaught = e;
143
 
        }
144
 
        assertNull(exceptionCaught);
145
 
        assertEquals(25, count);
146
 
    }
147
 
 
148
 
     /**
149
 
     * test Read Ogg Pages ok
150
 
     */
151
 
    public void testReadAllOggPagesLargeFileNew()
152
 
    {
153
 
        Exception exceptionCaught = null;
154
 
        int count = 0;
155
 
        try
156
 
        {
157
 
 
158
 
            File testFile = AbstractTestCase.copyAudioToTmp("testlargeimage.ogg", new File("testReadAllOggPagesLargeFile.ogg"));
159
 
            RandomAccessFile raf = new RandomAccessFile(testFile, "r");
160
 
            OggPageHeader lastPageHeader = null;
161
 
            ByteBuffer bb = ByteBuffer.allocate((int)(raf.length()));
162
 
            raf.getChannel().read(bb);
163
 
            bb.rewind();
164
 
            System.out.println("ByteBuffer:"+bb.position()+":"+bb.limit());
165
 
            while(bb.hasRemaining())
166
 
            {
167
 
                System.out.println("pageHeader starts at:" + bb.position());
168
 
                OggPageHeader pageHeader = OggPageHeader.read(bb);
169
 
                System.out.println("pageHeader finishes at:" + bb.position());
170
 
                System.out.println(pageHeader + "\n");
171
 
                bb.position(bb.position() + pageHeader.getPageLength());
172
 
                count++;
173
 
            }
174
 
            assertEquals(raf.length(), raf.getFilePointer());
175
 
 
176
 
        }
177
 
        catch (Exception e)
178
 
        {
179
 
            e.printStackTrace();
180
 
            exceptionCaught = e;
181
 
        }
182
 
        assertNull(exceptionCaught);
183
 
        assertEquals(25, count);
184
 
    }
185
 
}
 
1
package org.jaudiotagger.audio.ogg;
 
2
 
 
3
import junit.framework.TestCase;
 
4
import org.jaudiotagger.AbstractTestCase;
 
5
import org.jaudiotagger.audio.ogg.util.OggPageHeader;
 
6
 
 
7
import java.io.File;
 
8
import java.io.RandomAccessFile;
 
9
import java.nio.ByteBuffer;
 
10
import java.util.Date;
 
11
 
 
12
/**
 
13
 * Basic Vorbis tests
 
14
 */
 
15
public class OggPageTest extends TestCase
 
16
{
 
17
    public void testReadOggPagesNew()
 
18
    {
 
19
        System.out.println("start:"+new Date());
 
20
        Exception exceptionCaught = null;
 
21
        int count = 0;
 
22
        try
 
23
        {
 
24
            File testFile = AbstractTestCase.copyAudioToTmp("test.ogg", new File("testReadAllOggPages.ogg"));
 
25
            RandomAccessFile raf = new RandomAccessFile(testFile, "r");
 
26
            OggPageHeader lastPageHeader = null;
 
27
            ByteBuffer bb = ByteBuffer.allocate((int)(raf.length()));
 
28
            raf.getChannel().read(bb);
 
29
            bb.rewind();
 
30
            System.out.println("ByteBuffer:"+bb.position()+":"+bb.limit());
 
31
            while(bb.hasRemaining())
 
32
            {
 
33
                System.out.println("pageHeader starts at:" + bb.position());
 
34
                OggPageHeader pageHeader = OggPageHeader.read(bb);
 
35
                int packetLengthTotal = 0;
 
36
                for (OggPageHeader.PacketStartAndLength packetAndStartLength : pageHeader.getPacketList())
 
37
                {
 
38
                    packetLengthTotal += packetAndStartLength.getLength();
 
39
                }
 
40
                assertEquals(pageHeader.getPageLength(), packetLengthTotal);
 
41
                if (lastPageHeader != null)
 
42
                {
 
43
                    assertEquals(lastPageHeader.getPageSequence() + 1, pageHeader.getPageSequence());
 
44
                }
 
45
                System.out.println("pageHeader finishes at:" + bb.position());
 
46
                System.out.println(pageHeader + "\n");
 
47
                bb.position(bb.position() + pageHeader.getPageLength());
 
48
                count++;
 
49
                lastPageHeader = pageHeader;
 
50
 
 
51
            }
 
52
            System.out.println(raf.length() + ":"+raf.getFilePointer());
 
53
            assertEquals(raf.length(), raf.getFilePointer());
 
54
 
 
55
        }
 
56
        catch (Exception e)
 
57
        {
 
58
            e.printStackTrace();
 
59
            exceptionCaught = e;
 
60
        }
 
61
        assertNull(exceptionCaught);
 
62
        assertEquals(10, count);
 
63
        System.out.println("end:"+new Date());
 
64
 
 
65
    }
 
66
    /**
 
67
     * Test Read Ogg Pages ok
 
68
     */
 
69
    public void testReadAllOggPages()
 
70
    {
 
71
        System.out.println("start:"+new Date());
 
72
        Exception exceptionCaught = null;
 
73
        int count = 0;
 
74
        try
 
75
        {
 
76
            File testFile = AbstractTestCase.copyAudioToTmp("test.ogg", new File("testReadAllOggPages.ogg"));
 
77
            RandomAccessFile raf = new RandomAccessFile(testFile, "r");
 
78
 
 
79
            OggPageHeader lastPageHeader = null;
 
80
            while (raf.getFilePointer() < raf.length())
 
81
            {
 
82
                System.out.println("pageHeader starts at:" + raf.getFilePointer());
 
83
                OggPageHeader pageHeader = OggPageHeader.read(raf);
 
84
                int packetLengthTotal = 0;
 
85
                for (OggPageHeader.PacketStartAndLength packetAndStartLength : pageHeader.getPacketList())
 
86
                {
 
87
                    packetLengthTotal += packetAndStartLength.getLength();
 
88
                }
 
89
                assertEquals(pageHeader.getPageLength(), packetLengthTotal);
 
90
                if (lastPageHeader != null)
 
91
                {
 
92
                    assertEquals(lastPageHeader.getPageSequence() + 1, pageHeader.getPageSequence());
 
93
                }
 
94
                System.out.println("pageHeader finishes at:" + raf.getFilePointer());
 
95
                System.out.println(pageHeader + "\n");
 
96
                raf.seek(raf.getFilePointer() + pageHeader.getPageLength());
 
97
                count++;
 
98
                lastPageHeader = pageHeader;
 
99
 
 
100
            }
 
101
            assertEquals(raf.length(), raf.getFilePointer());
 
102
 
 
103
        }
 
104
        catch (Exception e)
 
105
        {
 
106
            e.printStackTrace();
 
107
            exceptionCaught = e;
 
108
        }
 
109
        assertNull(exceptionCaught);
 
110
        assertEquals(10, count);
 
111
        System.out.println("end:"+new Date());
 
112
    }
 
113
 
 
114
    /**
 
115
     * test Read Ogg Pages ok
 
116
     */
 
117
    public void testReadAllOggPagesLargeFile()
 
118
    {
 
119
        Exception exceptionCaught = null;
 
120
        int count = 0;
 
121
        try
 
122
        {
 
123
            File testFile = AbstractTestCase.copyAudioToTmp("testlargeimage.ogg", new File("testReadAllOggPagesLargeFile.ogg"));
 
124
            RandomAccessFile raf = new RandomAccessFile(testFile, "r");
 
125
 
 
126
 
 
127
            while (raf.getFilePointer() < raf.length())
 
128
            {
 
129
                System.out.println("pageHeader starts at:" + raf.getFilePointer());
 
130
                OggPageHeader pageHeader = OggPageHeader.read(raf);
 
131
                System.out.println("pageHeader finishes at:" + raf.getFilePointer());
 
132
                System.out.println(pageHeader + "\n");
 
133
                raf.seek(raf.getFilePointer() + pageHeader.getPageLength());
 
134
                count++;
 
135
            }
 
136
            assertEquals(raf.length(), raf.getFilePointer());
 
137
 
 
138
        }
 
139
        catch (Exception e)
 
140
        {
 
141
            e.printStackTrace();
 
142
            exceptionCaught = e;
 
143
        }
 
144
        assertNull(exceptionCaught);
 
145
        assertEquals(25, count);
 
146
    }
 
147
 
 
148
     /**
 
149
     * test Read Ogg Pages ok
 
150
     */
 
151
    public void testReadAllOggPagesLargeFileNew()
 
152
    {
 
153
        Exception exceptionCaught = null;
 
154
        int count = 0;
 
155
        try
 
156
        {
 
157
 
 
158
            File testFile = AbstractTestCase.copyAudioToTmp("testlargeimage.ogg", new File("testReadAllOggPagesLargeFile.ogg"));
 
159
            RandomAccessFile raf = new RandomAccessFile(testFile, "r");
 
160
            OggPageHeader lastPageHeader = null;
 
161
            ByteBuffer bb = ByteBuffer.allocate((int)(raf.length()));
 
162
            raf.getChannel().read(bb);
 
163
            bb.rewind();
 
164
            System.out.println("ByteBuffer:"+bb.position()+":"+bb.limit());
 
165
            while(bb.hasRemaining())
 
166
            {
 
167
                System.out.println("pageHeader starts at:" + bb.position());
 
168
                OggPageHeader pageHeader = OggPageHeader.read(bb);
 
169
                System.out.println("pageHeader finishes at:" + bb.position());
 
170
                System.out.println(pageHeader + "\n");
 
171
                bb.position(bb.position() + pageHeader.getPageLength());
 
172
                count++;
 
173
            }
 
174
            assertEquals(raf.length(), raf.getFilePointer());
 
175
 
 
176
        }
 
177
        catch (Exception e)
 
178
        {
 
179
            e.printStackTrace();
 
180
            exceptionCaught = e;
 
181
        }
 
182
        assertNull(exceptionCaught);
 
183
        assertEquals(25, count);
 
184
    }
 
185
}