rcsvreader 0.1.1 → 0.1.2
Sign up to get free protection for your applications and to get access to all the features.
- data/lib/csv_reader.rb +3 -2
- data/test/test.rb +11 -11
- metadata +2 -2
data/lib/csv_reader.rb
CHANGED
@@ -1,3 +1,4 @@
|
|
1
|
+
require 'rubygems'
|
1
2
|
require 'ccsv'
|
2
3
|
|
3
4
|
# Copyright (c) 2010, Daniel Quirino Oliveira
|
@@ -11,9 +12,9 @@ require 'ccsv'
|
|
11
12
|
#
|
12
13
|
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
13
14
|
|
14
|
-
module
|
15
|
+
module CSVReader
|
15
16
|
|
16
|
-
class
|
17
|
+
class Reader
|
17
18
|
|
18
19
|
def initialize(file, expected_header)
|
19
20
|
@file = file
|
data/test/test.rb
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
require 'test/unit'
|
2
|
-
require
|
2
|
+
require "#{File.dirname(__FILE__)}/../lib/csv_reader.rb"
|
3
3
|
|
4
4
|
# Copyright (c) 2010, Daniel Quirino Oliveira
|
5
5
|
# All rights reserved.
|
@@ -19,7 +19,7 @@ class TestCSVReader < Test::Unit::TestCase
|
|
19
19
|
end
|
20
20
|
|
21
21
|
def test_fetch_all_rows_and_all_columns_sorted
|
22
|
-
reader =
|
22
|
+
reader = CSVReader::Reader.new("#{@data_dir}/foo.csv", ["name","email"])
|
23
23
|
expected_lines = 4
|
24
24
|
lines = 0
|
25
25
|
reader.foreach do |line|
|
@@ -29,7 +29,7 @@ class TestCSVReader < Test::Unit::TestCase
|
|
29
29
|
end
|
30
30
|
|
31
31
|
def test_fetch_all_rows_and_all_columns_unsorted
|
32
|
-
reader =
|
32
|
+
reader = CSVReader::Reader.new("#{@data_dir}/foo.csv", ["email","name"])
|
33
33
|
expected_lines = 4
|
34
34
|
lines = 0
|
35
35
|
reader.foreach do |line|
|
@@ -39,7 +39,7 @@ class TestCSVReader < Test::Unit::TestCase
|
|
39
39
|
end
|
40
40
|
|
41
41
|
def test_fetch_all_rows_and_only_expected_columns
|
42
|
-
reader =
|
42
|
+
reader = CSVReader::Reader.new("#{@data_dir}/foo.csv", ["email"])
|
43
43
|
expected_lines = 4
|
44
44
|
lines = 0
|
45
45
|
reader.foreach do |line|
|
@@ -50,25 +50,25 @@ class TestCSVReader < Test::Unit::TestCase
|
|
50
50
|
|
51
51
|
def test_accept_partial_valid_header
|
52
52
|
assert_nothing_raised do
|
53
|
-
reader =
|
53
|
+
reader = CSVReader::Reader.new("#{@data_dir}/foo.csv", ["name"])
|
54
54
|
end
|
55
55
|
end
|
56
56
|
|
57
57
|
def test_fail_missing_age_column_in_csv_header
|
58
|
-
assert_raise
|
59
|
-
reader =
|
58
|
+
assert_raise CSVReader::InvalidHeaderException do
|
59
|
+
reader = CSVReader::Reader.new("#{@data_dir}/foo.csv", ["name", "email", "age"])
|
60
60
|
end
|
61
61
|
end
|
62
62
|
|
63
63
|
def test_fail_invalid_header
|
64
|
-
assert_raise
|
65
|
-
reader =
|
64
|
+
assert_raise CSVReader::InvalidHeaderException do
|
65
|
+
reader = CSVReader::Reader.new("#{@data_dir}/foo.csv", ["foo","bar"])
|
66
66
|
end
|
67
67
|
end
|
68
68
|
|
69
69
|
def test_fail_no_expected_header
|
70
|
-
assert_raise
|
71
|
-
reader =
|
70
|
+
assert_raise CSVReader::InvalidHeaderException do
|
71
|
+
reader = CSVReader::Reader.new("#{@data_dir}/foo.csv", [])
|
72
72
|
end
|
73
73
|
end
|
74
74
|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rcsvreader
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Daniel Quirino Oliveira
|
@@ -9,7 +9,7 @@ autorequire: name
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date: 2010-
|
12
|
+
date: 2010-02-23 00:00:00 -03:00
|
13
13
|
default_executable:
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|