Thanks for your help, Ben!

I am confused on your assert_equal method:

assert_equal a.gsub(/['"]/, ''), b.gsub(/['"]/, '')

Is /['"]/ will strip out the quotes when comparing?

My assert_equal method:

assert_equal(arr[0],$ie.frame("top").select_list(:name,"site_id").getAll
Contents)

1. The portion arr[0] is from the read in external file.
2. $ie.frame("top").select_list(:name,"site_id"). is from the dropdown
list application
=======================================

This is the csv external file dropList.csv   contain: 

:: Select Site ::  !!Eastgate_Mall 

--------------------------------------

I think my actual problem is when reading into an array and compare, it
did not separate :: Select Site ::   as one  field and ::
!!Eastgate_Mall  to another field for double quotes

That why the expect is <[":: Select Site ::,!!Eastgate_Mall,,,,,\n"]
( missing separate double quotes)

Instead of  <[":: Select Site ::", "!!Eastgate_Mall"]>.

-----------------

Thanks for your help!



-----Original Message-----
From: Ben Bleything [mailto:ben / bleything.net] 
Sent: Wednesday, August 23, 2006 9:50 AM
To: ruby-talk ML
Subject: Re: How do I strip off the extra double quote or white space in
the string when using assert_equal method

On Thu, Aug 24, 2006, Ban Hoang wrote:
> I try to read in an external file to array and compare them to the
drop
> down list in our application. I got into the problem when comparing,
the
> extra double quotes make the assertion result failed. Can anyone help
me
> to make it work? 

A couple of options:

1) If your external file is truly CSV (comma-separated values) use a CSV
parser to parse it.  Though, from your example, it doesn't seem to be
the case... here's some code anyway.

.....
require 'csv'

rows = []

CSV.open('dropList.csv', 'r') do |row|
  rows << row
end
.....

Then compare the parsed rows against your dropdown array.

2) Write your own assertion:

.....
def assert_equal_without_quotes(a,b)
  assert_equal a.gsub(/['"]/, ''), b.gsub(/['"]/, '')
end
.....

Untested, but that might work ;)

Ben