summaryrefslogtreecommitdiffstats
path: root/test/excelx/cell/test_date.rb
blob: 7bd046bede967473d2b27f58b65dabc2456d3acc (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
require 'test_helper'

class TestRooExcelxCellDate < Minitest::Test
  def date_cell
    Roo::Excelx::Cell::Date
  end

  def base_date
    ::Date.new(1899, 12, 30)
  end

  def base_date_1904
    ::Date.new(1904, 01, 01)
  end

  def test_handles_1904_base_date
    cell = date_cell.new('41791', nil, [:numeric_or_formula, 'mm-dd-yy'], 6, nil, base_date_1904, nil)
    assert_equal ::Date.new(2018, 06, 02), cell.value
  end

  def test_formatted_value
    cell = date_cell.new('41791', nil, [:numeric_or_formula, 'mm-dd-yy'], 6, nil, base_date, nil)
    assert_equal '06-01-14', cell.formatted_value

    cell = date_cell.new('41791', nil, [:numeric_or_formula, 'yyyy-mm-dd'], 6, nil, base_date, nil)
    assert_equal '2014-06-01', cell.formatted_value
  end

  def test_value_is_date
    cell = date_cell.new('41791', nil, [:numeric_or_formula, 'mm-dd-yy'], 6, nil, base_date, nil)
    assert_kind_of ::Date, cell.value
  end

  def test_value
    cell = date_cell.new('41791', nil, [:numeric_or_formula, 'mm-dd-yy'], 6, nil, base_date, nil)
    assert_equal ::Date.new(2014, 06, 01), cell.value
  end
end