Test run started : 10/16/2007 05:25:21 PM
BEGIN Shapes_Collection_Behaviour
 TEST START : Shapes_Collection_Behaviour
  ITEM Assertion OK : Name of indexed shape should be 'Sheet2Shape1' 
  ITEM Assertion OK : Name of indexed shape should be 'Sheet2Shape2' 
 TEST Success. : Shapes_Collection_Behaviour
END Shapes_Collection_Behaviour
BEGIN Shapes_Select_Item
 TEST START : Shapes_Select_Item
  ITEM Assertion OK : Correctly selected shape through Range
  ITEM Assertion OK : Correctly selected shape through Item
  ITEM Assertion OK : Needs to be visually checked. Is there a line on the document?
  ITEM Assertion OK : Needs to be visually checked. Are All Shapes Selected?
 TEST Success. : Shapes_Select_Item
END Shapes_Select_Item
BEGIN Shapes_Fill
 TEST START : Shapes_Fill
  ITEM Assertion OK : correctly set visibility of shape fill
  ITEM Assertion OK : correctly set transparency of shape line
  ITEM Assertion OK : correctly set forecolor of shape fill
  ITEM Assertion FAIL : correctly set backcolor of shape fill
  ITEM Assertion OK : the success of the TwoColorGradient method needs to be verified visually!
  ITEM Assertion OK : correctly set forecolor of shape fill
  ITEM Assertion FAIL : correctly set forecolor of shape fill
 TEST Success. : Shapes_Fill
END  Shapes_Fill
BEGIN Shapes_Line
 TEST START : Shapes_Line
  ITEM Assertion FAIL : correctly set weight of shape line
  ITEM Assertion OK : correctly set visibility of shape line
  ITEM Assertion OK : correctly set transparency of shape line
  ITEM Assertion OK : correctly set dash style of shape line
  ITEM Assertion OK : correctly set dash style of shape line
  ITEM Assertion OK : correctly set forecolor of shape line
  ITEM Assertion FAIL : correctly set backcolor of shape line
 TEST Success. : Shapes_Line
END  Shapes_Line
BEGIN Shapes_TextFrame
 TEST START : Shapes_TextFrame
  ITEM Assertion OK : correctly set Autosize of Shape TextFrame
 TEST Success. : Shapes_TextFrame
END  Shapes_TextFrame
BEGIN Shapes_SimpleGeometry
 TEST START : Shapes_SimpleGeometery
  ITEM Assertion OK : shape height should be 47.0425168477155 and got 46.9984222363199
  ITEM Assertion OK : shape width should be 101.467710269751 and got 101.423615658355
  ITEM Assertion OK : shape left should be 68.5574761223637 and got 68.5417279658754
  ITEM Assertion OK : shape top should be 42.0251943291216 and got 42.0094461726333
  ITEM Assertion OK : shape rotation should be 0 and got 0
  ITEM Assertion OK : shape rotation should be 25 and got 25
  ITEM Assertion OK : shape incrementrotation should be 50 and got 50
  ITEM Assertion OK : shape incrementleft should be 70.6834602404119 and got 70.6677120839236
  ITEM Assertion OK : shape incrementtop should be 91.262986503119 and got 91.2472383466307
 TEST Success. : Shapes_SimpleGeometery
END Shapes_SimpleGeometry
BEGIN Shapes_Range
 TEST START : Shapes_Range
  ITEM Assertion OK : expected Sheets(2).Shapes.Range(1) to contain 1 element, it contains 1
  ITEM Assertion OK : expected Sheets(2).Shapes.Range(1) to return Sheet2Shape1 got Sheet2Shape1
  ITEM Assertion OK : expected Sheets(2).Shapes.Range(Sheet2Shape3) to contain 1 element, it contains 1
  ITEM Assertion OK : expected Sheets(2).Shapes.Range(Sheet2Shape3) to return Sheet2Shape3 got Sheet2Shape3
  ITEM Assertion OK : expected Sheets(2).Shapes.Range(Array(3, 1) to contain 2 elements, it contains 2
  ITEM Assertion OK : expected Sheets(2).Shapes.Range(Array(3, 1) to return concated element/shape names Sheet2Shape3Sheet2Shape1 and got Sheet2Shape3Sheet2Shape1
  ITEM Assertion OK : expected Sheets(2).Shapes.Range(Array('Sheet2Shape3', 1, 'Sheet2Shape2')) to contain 3 elements, it contains 3
  ITEM Assertion OK : expected Sheets(2).Shapes.Range(Array('Sheet2Shape3', 1, 'Sheet2Shape2')) to return concated element/shape names Sheet2Shape3Sheet2Shape1Sheet2Shape2 and got Sheet2Shape3Sheet2Shape1Sheet2Shape2
 TEST Success. : Shapes_Range
END Shapes_Range
BEGIN Shapes_ShapeRange
 TEST START : Shapes_ShapeRange
  ITEM Assertion OK : ShapeRange.IncrementLeft shp1.left should be 90.6677120839236 and got 90.6519627935771
  ITEM Assertion OK : ShapeRange.IncrementLeft shp2.left should be 240.02518299054 and got 240.009433700193
  ITEM Assertion OK : ShapeRange.IncrementTop shp1.Top should be 111.247238346631 and got 111.231489056284
  ITEM Assertion OK : ShapeRange.IncrementTop shp2.Top should be 65.0708633026228 and got 65.0551140122763
  ITEM Assertion OK : ShapeRange.IncrementRotation shp1.Rotation should be 70 and got 70
  ITEM Assertion OK : ShapeRange.IncrementRotation shp2.Rotation should be 20 and got 20
END Shapes_ShapeRange
Test run finished : 10/16/2007 05:25:22 PM
