File: nest_spec.rb

package info (click to toggle)
ruby-rubyvis 0.6.1%2Bdfsg1-2
  • links: PTS, VCS
  • area: main
  • in suites: buster, stretch
  • size: 1,808 kB
  • ctags: 679
  • sloc: ruby: 11,114; makefile: 2
file content (47 lines) | stat: -rw-r--r-- 1,817 bytes parent folder | download | duplicates (3)
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
39
40
41
42
43
44
45
46
47
require File.expand_path(File.dirname(__FILE__)+"/spec_helper.rb")
describe Rubyvis::Nest do
  before do
    @data=[
    { :year=>2010, :city=>'London',:value=>1},
    { :year=>2010, :city=>'France',:value=>2},
    { :year=>2011, :city=>'London',:value=>5},
    { :year=>2011, :city=>'France',:value=>6},
  ]
  end
  it "should generate correct map" do
    nest = pv.nest(@data).key(lambda {|d| d[:year]}).key(lambda {|d|  d[:city]}).map()
    
    expected={2010=>{"London"=>[{:year=>2010, :city=>"London", :value=>1}], "France"=>[{:year=>2010, :city=>"France", :value=>2}]}, 2011=>{"London"=>[{:year=>2011, :city=>"London", :value=>5}], "France"=>[{:year=>2011, :city=>"France", :value=>6}]}}
    nest.should==expected

  end
  it "should generate correct rollup" do
    nest = pv.nest(@data).key(lambda {|d| d[:year]}).key(lambda {|d|  d[:city]}).rollup(lambda {|d| d.map{|dd| dd[:value]}})
    expected={2010=>{"London"=>[1], "France"=>[2]}, 2011=>{"London"=>[5], "France"=>[6]}}
    nest.should==expected
    
  end
  it "should generate correct entries" do
    nest = pv.nest(@data).key(lambda {|d| d[:year]}).key(lambda {|d|  d[:city]}).entries();
    expected=[
    Rubyvis::NestedArray.new(:key=>2010, :values=>
      [
        Rubyvis::NestedArray.new(:key=>'London', :values=>
          [{:year=>2010, :city=>'London',:value=>1}]),
        Rubyvis::NestedArray.new(:key=>'France', :values=>
          [{:year=>2010, :city=>'France',:value=>2}])
      ]),
    Rubyvis::NestedArray.new(:key=>2011, :values=>
      [
        Rubyvis::NestedArray.new(:key=>'London', :values=>
          [{:year=>2011, :city=>'London',:value=>5}]),
        Rubyvis::NestedArray.new(:key=>'France', :values=>
          [{:year=>2011, :city=>'France',:value=>6}])
      ])
    ]
    
    nest.should==expected
      
  end
  
end