Sha256: 86ac26d613c503223e0509291c1d62ea1d0561f2c57545842f0b9d7ac392ce48

Contents?: true

Size: 1007 Bytes

Versions: 1

Compression:

Stored size: 1007 Bytes

Contents

# -*- coding: utf-8 -*-
require File.join(File.dirname(__FILE__), "..", "..", "spec_helper")

describe "Tree Node Dsl Derived Class with n-arg constructor" do

  class ArgsTreeNode < TreeNode
    attr_reader :description

    def initialize(name, description, parent)
      content = "a: #{description}"
      super(content, parent)
      @description = description
    end

  end

  class ArgsLeafNode < LeafNode
    attr_reader :description

    def initialize(name, description, parent)
      content = "a: #{description}"
      super(content, parent)
      @description = description
    end

  end

  it "test_derivated_args" do
    tree = TreeNode.create(ArgsTreeNode, ArgsLeafNode) do
      node "root", "droot" do
        leaf "l1", "dl1"
        leaf "l2", "dl2"
        node "sub", "dsub" do
          leaf "l3", "dl3"
        end
      end
    end

    # puts tree.to_str
    out =<<EOS
a: droot
|-- a: dl1
|-- a: dl2
`-- a: dsub
    `-- a: dl3
EOS
    expect(tree.to_str).to be == out
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
tree.rb-0.3.13 spec/tree_rb/core/tree_dsl_with_derived_class1_spec.rb