Test to ensure that the code for working out the "most recent" versions

of the key records (from PersistPtr records) is working correctly


git-svn-id: https://svn.apache.org/repos/asf/jakarta/poi/trunk@353730 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Nick Burch 2005-06-26 18:09:42 +00:00
parent 70002e644d
commit fb53350066

View File

@ -0,0 +1,99 @@
/* ====================================================================
Copyright 2002-2004 Apache Software Foundation
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
==================================================================== */
package org.apache.poi.hslf.usermodel;
import junit.framework.TestCase;
import org.apache.poi.hslf.*;
import org.apache.poi.hslf.record.*;
/**
* Tests that SlideShow finds the right records as its most recent ones
*
* @author Nick Burch (nick at torchbox dot com)
*/
public class TestMostRecentRecords extends TestCase {
// HSLFSlideShow primed on the test data
private HSLFSlideShow hss;
// SlideShow primed on the test data
private SlideShow ss;
public TestMostRecentRecords() throws Exception {
String dirname = System.getProperty("HSLF.testdata.path");
String filename = dirname + "/basic_test_ppt_file.ppt";
hss = new HSLFSlideShow(filename);
ss = new SlideShow(hss);
}
public void testCount() throws Exception {
// Most recent core records
Record[] mrcr = ss.getMostRecentCoreRecords();
// Master sheet + master notes + 2 slides + 2 notes + document
assertEquals(7, mrcr.length);
}
public void testRightRecordTypes() throws Exception {
// Most recent core records
Record[] mrcr = ss.getMostRecentCoreRecords();
// Document
assertEquals(1000, mrcr[0].getRecordType());
// Notes of master
assertEquals(1008, mrcr[1].getRecordType());
// Master
assertEquals(1016, mrcr[2].getRecordType());
// Slide
assertEquals(1006, mrcr[3].getRecordType());
// Notes
assertEquals(1008, mrcr[4].getRecordType());
// Slide
assertEquals(1006, mrcr[5].getRecordType());
// Notes
assertEquals(1008, mrcr[6].getRecordType());
}
public void testCorrectRecords() throws Exception {
// Most recent core records
Record[] mrcr = ss.getMostRecentCoreRecords();
// All records
Record[] allr = hss.getRecords();
// Ensure they are the right (latest) version of each
// Document - late version
assertEquals(allr[12], mrcr[0]);
// Notes of master - unchanged
assertEquals(allr[2], mrcr[1]);
// Master - unchanged
assertEquals(allr[1], mrcr[2]);
// Slide - added at start
assertEquals(allr[3], mrcr[3]);
// Notes - added at start
assertEquals(allr[4], mrcr[4]);
// Slide - added later and then changed
assertEquals(allr[13], mrcr[5]);
// Notes - added later but not changed
assertEquals(allr[9], mrcr[6]);
}
}