Sha256: d60bb064f9813f60e7025d867b543872b4421d6c93848bc83914484df9d642f0

Contents?: true

Size: 1.76 KB

Versions: 3

Compression:

Stored size: 1.76 KB

Contents

# coding: utf-8

require 'test_helper'

class Thinreports::Core::Shape::Basic::TestBlockInternal < Minitest::Test
  include Thinreports::TestHelper

  Basic = Thinreports::Core::Shape::Basic

  def test_box_should_return_value_of_format
    internal = init_internal('box' => 'box of format')
    assert_equal internal.box, 'box of format'
  end

  def test_read_value_should_return_value_from_format
    internal = init_internal('value' => 'default value')
    assert_equal internal.read_value, 'default value'
  end

  def test_read_value_should_return_value_from_state_with_value_key
    internal = init_internal
    internal.states[:value] = 'new value'
    assert_equal internal.read_value, 'new value'
  end

  def test_real_value_should_return_the_same_value_as_a_read_value_method
    internal = init_internal
    internal.states[:value] = 'foo'
    assert_same internal.real_value, internal.read_value
  end

  def test_write_value_should_save_value_to_states_store_as_value
    internal = init_internal
    internal.write_value('new value')
    assert_equal internal.states[:value], 'new value'
  end

  def test_type_of_asker_should_return_true_when_given_the_block_value
    assert_equal init_internal.type_of?(:block), true
  end

  def test_value_should_works_the_same_as_read_value_method
    internal = init_internal
    internal.write_value('new value')
    assert_same internal.read_value, internal.value
  end

  def test_type_of_asker_should_return_false_otherwise
    assert_equal [:iblock, :tblock, :text, :list].all? {|t| !init_internal.type_of?(t)}, true
  end

  def init_internal(format = {})
    report = Thinreports::Report.new layout: data_file('layout_text1')
    parent = report.start_new_page

    Basic::BlockInternal.new(parent, Basic::BlockFormat.new(format))
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
thinreports-0.8.2 test/unit/core/shape/basic/test_basic_internal.rb
thinreports-0.8.1 test/unit/core/shape/basic/test_basic_internal.rb
thinreports-0.8.0 test/unit/core/shape/basic/test_basic_internal.rb