public void TestWithoutFeatRecord() { HSSFWorkbook hssf = HSSFTestDataSamples.OpenSampleWorkbook("46136-WithWarnings.xls"); InternalWorkbook wb = HSSFTestHelper.GetWorkbookForTest(hssf); Assert.AreEqual(1, hssf.NumberOfSheets); int countFR = 0; int countFRH = 0; // Check on the workbook, but shouldn't be there! foreach (Record r in wb.Records) { if (r is FeatRecord) { countFR++; } else if (r.Sid == FeatRecord.sid) { countFR++; } if (r is FeatHdrRecord) { countFRH++; } else if (r.Sid == FeatHdrRecord.sid) { countFRH++; } } Assert.AreEqual(0, countFR); Assert.AreEqual(0, countFRH); // Now check on the sheet HSSFSheet s = (HSSFSheet)hssf.GetSheetAt(0); InternalSheet sheet = HSSFTestHelper.GetSheetForTest(s); foreach (RecordBase rb in sheet.Records) { if (rb is Record) { Record r = (Record)rb; if (r is FeatRecord) { countFR++; } else if (r.Sid == FeatRecord.sid) { countFR++; } if (r is FeatHdrRecord) { countFRH++; } else if (r.Sid == FeatHdrRecord.sid) { countFRH++; } } } Assert.AreEqual(0, countFR); Assert.AreEqual(0, countFRH); }
public void TestReadFeatRecord() { HSSFWorkbook hssf = HSSFTestDataSamples.OpenSampleWorkbook("46136-NoWarnings.xls"); InternalWorkbook wb = HSSFTestHelper.GetWorkbookForTest(hssf); FeatRecord fr = null; FeatHdrRecord fhr = null; Assert.AreEqual(1, hssf.NumberOfSheets); // First check it isn't on the Workbook int countFR = 0; int countFRH = 0; foreach (Record r in wb.Records) { if (r is FeatRecord) { fr = (FeatRecord)r; countFR++; } else if (r.Sid == FeatRecord.sid) { Assert.Fail("FeatRecord SID found but not Created correctly!"); } if (r is FeatHdrRecord) { countFRH++; } else if (r.Sid == FeatHdrRecord.sid) { Assert.Fail("FeatHdrRecord SID found but not Created correctly!"); } } Assert.AreEqual(0, countFR); Assert.AreEqual(0, countFRH); // Now find it on our sheet HSSFSheet s = (HSSFSheet)hssf.GetSheetAt(0); InternalSheet sheet = HSSFTestHelper.GetSheetForTest(s); foreach (RecordBase rb in sheet.Records) { if (rb is Record) { Record r = (Record)rb; if (r is FeatRecord) { fr = (FeatRecord)r; countFR++; } else if (r.Sid == FeatRecord.sid) { countFR++; } if (r is FeatHdrRecord) { fhr = (FeatHdrRecord)r; countFRH++; } else if (r.Sid == FeatHdrRecord.sid) { countFRH++; } } } Assert.AreEqual(1, countFR); Assert.AreEqual(1, countFRH); Assert.IsNotNull(fr); Assert.IsNotNull(fhr); // Now check the contents are as expected Assert.AreEqual( FeatHdrRecord.SHAREDFEATURES_ISFFEC2, fr.Isf_sharedFeatureType ); // Applies to one cell only Assert.AreEqual(1, fr.CellRefs.Length); Assert.AreEqual(0, fr.CellRefs[0].FirstRow); Assert.AreEqual(0, fr.CellRefs[0].LastRow); Assert.AreEqual(0, fr.CellRefs[0].FirstColumn); Assert.AreEqual(0, fr.CellRefs[0].LastColumn); // More Checking of shared features stuff Assert.AreEqual(4, fr.CbFeatData); Assert.AreEqual(4, fr.SharedFeature.DataSize); Assert.AreEqual(typeof(FeatFormulaErr2), fr.SharedFeature.GetType()); FeatFormulaErr2 fferr2 = (FeatFormulaErr2)fr.SharedFeature; Assert.AreEqual(0x04, fferr2.RawErrorCheckValue); Assert.IsFalse(fferr2.CheckCalculationErrors); Assert.IsFalse(fferr2.CheckDateTimeFormats); Assert.IsFalse(fferr2.CheckEmptyCellRef); Assert.IsFalse(fferr2.CheckInconsistentFormulas); Assert.IsFalse(fferr2.CheckInconsistentRanges); Assert.IsTrue(fferr2.CheckNumbersAsText); Assert.IsFalse(fferr2.CheckUnprotectedFormulas); Assert.IsFalse(fferr2.PerformDataValidation); }