Added: 
poi/trunk/src/testcases/org/apache/poi/hssf/record/aggregates/TestCFRecordsAggregate.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/src/testcases/org/apache/poi/hssf/record/aggregates/TestCFRecordsAggregate.java?rev=638812&view=auto
==============================================================================
--- 
poi/trunk/src/testcases/org/apache/poi/hssf/record/aggregates/TestCFRecordsAggregate.java
 (added)
+++ 
poi/trunk/src/testcases/org/apache/poi/hssf/record/aggregates/TestCFRecordsAggregate.java
 Wed Mar 19 05:28:56 2008
@@ -0,0 +1,111 @@
+/* ====================================================================
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You 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.hssf.record.aggregates;
+
+import java.io.ByteArrayInputStream;
+import java.io.InputStream;
+import java.util.ArrayList;
+import java.util.List;
+
+import junit.framework.TestCase;
+
+import org.apache.poi.hssf.record.CFHeaderRecord;
+import org.apache.poi.hssf.record.CFRuleRecord;
+import org.apache.poi.hssf.record.RecordFactory;
+import org.apache.poi.hssf.record.cf.CellRange;
+
+/**
+ * Tests the serialization and deserialization of the CFRecordsAggregate
+ * class works correctly.  
+ *
+ * @author Dmitriy Kumshayev 
+ */
+public class TestCFRecordsAggregate
+        extends TestCase
+{
+
+    public TestCFRecordsAggregate(String name)
+    {
+        super(name);
+    }
+
+    public void testCFRecordsAggregate() 
+    {
+       CFRecordsAggregate record = new CFRecordsAggregate();
+       List recs = new ArrayList();
+       CFHeaderRecord header = new CFHeaderRecord();
+       CFRuleRecord rule1 = new CFRuleRecord();
+       CFRuleRecord rule2 = new CFRuleRecord();
+       CFRuleRecord rule3 = new CFRuleRecord();
+       header.setNumberOfConditionalFormats(3);
+       CellRange range1 = new CellRange(0,1,(short)0,(short)0);
+       CellRange range2 = new CellRange(0,1,(short)2,(short)2);
+       List cellRanges = new ArrayList();
+       cellRanges.add(range1);
+       cellRanges.add(range2);
+       header.setCellRanges(cellRanges);
+       recs.add(header);
+       recs.add(rule1);
+       recs.add(rule2);
+       recs.add(rule3);
+       record = CFRecordsAggregate.createCFAggregate(recs, 0);
+       
+       // Serialize
+       byte [] serializedRecord = record.serialize();
+       InputStream in = new ByteArrayInputStream(serializedRecord);
+       
+       //Parse
+       recs = RecordFactory.createRecords(in);
+       
+       // Verify
+       assertNotNull(recs);
+       assertEquals(4, recs.size());
+       
+       header = (CFHeaderRecord)recs.get(0);
+       rule1 = (CFRuleRecord)recs.get(1);
+       rule2 = (CFRuleRecord)recs.get(2);
+       rule3 = (CFRuleRecord)recs.get(3);
+       cellRanges = header.getCellRanges();
+       
+       assertEquals(2, cellRanges.size());
+       assertEquals(3, header.getNumberOfConditionalFormats());
+       
+       record = CFRecordsAggregate.createCFAggregate(recs, 0);
+       
+       record = record.cloneCFAggregate();
+       
+       assertNotNull(record.getHeader());
+       assertEquals(3,record.getRules().size());
+       
+       header = record.getHeader();
+       rule1 = (CFRuleRecord)record.getRules().get(0);
+       rule2 = (CFRuleRecord)record.getRules().get(1);
+       rule3 = (CFRuleRecord)record.getRules().get(2);
+       cellRanges = header.getCellRanges();
+       
+       assertEquals(2, cellRanges.size());
+       assertEquals(3, header.getNumberOfConditionalFormats());
+    }
+
+    public static void main(String[] ignored_args)
+       {
+               System.out.println("Testing 
org.apache.poi.hssf.record.aggregates.CFRecordsAggregate");
+               junit.textui.TestRunner.run(TestCFRecordsAggregate.class);
+       }
+    
+}

Propchange: 
poi/trunk/src/testcases/org/apache/poi/hssf/record/aggregates/TestCFRecordsAggregate.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: poi/trunk/src/testcases/org/apache/poi/hssf/record/cf/TestCellRange.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/src/testcases/org/apache/poi/hssf/record/cf/TestCellRange.java?rev=638812&view=auto
==============================================================================
--- poi/trunk/src/testcases/org/apache/poi/hssf/record/cf/TestCellRange.java 
(added)
+++ poi/trunk/src/testcases/org/apache/poi/hssf/record/cf/TestCellRange.java 
Wed Mar 19 05:28:56 2008
@@ -0,0 +1,139 @@
+/* ====================================================================
+Licensed to the Apache Software Foundation (ASF) under one or more
+contributor license agreements.  See the NOTICE file distributed with
+this work for additional information regarding copyright ownership.
+The ASF licenses this file to You 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.hssf.record.cf;
+
+import junit.framework.TestCase;
+
+/**
+ * Tests CellRange operations.
+ */
+public class TestCellRange extends TestCase
+{
+       private static final CellRange biggest     = new CellRange(0, 
-1,(short) 0,(short)-1);
+       private static final CellRange tenthColumn = new CellRange(0, 
-1,(short)10,(short)10);
+       private static final CellRange tenthRow    = new 
CellRange(10,10,(short) 0,(short)-1);
+       private static final CellRange box10x10    = new CellRange(0, 
10,(short) 0,(short)10);
+       private static final CellRange box9x9      = new CellRange(0,  
9,(short) 0,(short) 9);
+       private static final CellRange box10to20c  = new CellRange(0, 
10,(short)10,(short)20);
+       private static final CellRange oneCell     = new 
CellRange(10,10,(short)10,(short)10);
+
+       boolean [][] contanis = new boolean[][]
+    {
+                       //           biggest, tenthColumn, tenthRow, box10x10, 
box9x9, box10to20c, oneCell
+  /*biggest    */ new boolean[]{true,       true ,    true ,    true ,  true , 
     true ,  true},     
+  /*tenthColumn*/ new boolean[]{false,      true ,    false,    false,  false, 
     false,  true},     
+  /*tenthRow   */ new boolean[]{false,      false,    true ,    false,  false, 
     false,  true},     
+  /*box10x10   */ new boolean[]{false,      false,    false,    true ,  true , 
     false,  true},     
+  /*box9x9     */ new boolean[]{false,      false,    false,    false,  true , 
     false, false},     
+  /*box10to20c */ new boolean[]{false,      false,    false,    false,  false, 
     true ,  true},     
+  /*oneCell    */ new boolean[]{false,      false,    false,    false,  false, 
     false,  true},     
+     } ;
+       
+       
+       public void testContainsMethod()
+       {
+               CellRange [] ranges = new 
CellRange[]{biggest,tenthColumn,tenthRow,box10x10,box9x9,box10to20c,oneCell};
+               testContainsMethod(contanis,ranges);
+       }
+       
+       private void testContainsMethod(boolean[][]contains,CellRange[] ranges)
+       {
+               for(int i=0; i!=ranges.length;i++)
+               {
+                       for(int j=0; j!=ranges.length;j++)
+                       {
+                               assertEquals("("+i+","+j+"): 
",contains[i][j],ranges[i].contains(ranges[j]));
+                       }
+               }
+       }
+       
+       private static final CellRange col1     = new CellRange(0, -1,(short) 
1,(short)1);
+       private static final CellRange col2     = new CellRange(0, -1,(short) 
2,(short)2);
+       private static final CellRange row1     = new CellRange(1,  1,(short) 
0,(short)-1);
+       private static final CellRange row2     = new CellRange(2,  2,(short) 
0,(short)-1);
+
+       private static final CellRange box0     = new CellRange( 0, 2,(short) 
0,(short)2);
+       private static final CellRange box1     = new CellRange( 0, 1,(short) 
0,(short)1);
+       private static final CellRange box2     = new CellRange( 0, 1,(short) 
2,(short)3);
+       private static final CellRange box3     = new CellRange( 2, 3,(short) 
0,(short)1);
+       private static final CellRange box4     = new CellRange( 2, 3,(short) 
2,(short)3);
+       private static final CellRange box5     = new CellRange( 1, 3,(short) 
1,(short)3);
+
+       public void testHasSharedBorderMethod()
+       {
+               assertFalse(col1.hasSharedBorder(col1));
+               assertFalse(col2.hasSharedBorder(col2));
+               assertTrue(col1.hasSharedBorder(col2));
+               assertTrue(col2.hasSharedBorder(col1));
+
+               assertFalse(row1.hasSharedBorder(row1));
+               assertFalse(row2.hasSharedBorder(row2));
+               assertTrue(row1.hasSharedBorder(row2));
+               assertTrue(row2.hasSharedBorder(row1));
+               
+               assertFalse(row1.hasSharedBorder(col1));
+               assertFalse(row1.hasSharedBorder(col2));
+               assertFalse(col1.hasSharedBorder(row1));
+               assertFalse(col2.hasSharedBorder(row1));
+               assertFalse(row2.hasSharedBorder(col1));
+               assertFalse(row2.hasSharedBorder(col2));
+               assertFalse(col1.hasSharedBorder(row2));
+               assertFalse(col2.hasSharedBorder(row2));
+               assertTrue(col2.hasSharedBorder(col1));
+               
+               assertFalse(box1.hasSharedBorder(box1));
+               assertTrue(box1.hasSharedBorder(box2));
+               assertTrue(box1.hasSharedBorder(box3));
+               assertFalse(box1.hasSharedBorder(box4));
+               
+               assertTrue(box2.hasSharedBorder(box1));
+               assertFalse(box2.hasSharedBorder(box2));
+               assertFalse(box2.hasSharedBorder(box3));
+               assertTrue(box2.hasSharedBorder(box4));
+               
+               assertTrue(box3.hasSharedBorder(box1));
+               assertFalse(box3.hasSharedBorder(box2));
+               assertFalse(box3.hasSharedBorder(box3));
+               assertTrue(box3.hasSharedBorder(box4));
+               
+               assertFalse(box4.hasSharedBorder(box1));
+               assertTrue(box4.hasSharedBorder(box2));
+               assertTrue(box4.hasSharedBorder(box3));
+               assertFalse(box4.hasSharedBorder(box4));
+       }
+       
+       public void testIntersectMethod()
+       {
+               assertEquals( CellRange.OVERLAP,box0.intersect(box5));
+               assertEquals( CellRange.OVERLAP,box5.intersect(box0));
+               assertEquals(CellRange.NO_INTERSECTION,box1.intersect(box4));
+               assertEquals(CellRange.NO_INTERSECTION,box4.intersect(box1));
+               assertEquals(CellRange.NO_INTERSECTION,box2.intersect(box3));
+               assertEquals(CellRange.NO_INTERSECTION,box3.intersect(box2));
+               assertEquals(CellRange.INSIDE,box0.intersect(box1));
+               assertEquals(CellRange.INSIDE,box0.intersect(box0));
+               assertEquals(CellRange.ENCLOSES,box1.intersect(box0));
+               assertEquals(CellRange.INSIDE,tenthColumn.intersect(oneCell));
+               assertEquals(CellRange.ENCLOSES,oneCell.intersect(tenthColumn));
+               assertEquals(CellRange.OVERLAP,tenthColumn.intersect(tenthRow));
+               assertEquals(CellRange.OVERLAP,tenthRow.intersect(tenthColumn));
+               
assertEquals(CellRange.INSIDE,tenthColumn.intersect(tenthColumn));
+               assertEquals(CellRange.INSIDE,tenthRow.intersect(tenthRow));
+       }
+       
+}

Propchange: 
poi/trunk/src/testcases/org/apache/poi/hssf/record/cf/TestCellRange.java
------------------------------------------------------------------------------
    svn:eol-style = native



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to