class StatsampleCSVTestCase

Public Instance Methods

setup() click to toggle source
# File pkg/statsample-1.4.0/test/test_csv.rb, line 3
def setup
  @ds=Statsample::CSV.read(File.dirname(__FILE__)+"/fixtures/test_csv.csv")
end
test_nil() click to toggle source
# File pkg/statsample-1.4.0/test/test_csv.rb, line 20
def test_nil
  assert_equal(nil,@ds['age'][5])
end
test_read() click to toggle source
# File pkg/statsample-1.4.0/test/test_csv.rb, line 6
def test_read
  assert_equal(6,@ds.cases)
  assert_equal(%w{id name age city a1}, @ds.fields)
  id=[1,2,3,4,5,6].to_vector(:scale)
  name=["Alex","Claude","Peter","Franz","George","Fernand"].to_vector(:nominal)
  age=[20,23,25,27,5.5,nil].to_vector(:scale)
  city=["New York","London","London","Paris","Tome",nil].to_vector(:nominal)
  a1=["a,b","b,c","a",nil,"a,b,c",nil].to_vector(:nominal)
  ds_exp=Statsample::Dataset.new({'id'=>id,'name'=>name,'age'=>age,'city'=>city,'a1'=>a1}, %w{id name age city a1})
  ds_exp.fields.each{|f|
    assert_equal(ds_exp[f],@ds[f])
  }
  assert_equal(ds_exp,@ds)
end
test_repeated() click to toggle source
# File pkg/statsample-1.4.0/test/test_csv.rb, line 23
def test_repeated
  ds=Statsample::CSV.read(File.dirname(__FILE__)+"/fixtures/repeated_fields.csv")
  assert_equal(%w{id name_1 age_1 city a1 name_2 age_2},ds.fields)
  age=[3,4,5,6,nil,8].to_vector(:scale)
  assert_equal(age,ds['age_2'])
end
test_write() click to toggle source
# File pkg/statsample-1.4.0/test/test_csv.rb, line 29
def test_write
  filename=Tempfile.new("afile")
  #  filename=Dir::tmpdir+"/test_write.csv"
  Statsample::CSV.write(@ds, filename.path)
  ds2=Statsample::CSV.read(filename.path)
  i=0
  ds2.each_array{|row|
    assert_equal(@ds.case_as_array(i),row)
    i+=1
  }
end