From 754ee1b4c4ca5027233b4ae3b2aefd486e458e62 Mon Sep 17 00:00:00 2001 From: Harald Eilertsen Date: Sun, 1 Feb 2015 17:41:13 +0100 Subject: Return `nil` if postcodes don't match exactly. --- test/test_postcodes.rb | 32 ++++++++++++++++++++++++++------ 1 file changed, 26 insertions(+), 6 deletions(-) (limited to 'test') diff --git a/test/test_postcodes.rb b/test/test_postcodes.rb index e3f2080..3b38784 100644 --- a/test/test_postcodes.rb +++ b/test/test_postcodes.rb @@ -6,12 +6,6 @@ describe PostCodes::PostCode do @postcode = PostCodes::PostCode.new('1234', 'MYTOWN', '1378', 'MY MUNICIPALITY', 'G') end - it "compares to a postcode" do - (@postcode >= '1233').must_equal true - (@postcode >= '1234').must_equal true - (@postcode >= '1235').must_equal false - end - it "has a county" do @postcode.county.must_equal [13, '(BERGEN)'] end @@ -53,3 +47,29 @@ describe 'PostCodes::county' do PostCodes.county(24).must_equal nil end end + +describe PostCodes do + before do + codes = [ + "0100\tFIRST TOWN\t0101\tFIRST MUNICIPALITY\tG", + "1234\tMYTONW\t1278\tMY MUNICIPALITY\tG", + "6734\tOTHERTOWN\t2783\tOTHER MUNICIPALITY\tG" + ] + PostCodes.load(StringIO.new(codes.join("\n").encode(Encoding::ISO_8859_15))) + end + + it "can find existing postcode" do + c = PostCodes.search('0100') + c.must_be_kind_of(PostCodes::PostCode) + c.city.must_equal('FIRST TOWN') + + c1 = PostCodes.search('6734') + c1.must_be_kind_of(PostCodes::PostCode) + c1.city.must_equal('OTHERTOWN') + end + + it "returns nil if postcode does not exist" do + c = PostCodes.search('2222') + c.must_equal(nil) + end +end -- cgit v1.2.3