101 lines
2.9 KiB
Ruby
101 lines
2.9 KiB
Ruby
# ====================================================================
|
|
# 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.
|
|
# ====================================================================
|
|
|
|
require 'test/unit'
|
|
require 'release/poi4r'
|
|
|
|
class TC_base_tests < Test::Unit::TestCase
|
|
|
|
def setup()
|
|
end
|
|
|
|
def test_get_constant
|
|
h=Poi4r::HSSFWorkbook.new
|
|
s=h.createSheet("Sheet1")
|
|
r=s.createRow(0)
|
|
c=r.createCell(0)
|
|
assert_equal(3,Poi4r::HSSFCell.CELL_TYPE_BLANK,"Constant CELL_TYPE_BLANK")
|
|
end
|
|
|
|
def test_base
|
|
system("rm test.xls")
|
|
h=Poi4r::HSSFWorkbook.new
|
|
|
|
#Test Sheet Creation
|
|
s=h.createSheet("Sheet1")
|
|
s=h.createSheet("Sheet2")
|
|
assert_equal(2,h.getNumberOfSheets(),"Number of sheets is 2")
|
|
|
|
#Test setting cell values
|
|
s=h.getSheetAt(0)
|
|
r=s.createRow(0)
|
|
c=r.createCell(0)
|
|
c.setCellValue(1.5)
|
|
assert_equal(c.getNumericCellValue(),1.5,"Numeric Cell Value")
|
|
c=r.createCell(1)
|
|
c.setCellValue("Ruby")
|
|
assert_equal(c.getStringCellValue(),"Ruby","String Cell Value")
|
|
#Test error handling
|
|
assert_raise (RuntimeError) {c.getNumericCellValue()}
|
|
|
|
#Test styles
|
|
st = h.createCellStyle()
|
|
c=r.createCell(2)
|
|
st.setAlignment(Poi4r::HSSFCellStyle.ALIGN_CENTER)
|
|
c.setCellStyle(st)
|
|
c.setCellValue("centr'd")
|
|
|
|
#Date handling
|
|
c=r.createCell(3)
|
|
t1=Time.now
|
|
c.setCellValue(Time.now)
|
|
t2= c.getDateCellValue().gmtime
|
|
assert_equal(t1.year,t2.year,"year")
|
|
assert_equal(t1.mon,t2.mon,"month")
|
|
assert_equal(t1.day,t2.day,"day")
|
|
assert_equal(t1.hour,t2.hour,"hour")
|
|
assert_equal(t1.min,t2.min,"min")
|
|
assert_equal(t1.sec,t2.sec,"sec")
|
|
st=h.createCellStyle();
|
|
st.setDataFormat(Poi4r::HSSFDataFormat.getBuiltinFormat("m/d/yy h:mm"))
|
|
c.setCellStyle(st)
|
|
|
|
#Fonts
|
|
c=r.createCell(4)
|
|
font = h.createFont();
|
|
font.setFontHeightInPoints(24);
|
|
font.setFontName("Courier New");
|
|
font.setItalic(true);
|
|
font.setStrikeout(true);
|
|
style = h.createCellStyle();
|
|
style.setFont(font);
|
|
c.setCellValue("This is a test of fonts");
|
|
c.setCellStyle(style);
|
|
|
|
#Formulas
|
|
c=r.createCell(5)
|
|
c.setCellFormula("A1*2")
|
|
assert_equal("A1*2",c.getCellFormula,"formula")
|
|
|
|
#Test writing
|
|
h.write(File.new("test.xls","w"))
|
|
assert_nothing_raised {File.new("test.xls","r")}
|
|
#h.write(0.1)
|
|
end
|
|
|
|
end
|