Sha256: 891e6dac746cb48f874e572559810b59b5a41a6c7656efa33331003510adb73c
Contents?: true
Size: 1.29 KB
Versions: 4
Compression:
Stored size: 1.29 KB
Contents
# Copyright: Copyright (c) 2004 Nicolas Despres. All rights reserved. # Author: Nicolas Despres <polrop@lrde.epita.fr>. # License: Gnu General Public License. # $LastChangedBy: polrop $ # $Id: node.rb 171 2005-03-29 09:12:47Z polrop $ require 'abstract_node' class LabeledNode < AbstractNode include Concrete def initialize(data=nil, *sub_nodes) if sub_nodes.empty? @sub_nodes = {} else @sub_nodes = sub_nodes.first end super end def merge!(sub_nodes) sub_nodes.each { |index, sub_node| check_sub_node_type(sub_node) } @sub_nodes.merge(sub_nodes) end end # class LabeledNode if defined? TEST_MODE or __FILE__ == $0 require 'test/unit' class LabeledNodeTest < Test::Unit::TestCase def test_simple s11 = LabeledNode.new(11) s12 = LabeledNode.new(12) s = LabeledNode.new(1, 0 => s11, 1 => s12) assert_equal(1, s.data) assert_equal(s11, s.sub_nodes[0]) assert_equal(s12, s.sub_nodes[1]) end def test_crochet_equal s = LabeledNode.new(1) assert_nothing_raised { s[0] = LabeledNode.new(10) } assert_raises(TypeError) { s[1] = nil } end def test_merge s = LabeledNode.new(1) s11 = LabeledNode.new(11) s12 = LabeledNode.new(12) s.merge!({ 0 => s11, 1 => s12 }) end end # class LabeledNodeTest end
Version data entries
4 entries across 4 versions & 2 rubygems
Version | Path |
---|---|
ttk-0.1.576 | ruby_ex/labeled_node.rb |
ttk-0.1.580 | ruby_ex/labeled_node.rb |
ttk-0.1.579 | ruby_ex/labeled_node.rb |
vcs-0.2.148 | ruby_ex/labeled_node.rb |