Sha256: 78553093f09e6e713a155ac3d82947c715322f1f2cae8b619e358b06fae69a74
Contents?: true
Size: 1.95 KB
Versions: 1
Compression:
Stored size: 1.95 KB
Contents
require 'spec_helper' describe Nutmeg::TagTree do before(:each) do tree = Tree::TreeNode.new("ROOT", {:tag_id => 0, :slug => "root"}) tree << Tree::TreeNode.new("base", {:tag_id => 1, :slug => "base"}) << Tree::TreeNode.new("child", {:tag_id => 2, :slug => "child"}) @tag_tree = Nutmeg::TagTree.new(tree) end describe "#initialize" do it "verifies initialize works correctly" do expect(@tag_tree.original.class).to eq(Tree::TreeNode) end end describe "#subtree" do it "returns a subtree starting at tag with slug 'base'" do expect(@tag_tree.original.size).to eq(3) expect(@tag_tree.subtree("base").original.size).to eq(2) end end describe "#get_paths_eager" do it 'verifies output is similar' do expect(@tag_tree.get_paths_eager(["base"]).first.first.class).to eq(@tag_tree.get_paths(["base", "child"]).first.first.class) end end describe "#get_paths_formatted" do it "returns base/child when using [1,2] as selector" do expect(@tag_tree.get_paths_formatted(["base", "child"]).first).to eq("base/child") end end context "Order paths by relevance" do describe "#get_paths_formatted" do it "returns paths in the right order" do data = File.open([Dir.pwd, "/spec/files/big_tree.json"].join) @tree_from_json = Nutmeg::TreeFromJson.new(data) subtree = @tree_from_json.tree.subtree("north") expect(subtree.get_paths_formatted(["north", "about", "milestones", "2014", "the-netherlands"])).to eq(["north/about/milestones/2014", "north/about/factsheets/2014"]) end end end describe "descendant nodes" do it "Retrieve a path to a descendant node, given a leaf node" do path = @tag_tree.get_path_to_node("child") expect(path.length).to eql(3) end it "Retrieve a path to a descendant node, given a middle-tree node" do path = @tag_tree.get_path_to_node("base") expect(path.length).to eql(2) end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
nutmeg-0.0.14 | spec/tag_tree_spec.rb |