test/test_analysis.rb in statsample-1.4.1 vs test/test_analysis.rb in statsample-1.4.2

- old
+ new

@@ -1,177 +1,176 @@ -require(File.expand_path(File.dirname(__FILE__)+'/helpers_tests.rb')) +require(File.expand_path(File.dirname(__FILE__) + '/helpers_tests.rb')) -class StatsampleAnalysisTestCase < MiniTest::Unit::TestCase +class StatsampleAnalysisTestCase < Minitest::Test context(Statsample::Analysis) do setup do Statsample::Analysis.clear_analysis end - should "store() should create and store Statsample::Analysis::Suite" do + should 'store() should create and store Statsample::Analysis::Suite' do Statsample::Analysis.store(:first) do - a=1 + a = 1 end assert(Statsample::Analysis.stored_analysis[:first]) assert(Statsample::Analysis.stored_analysis[:first].is_a? Statsample::Analysis::Suite) end - - should "ss_analysis should create an Statsample::Analysis" do - ss_analysis(:first) {a=1} + + should 'ss_analysis should create an Statsample::Analysis' do + ss_analysis(:first) { a = 1 } end - should "store last created analysis" do - an=Statsample::Analysis.store(:first) do - a=1 + should 'store last created analysis' do + an = Statsample::Analysis.store(:first) do + a = 1 end - assert_equal(an,Statsample::Analysis.last) + assert_equal(an, Statsample::Analysis.last) end - - should "add_to_reportbuilder() add sections to reportbuilder object" do - rb=mock() - rb.expects(:add).with {|value| value.is_a? ReportBuilder::Section and value.name==:first} - rb.expects(:add).with {|value| value.is_a? ReportBuilder::Section and value.name==:second} - + + should 'add_to_reportbuilder() add sections to reportbuilder object' do + rb = mock + rb.expects(:add).with { |value| value.is_a? ReportBuilder::Section and value.name == :first } + rb.expects(:add).with { |value| value.is_a? ReportBuilder::Section and value.name == :second } + Statsample::Analysis.store(:first) do - echo "first","second" + echo 'first', 'second' end Statsample::Analysis.store(:second) do - echo "third" + echo 'third' end - Statsample::Analysis.add_to_reportbuilder(rb,:first,:second) + Statsample::Analysis.add_to_reportbuilder(rb, :first, :second) end - should "to_text returns the same as a normal ReportBuilder object" do - rb=ReportBuilder.new(:name=>:test) - section=ReportBuilder::Section.new(:name=>"first") - a=[1,2,3].to_scale - section.add("first") + should 'to_text returns the same as a normal ReportBuilder object' do + rb = ReportBuilder.new(name: :test) + section = ReportBuilder::Section.new(name: 'first') + a = [1, 2, 3].to_scale + section.add('first') section.add(a) rb.add(section) - exp=rb.to_text - an=ss_analysis(:first) { + exp = rb.to_text + an = ss_analysis(:first) { echo 'first' summary(a) } - obs=Statsample::Analysis.to_text(:first) - - assert_equal(exp.split("\n")[1,exp.size], obs.split("\n")[1,obs.size]) + obs = Statsample::Analysis.to_text(:first) + + assert_equal(exp.split("\n")[1, exp.size], obs.split("\n")[1, obs.size]) end - - should "run() execute all analysis by default" do - m1=mock() + + should 'run() execute all analysis by default' do + m1 = mock m1.expects(:run).once m1.expects(:hide).once - + Statsample::Analysis.store(:first) do m1.run end Statsample::Analysis.store(:second) do m1.hide end - + # Should run all test Statsample::Analysis.run end - - should "run() execute blocks specificed on parameters" do - m1=mock() - m1.expects(:run).once + + should 'run() execute blocks specificed on parameters' do + m1 = mock + m1.expects(:run).once m1.expects(:hide).never Statsample::Analysis.store(:first) do m1.run end Statsample::Analysis.store(:second) do m1.hide end # Should run all test Statsample::Analysis.run(:first) end - + context(Statsample::Analysis::Suite) do - should "echo() uses output#puts with same arguments" do - an=Statsample::Analysis::Suite.new(:output) - obj=mock() - obj.expects(:puts).with(:first,:second).once - an.output=obj - an.echo(:first,:second) + should 'echo() uses output#puts with same arguments' do + an = Statsample::Analysis::Suite.new(:output) + obj = mock + obj.expects(:puts).with(:first, :second).once + an.output = obj + an.echo(:first, :second) end - should "summary() should call object.summary" do - an=Statsample::Analysis::Suite.new(:summary) - obj=stub('summarizable',:summary=>'summary') - assert_equal(obj.summary,an.summary(obj)) + should 'summary() should call object.summary' do + an = Statsample::Analysis::Suite.new(:summary) + obj = stub('summarizable', summary: 'summary') + assert_equal(obj.summary, an.summary(obj)) end - should "attach() allows to call objects on objects which respond to fields" do - an=Statsample::Analysis::Suite.new(:summary) - ds={'x'=>stub(:mean=>10),'y'=>stub(:mean=>12)} - ds.expects(:fields).returns(%w{x y}).at_least_once + should 'attach() allows to call objects on objects which respond to fields' do + an = Statsample::Analysis::Suite.new(:summary) + ds = { 'x' => stub(mean: 10), 'y' => stub(mean: 12) } + ds.expects(:fields).returns(%w(x y)).at_least_once an.attach(ds) - assert_equal(10,an.x.mean) - assert_equal(12,an.y.mean) + assert_equal(10, an.x.mean) + assert_equal(12, an.y.mean) assert_raise(RuntimeError) { an.z } end - should "attached objects should be called LIFO" do - an=Statsample::Analysis::Suite.new(:summary) - ds1={'x'=>stub(:mean=>100),'y'=>stub(:mean=>120),'z'=>stub(:mean=>13)} - ds1.expects(:fields).returns(%w{x y z}).at_least_once - ds2={'x'=>stub(:mean=>10),'y'=>stub(:mean=>12)} - ds2.expects(:fields).returns(%w{x y}).at_least_once + should 'attached objects should be called LIFO' do + an = Statsample::Analysis::Suite.new(:summary) + ds1 = { 'x' => stub(mean: 100), 'y' => stub(mean: 120), 'z' => stub(mean: 13) } + ds1.expects(:fields).returns(%w(x y z)).at_least_once + ds2 = { 'x' => stub(mean: 10), 'y' => stub(mean: 12) } + ds2.expects(:fields).returns(%w(x y)).at_least_once an.attach(ds1) an.attach(ds2) - assert_equal(10,an.x.mean) - assert_equal(12,an.y.mean) - assert_equal(13,an.z.mean) + assert_equal(10, an.x.mean) + assert_equal(12, an.y.mean) + assert_equal(13, an.z.mean) end - - should "detach() without arguments drop latest object" do - an=Statsample::Analysis::Suite.new(:summary) - ds1={'x'=>stub(:mean=>100),'y'=>stub(:mean=>120),'z'=>stub(:mean=>13)} - ds1.expects(:fields).returns(%w{x y z}).at_least_once - ds2={'x'=>stub(:mean=>10),'y'=>stub(:mean=>12)} - ds2.expects(:fields).returns(%w{x y}).at_least_once + + should 'detach() without arguments drop latest object' do + an = Statsample::Analysis::Suite.new(:summary) + ds1 = { 'x' => stub(mean: 100), 'y' => stub(mean: 120), 'z' => stub(mean: 13) } + ds1.expects(:fields).returns(%w(x y z)).at_least_once + ds2 = { 'x' => stub(mean: 10), 'y' => stub(mean: 12) } + ds2.expects(:fields).returns(%w(x y)).at_least_once an.attach(ds1) an.attach(ds2) - assert_equal(10,an.x.mean) + assert_equal(10, an.x.mean) an.detach assert_equal(100, an.x.mean) end - should "detach() with argument drop select object" do - an=Statsample::Analysis::Suite.new(:summary) - ds1={'x'=>1} - ds1.expects(:fields).returns(%w{x}).at_least_once - ds2={'x'=>2,'y'=>3} - ds2.expects(:fields).returns(%w{x y}).at_least_once - ds3={'y'=>4} - ds3.expects(:fields).returns(%w{y}).at_least_once - + should 'detach() with argument drop select object' do + an = Statsample::Analysis::Suite.new(:summary) + ds1 = { 'x' => 1 } + ds1.expects(:fields).returns(%w(x)).at_least_once + ds2 = { 'x' => 2, 'y' => 3 } + ds2.expects(:fields).returns(%w(x y)).at_least_once + ds3 = { 'y' => 4 } + ds3.expects(:fields).returns(%w(y)).at_least_once + an.attach(ds3) an.attach(ds2) an.attach(ds1) - assert_equal(1,an.x) - assert_equal(3,an.y) + assert_equal(1, an.x) + assert_equal(3, an.y) an.detach(ds2) - assert_equal(4,an.y) + assert_equal(4, an.y) end - should "perform a simple analysis" do - output=mock() + should 'perform a simple analysis' do + output = mock output.expects(:puts).with(5.5) - an=Statsample::Analysis.store(:simple, :output=>output) do - ds=data_frame(:x=>vector(1..10),:y=>vector(1..10)) + an = Statsample::Analysis.store(:simple, output: output) do + ds = data_frame(x: vector(1..10), y: vector(1..10)) attach(ds) echo x.mean end an.run end end context(Statsample::Analysis::SuiteReportBuilder) do - should "echo() use add on rb object" do - an=Statsample::Analysis::SuiteReportBuilder.new(:puts_to_add) + should 'echo() use add on rb object' do + an = Statsample::Analysis::SuiteReportBuilder.new(:puts_to_add) an.rb.expects(:add).with(:first).twice an.echo(:first, :first) end - should "summary() uses add on rb object" do - an=Statsample::Analysis::SuiteReportBuilder.new(:summary_to_add) + should 'summary() uses add on rb object' do + an = Statsample::Analysis::SuiteReportBuilder.new(:summary_to_add) an.rb.expects(:add).with(:first).once an.summary(:first) end end - end end