loose_tight_dictionary 0.0.4 → 0.0.5

Sign up to get free protection for your applications and to get access to all the features.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.0.4
1
+ 0.0.5
@@ -82,26 +82,26 @@ class LooseTightDictionary
82
82
  left = read_left left_record
83
83
  right = read_right right_record
84
84
 
85
- if p = positives.andand.detect { |record| record[0] == left }
86
- correct_right = p[1]
87
- else
88
- correct_right = :ignore
89
- end
90
-
91
- if n = negatives.andand.detect { |record| record[0] == left }
92
- incorrect_right = n[1]
93
- else
94
- incorrect_right = :ignore
95
- end
96
-
97
- if correct_right != :ignore and right != correct_right
98
- logger.andand.debug " Mismatch! (should be #{correct_right})"
99
- raise Mismatch
85
+ if positive_record = positives.andand.detect { |record| record[0] == left }
86
+ correct_right = positive_record[1]
87
+ if correct_right.blank? and right.present?
88
+ logger.andand.debug " Mismatch! (should match SOMETHING)"
89
+ raise Mismatch
90
+ elsif right != correct_right
91
+ logger.andand.debug " Mismatch! (should be #{correct_right})"
92
+ raise Mismatch
93
+ end
100
94
  end
101
95
 
102
- if incorrect_right != :ignore and right == incorrect_right
103
- logger.andand.debug " False positive! (should NOT be #{incorrect_right})"
104
- raise FalsePositive
96
+ if negative_record = negatives.andand.detect { |record| record[0] == left }
97
+ incorrect_right = negative_record[1]
98
+ if incorrect_right.blank? and right.present?
99
+ logger.andand.debug " False positive! (should NOT match ANYTHING)"
100
+ raise FalsePositive
101
+ elsif right == incorrect_right
102
+ logger.andand.debug " False positive! (should NOT be #{incorrect_right})"
103
+ raise FalsePositive
104
+ end
105
105
  end
106
106
  end
107
107
 
@@ -68,6 +68,20 @@ class TestLooseTightDictionary < Test::Unit::TestCase
68
68
  end
69
69
 
70
70
  if ENV['OLD'] == 'true' or ENV['ALL'] == 'true'
71
+ should "call it a mismatch if you hit a blank positive" do
72
+ @positives.push [@a_left[0], '']
73
+ assert_raises(LooseTightDictionary::Mismatch) do
74
+ ltd.left_to_right @a_left
75
+ end
76
+ end
77
+
78
+ should "call it a false positive if you hit a blank negative" do
79
+ @negatives.push [@a_left[0], '']
80
+ assert_raises(LooseTightDictionary::FalsePositive) do
81
+ ltd.left_to_right @a_left
82
+ end
83
+ end
84
+
71
85
  should "have a false match without blocking" do
72
86
  # @d_left will be our victim
73
87
  @right.push @d_lookalike
metadata CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
5
5
  segments:
6
6
  - 0
7
7
  - 0
8
- - 4
9
- version: 0.0.4
8
+ - 5
9
+ version: 0.0.5
10
10
  platform: ruby
11
11
  authors:
12
12
  - Seamus Abshere
@@ -14,7 +14,7 @@ autorequire:
14
14
  bindir: bin
15
15
  cert_chain: []
16
16
 
17
- date: 2010-04-29 00:00:00 -04:00
17
+ date: 2010-05-03 00:00:00 -04:00
18
18
  default_executable:
19
19
  dependencies:
20
20
  - !ruby/object:Gem::Dependency