Skip to search.

Breaking News Visit Yahoo! News for the latest.

×Close this window

testdrivendevelopment · Test-driven Development

The Yahoo! Groups Product Blog

Check it out!

Group Information

  • Members: 4911
  • Category: Software
  • Founded: Feb 7, 2002
  • Language: English
? Already a member? Sign in to Yahoo!

Yahoo! Groups Tips

Did you know...
Real people. Real stories. See how Yahoo! Groups impacts members worldwide.

Messages

Advanced
Messages Help
Messages 7259 - 7288 of 35472   Oldest  |  < Older  |  Newer >  |  Newest
Messages: Show Message Summaries Sort by Date ^  
#7259 From: Chris Hanson <cmh@...>
Date: Sun Aug 1, 2004 8:00 am
Subject: Re: [TDD] Advice for Swing GUI Testing?
cmh23
Send Email Send Email
 
On Jul 31, 2004, at 5:59 AM, Peter Gummer wrote:
> Whether it's code or data, how does that change the problem? Data can
> go missing just as easily as a line of code.
>
> The point that being declarative makes the omission more obvious may be
> well taken. I'm not so sure that putting the data is in a separate file
> helps, though, because then it can be harder to notice the error.

Actually, it's quite easy to notice the error if you're doing
test-driven development regardless of whether you're using code or data
to generate your interface.

Let's say you're using data.  I wouldn't write tests that look at the
data file that describes the interface itself.  Rather, I would write
tests that instantiate the interface, and inspect how it's wired up in
as much detail as I need to be confident it's correct but no more.  I'd
generally leave look and feel issues separate, and concentrate on the
wiring itself.

For example, let's say I'm building a simple currency converter app.  A
test case may load the interface in its -setUp method; this
automatically "wires up" everything.  One test might look to see that
there's a button wired up to the application controller's
"convertButton" instance variable (which in Cocoa we call an "outlet"
when used like this), and check that the button has its target & action
method set to the controller and -convert: respectively.

Another test may see whether there is a text field with a proper
currency formatter connected to the controller's "convertFrom" outlet.
Another may test whether there's an "exchangeRate" text field, and so
on.  Still more tests may check whether my actual conversion logic
works, and whether things are wired up in such a way that the right
input and output will happen between that logic and the interface.

I'm not really writing code to check the individual frame rectangles of
the controls or anything like that, just that they exist and are wired
up like the rest of the code I'm about to write will expect.

    -- Chris

--
Chris Hanson <cmh@...>
http://www.livejournal.com/users/chanson/

#7260 From: "J. B. Rainsberger" <jbrains@...>
Date: Mon Aug 2, 2004 4:08 pm
Subject: Re: [TDD] Advice for Swing GUI Testing?
nails762
Send Email Send Email
 
Phlip wrote:

>>One technique is Gold Master: build up the resource
>>file once, take a
>>snapshot, then check future versions against the
>>snapshot. If the
>>resource file changes, you'll know that it has
>>changed and can verify
>>that the change was intentional and correct. This
>>could be as simple as
>>a verbatim text file comparison.
>
> What if you use a text merging engine to localize an
> English RC file into a dozen other languages?

I presume that the master resource file has labels in place of localized
strings. Use Gold Master on that file.

I presume that you have translated files for each language. Use Gold
Master on each of those files.
--
J. B. Rainsberger,
Diaspar Software Services
http://www.diasparsoftware.com :: +1 416 791-8603
Let's write software that people understand

#7261 From: Phlip <phlipcpp@...>
Date: Mon Aug 2, 2004 10:09 pm
Subject: A TDD Recursive Descent Parser example
phlipcpp
Send Email Send Email
 
TDD Zealots:

I wrote a parser to solve math expressions like "3.0
^(4 - 5)", or "3 / 8", and tossed its extra light code
here:

http://www.xpsd.org/cgi-bin/wiki?RecursiveDescentParserTest

http://www.xpsd.org/cgi-bin/wiki?RecursiveDescentParserCpp

http://www.xpsd.org/cgi-bin/wiki?RecursiveDescentParserHpp

Any debate or bug discoveries welcome.

=====
Phlip
   http://industrialxp.org/community/bin/view/Main/TestFirstUserInterfaces



__________________________________
Do you Yahoo!?
Yahoo! Mail - 50x more storage than other providers!
http://promotions.yahoo.com/new_mail

#7262 From: "mukadam_sami" <mukadam_sami@...>
Date: Mon Aug 2, 2004 8:59 am
Subject: XP in outsourcing scenario
mukadam_sami
Send Email Send Email
 
Hi All,
I was looking for an example where extreme programming is succesful
in outsourced cases(software development outsourcing) to different
geographies and what should a software customer look for in such
cases (pitfalls), what are the iteration periods normally and what
are metrics available for measuring success of XP over the
conventional waterfall model so as to quantify the figures in
dollars.
Thanks
Sami Mukadam
Technical Manager,
P&G India,
Global IT Right Sourcing, GBS

Tel no: (91) (022) (2826 7449)
Mobile: (91) (09819320174)

#7263 From: Paul Michali <pcm@...>
Date: Tue Aug 3, 2004 11:22 am
Subject: Suggestions on how to approach TDD for this problem?
pc_michali
Send Email Send Email
 
Hi all!

In my never ending quest to try to learn TDD (and
play in areas where I have little experience), I'm
trying to write a second generation of a small
command line Java app that I made for processing
membership info for a local car club.

PROBLEM DESCRIPTION:

As membership chair, I get, on a monthly basis an
Excel spreadsheet that has a listing of all the
membership. Each entry has member name, address,
phone, e-mail, etc. and most importantly current
status (current, new, expired).

With this information I have two goals. Goal "A"
is to generate various reports of interest to
members. Examples are, number of new members,
expired members, percent and number of members
per county, per state in the region, and total
members in this chapter. List of new members,
with city and car model(s) and year(s), and so
on. this info is presented in the club newsletters
and presented at meetings.

Goal "B" is to maintain a "database" of both
current and old membership information. Unlike
the monthly spreadsheets, I want to keep information
on expired members, so that I can evaluate historical
data, like number of members expired by county,
average membership duration, etc. Also, I'll want to
do numerous searches, to obtain information for club
activities. For example, we may want to know which
members have a specific model for some upcoming event,
or determine membership per county for targeting
events to a specific region.


THE FIRST REV:

In the first version of the program, I actually had
written two programs. One, that reads the Excel files
using JDBC/ODBC and writes new Excel spreadsheets
with some statistics (list of new members to send
welcome letters, list of members with e-mail addresses,
list of expired members for renewal request letters).

The second program, reads the Excel spreadsheet and
writes out a tab delimited file so that I can "load"
this into a MySQL database (I couldn't figure out
another way). Then, I have a dozen SQL scripts that
I run to collect more detailed information (because
it can compare the new to old database), and to
update the master database.

It's a bit crude, but works, and gives me the ability
to manually intervene for "odd" records in the monthly
info (like cases where they change the member name
spelling, which affects the "key" that I use - a long
story, that I can elaborate on, if needed).

As customer, I think having the final results in a
SQL database, is best, as I can do a variety of queries
on the data (and have needed to several times already).

This is the first time I've ever done anything with
extracting data from spreadsheets from Java and working
with SQL at all (I have very little experience with
databases), so I'm in uncharted waters (which is really
fun - don't get to take those kinds of risks at work!)


GENERATION TWO:

I have several goals here. First, I'd like to automate
the process more, if possible, rather than running two
apps, and then running a bunch of SQL commands. Second,
I'd like to get some of the statistics output in a
format that is easier to use than what MySQL dumps out
from it queries (ran by my SQL scripts). Third, I want
to try TDD again and obviously continue to learn more
about Java, SQL, etc.


QUESTIONS:

Whew! Had to give you some background first, though.
I've got a bunch of questions in various areas, so I'll
blurt them out here, in no specific order...

I'm having trouble figuring out how to get started
with TDD. My first story is one that reads the spreadsheet
and writes to a SQL database to effectively "import" the
new month info. I'm starting with the first part, "read
the data from the spreadsheet". Can anyone advise on how
I approach this test-first?

I started with this, but, tainted by my previous version
knowledge, I "think" I need to open a connection to the
database (an Excel sheet), perform a query, and then extract
the results from the query. All I could come up with was to
create a spreadsheet with one record, one with multiple
records, one with malformed records, etc. and test that I
can read them and that the data is correct.

Is that the simplest thing that could work? It just feels
like a functional test and not a unit test to me and it
seems like I have to write a lot of code to get the first
test to work (I tried and had to write several routines).
Should I be breaking this into separate tests, like
connecting to the database, performing a query, checking
the contents?

I'm sure I'll hit the same problem on the other end, writing
to a database.

Should I consider other approaches? If so, what? Would the
simplest thing be to manually write the spreadsheet out
to tab delimited format, manually load the file into the
database and then work on manipulating the data there,
and do the import work later?

I guess this is part of the problem I'm having with TDD,
is that I'm working in a new "domain" with different
technologies than I'm used to using. How do people deal
with this?

Thanks in advance, for sticking with this long message...


PCM @ WORK (Paul Michali)

#7264 From: Ron Jeffries <jeffries@...>
Date: Tue Aug 3, 2004 11:51 am
Subject: Re: [TDD] Suggestions on how to approach TDD for this problem?
ronaldejeffries
Send Email Send Email
 
On Tuesday, August 3, 2004, at 7:22:35 AM, Paul Michali wrote:

> I'm having trouble figuring out how to get started
> with TDD. My first story is one that reads the spreadsheet
> and writes to a SQL database to effectively "import" the
> new month info. I'm starting with the first part, "read
> the data from the spreadsheet". Can anyone advise on how
> I approach this test-first?

Well, I think I'd not be where you are. But if I were where you are, I'd
write a test that opens a spreadsheet containing A1="Hello", and read the
Hello out of it. :) But seriously, that's what I'd do.

If that took too long (more than ten minutes) I'd try to think of something
simpler, probably either whatever was currently working, or whatever seemed
to be blocking me.

Ron Jeffries
www.XProgramming.com
Now -- Bring me that horizon.  -- Captain Jack Sparrow

#7265 From: Paul Michali <pcm@...>
Date: Tue Aug 3, 2004 1:50 pm
Subject: Re: [TDD] Suggestions on how to approach TDD for this problem?
pc_michali
Send Email Send Email
 
Ron Jeffries wrote:

> On Tuesday, August 3, 2004, at 7:22:35 AM, Paul Michali wrote:
>
>
>>I'm having trouble figuring out how to get started
>>with TDD. My first story is one that reads the spreadsheet
>>and writes to a SQL database to effectively "import" the
>>new month info. I'm starting with the first part, "read
>>the data from the spreadsheet". Can anyone advise on how
>>I approach this test-first?
>
>
> Well, I think I'd not be where you are. But if I were where you are, I'd
> write a test that opens a spreadsheet containing A1="Hello", and read the
> Hello out of it. :) But seriously, that's what I'd do.
>
> If that took too long (more than ten minutes) I'd try to think of something
> simpler, probably either whatever was currently working, or whatever seemed
> to be blocking me.

Thanks, Ron. I'll give it a try - reading just a cell from
the spreadsheet. In that case, would you start with a test
to see if you could just connect to the (Excel spreadsheet)
database?

Part of the problem may be that my view is tainted by the
work I did on the first version.

Regarding not being where I am, do you mean you would approach
the problem differently or something else. Please elaborate,
as maybe a totally different approach would be enlightening.

Is there anything from the way I'm looking at the problem
that you would consider differently (being the customer,
developer, and relying on my split personality to pair
program, may be causing some problems here :^)


PCM @ WORK (Paul Michali)

#7266 From: øåòé àåùøåá <roy@...>
Date: Tue Aug 3, 2004 12:50 pm
Subject: RE: [TDD] Suggestions on how to approach TDD for this problem?
royosherove
Send Email Send Email
 
I agree. I'd test a component that receives and Excel file name and returns
"hello".

In the first test I'd actually return a hard coded "hello" and then make another
test that should return a different string with a different file name.

After that:

For the excel reader:

-          test that given an excel sheet with one membership info you get back
not a string, but an object which represents membership info.

-          (make that test work with a hard coded new instance of membership
info class)

-          Test that given an excel sheeth with twmo membership infos you get
back two info objects with the same property values.

-          And so on and so forth…

For the DB writer:

             -test that there is a DBWrite object that receives a collection of
membership info objects

             -  make sure it actually saves in the database by checking the
number of actual rows after each write.

And go on from there.



________________________________

From: Ron Jeffries [mailto:jeffries@...]
Sent: Tuesday, August 03, 2004 2:51 PM
To: testdrivendevelopment@yahoogroups.com
Subject: Re: [TDD] Suggestions on how to approach TDD for this problem?



On Tuesday, August 3, 2004, at 7:22:35 AM, Paul Michali wrote:

> I'm having trouble figuring out how to get started
> with TDD. My first story is one that reads the spreadsheet
> and writes to a SQL database to effectively "import" the
> new month info. I'm starting with the first part, "read
> the data from the spreadsheet". Can anyone advise on how
> I approach this test-first?

Well, I think I'd not be where you are. But if I were where you are, I'd
write a test that opens a spreadsheet containing A1="Hello", and read the
Hello out of it. :) But seriously, that's what I'd do.

If that took too long (more than ten minutes) I'd try to think of something
simpler, probably either whatever was currently working, or whatever seemed
to be blocking me.

Ron Jeffries
www.XProgramming.com
Now -- Bring me that horizon.  -- Captain Jack Sparrow






Yahoo! Groups Sponsor

ADVERTISEMENT
click here
<http://us.ard.yahoo.com/SIG=129em2sc6/M=295196.4901138.6071305.3001176/D=groups\
/S=1705007181:HM/EXP=1091620306/A=2128215/R=0/SIG=10se96mf6/*http:/companion.yah\
oo.com>

 
<http://us.adserver.yahoo.com/l?M=295196.4901138.6071305.3001176/D=groups/S=:HM/\
A=2128215/rand=501307263>



________________________________

Yahoo! Groups Links

* To visit your group on the web, go to:
	 http://groups.yahoo.com/group/testdrivendevelopment/

* To unsubscribe from this group, send an email to:
	 testdrivendevelopment-unsubscribe@yahoogroups.com
<mailto:testdrivendevelopment-unsubscribe@yahoogroups.com?subject=Unsubscribe>

* Your use of Yahoo! Groups is subject to the Yahoo! Terms of Service
<http://docs.yahoo.com/info/terms/> .



[Non-text portions of this message have been removed]

#7267 From: Phlip <phlipcpp@...>
Date: Tue Aug 3, 2004 2:36 pm
Subject: Re: [TDD] Suggestions on how to approach TDD for this problem?
phlipcpp
Send Email Send Email
 
Paul Michali wrote:

> I'm having trouble figuring out how to get started
> with TDD. My first story is one that reads the
> spreadsheet
> and writes to a SQL database to effectively
> "import" the
> new month info. I'm starting with the first part,
> "read
> the data from the spreadsheet". Can anyone advise
> on how
> I approach this test-first?

You have a cognitive mismatch here. The behaviors the
user sees on the screen don't match the ones whose
tests will seed this situation.

Most spreadsheets have a backdoor. Excel has an OLEDB
driver, so you can write a simple program that reads a
spreadsheet on one ADO channel, and writes its data to
a database on another ADO channel.

There's something to be said for stating User Stories
in terms of user experience. Was there a simpler way?

=====
Phlip
   http://industrialxp.org/community/bin/view/Main/TestFirstUserInterfaces




__________________________________
Do you Yahoo!?
New and Improved Yahoo! Mail - 100MB free storage!
http://promotions.yahoo.com/new_mail

#7268 From: Martin Wegner <marty_wegner@...>
Date: Tue Aug 3, 2004 2:54 pm
Subject: Re: [TDD] Suggestions on how to approach TDD for this problem?
marty_wegner
Send Email Send Email
 
If you are working in Java you can use Jakarta POI to read an Excel spread
sheet:

    http://jakarta.apache.org/poi/index.html




--- Phlip <phlipcpp@...> wrote:

> Paul Michali wrote:
>
> > I'm having trouble figuring out how to get started
> > with TDD. My first story is one that reads the
> > spreadsheet
> > and writes to a SQL database to effectively
> > "import" the
> > new month info. I'm starting with the first part,
> > "read
> > the data from the spreadsheet". Can anyone advise
> > on how
> > I approach this test-first?
>
> You have a cognitive mismatch here. The behaviors the
> user sees on the screen don't match the ones whose
> tests will seed this situation.
>
> Most spreadsheets have a backdoor. Excel has an OLEDB
> driver, so you can write a simple program that reads a
> spreadsheet on one ADO channel, and writes its data to
> a database on another ADO channel.
>
> There's something to be said for stating User Stories
> in terms of user experience. Was there a simpler way?
>
> =====
> Phlip
>
> http://industrialxp.org/community/bin/view/Main/TestFirstUserInterfaces
>
>
>
>
> __________________________________
> Do you Yahoo!?
> New and Improved Yahoo! Mail - 100MB free storage!
> http://promotions.yahoo.com/new_mail
>

#7269 From: Ron Jeffries <jeffries@...>
Date: Tue Aug 3, 2004 6:14 pm
Subject: Re: [TDD] Suggestions on how to approach TDD for this problem?
ronaldejeffries
Send Email Send Email
 
On Tuesday, August 3, 2004, at 9:50:27 AM, Paul Michali wrote:

> Thanks, Ron. I'll give it a try - reading just a cell from
> the spreadsheet. In that case, would you start with a test
> to see if you could just connect to the (Excel spreadsheet)
> database?

Well, I haven't looked at the code to connect, so I don't know. I suspect
I'd write the test I described, read A1 from some file and find "Hello".

> Part of the problem may be that my view is tainted by the
> work I did on the first version.

> Regarding not being where I am, do you mean you would approach
> the problem differently or something else. Please elaborate,
> as maybe a totally different approach would be enlightening.

The application doesn't sound to me as if it needs a database. If I wanted
a database, I wouldn't use Excel, and I don't see why I'd want a database.

> Is there anything from the way I'm looking at the problem
> that you would consider differently (being the customer,
> developer, and relying on my split personality to pair
> program, may be causing some problems here :^)

Hard to tell from here. We'd have to talk about it, work on it, etc.

Ron Jeffries
www.XProgramming.com
Make it real or else forget about it  -- Carlos Santana

#7270 From: "James Grenning" <grenning@...>
Date: Wed Aug 4, 2004 1:35 am
Subject: RE: [TDD] Asynchronous processes
jwgrenning
Send Email Send Email
 
I thought I sent this last week, but found it sitting in my drafts...

> >>  We should avoid unit testing vendor APIs

I think of it as writing acceptance tests for the vendor API.  I don't
want to depend on the whole API.  I am only using the API in a
particular way.  So to make sure it works the way I expect I wrap it to
limit the dependency and test it to make sure I know how it works, and
I'll know if its behavior changes with subsequent releases.

------------------------
James W Grenning
Object Mentor, Inc.
Gurnee, IL 60031
www.objectmentor.com
(847)331-9942
------------------------

#7271 From: Paul Michali <pcm@...>
Date: Wed Aug 4, 2004 1:42 am
Subject: Re: [TDD] Suggestions on how to approach TDD for this problem?
pc_michali
Send Email Send Email
 
Phlip wrote:

> Paul Michali wrote:
>
>
>>I'm having trouble figuring out how to get started
>>with TDD. My first story is one that reads the
>>spreadsheet
>>and writes to a SQL database to effectively
>>"import" the
>>new month info. I'm starting with the first part,
>>"read
>>the data from the spreadsheet". Can anyone advise
>>on how
>>I approach this test-first?
>
>
> You have a cognitive mismatch here. The behaviors the
> user sees on the screen don't match the ones whose
> tests will seed this situation.
>
> Most spreadsheets have a backdoor. Excel has an OLEDB
> driver, so you can write a simple program that reads a
> spreadsheet on one ADO channel, and writes its data to
> a database on another ADO channel.

I'm not familiar with this. Do you know of any pointers
to info on this?


>
> There's something to be said for stating User Stories
> in terms of user experience. Was there a simpler way?

I wrote some stories. Here's a summary of what I have:

1 Statistics on current membership (total #, #/% by county,
    # by state, # in/out of or region).

2 Produce a new member list with name, city, and cars
    owned (grouped by county, sorted by city and then name).

3 Statistics on membership changes (added, dropped, new
    expired, anniversary).

4 Update database, using monthly Spreadsheet report from
    National.

5 Create initial database from Spreadsheet data, selecting
    fields of interest.

I was planning on working on 5, 2, 3, 1, and then 4.


PCM @ WORK (Paul Michali)

Contact info for internal use:
http://wwwin-eng.cisco.com/Eng/ISBU/HSS/WWW/bin/view.cgi/Main/PaulMichali

#7272 From: Paul Michali <pcm@...>
Date: Wed Aug 4, 2004 1:43 am
Subject: Re: [TDD] Suggestions on how to approach TDD for this problem?
pc_michali
Send Email Send Email
 
Martin Wegner wrote:

> If you are working in Java you can use Jakarta POI to read an Excel spread
> sheet:
>
>    http://jakarta.apache.org/poi/index.html

Thanks. I'll look at it.


PCM WORKING @ HOME (Paul Michali)

#7273 From: Paul Michali <pcm@...>
Date: Wed Aug 4, 2004 1:50 am
Subject: Re: [TDD] Suggestions on how to approach TDD for this problem?
pc_michali
Send Email Send Email
 
Ron Jeffries wrote:


>>Regarding not being where I am, do you mean you would approach
>>the problem differently or something else. Please elaborate,
>>as maybe a totally different approach would be enlightening.
>
>
> The application doesn't sound to me as if it needs a database. If I wanted
> a database, I wouldn't use Excel, and I don't see why I'd want a database.

Oh, let me clarify a bit. I get monthly reports from the
National club office. The report contains the current
membership information as an Excel spreadsheet. It has
redundant fields, info that I'd never use, awkwardly
encoded fields, and no unique key (there is a member
number, but it is shared by members and associate
members). They show current, new (for that month) and
expired (for that month) members.

There are two things here. First, I want to accumulated
and maintain the expired members over the months, so
that I can do analysis on it. Second, I'm often asked
for information, like what is a member's ID #, which
members own a certain model, how many members are there
in each county, etc.

I thought that a database would be a nice way to store
and then retrieve that information, just by doing SQL
queries.

In the first version of the app, I actually created a
database table that gives the county name for each
zip code. This way I can quickly determine the county
for each member. It took a while to build the table,
but it is very useful.


PCM @ WORK (Paul Michali)

#7274 From: Phlip <phlipcpp@...>
Date: Wed Aug 4, 2004 2:04 am
Subject: Re: [TDD] Suggestions on how to approach TDD for this problem?
phlipcpp
Send Email Send Email
 
--- Paul Michali <pcm@...> wrote:

> Phlip wrote:

> > Most spreadsheets have a backdoor. Excel has an
> > OLEDB
> > driver, so you can write a simple program that
> > reads a
> > spreadsheet on one ADO channel, and writes its
> > data to
> > a database on another ADO channel.
>
> I'm not familiar with this. Do you know of any
> pointers
> to info on this?

This site has megabytes of answers and examples on the
subject:

    http://groups.google.com



=====
Phlip
   http://industrialxp.org/community/bin/view/Main/TestFirstUserInterfaces




__________________________________
Do you Yahoo!?
New and Improved Yahoo! Mail - 100MB free storage!
http://promotions.yahoo.com/new_mail

#7275 From: Ron Jeffries <jeffries@...>
Date: Wed Aug 4, 2004 2:47 am
Subject: Re: [TDD] Suggestions on how to approach TDD for this problem?
ronaldejeffries
Send Email Send Email
 
On Tuesday, August 3, 2004, at 9:50:14 PM, Paul Michali wrote:

>> The application doesn't sound to me as if it needs a database. If I wanted
>> a database, I wouldn't use Excel, and I don't see why I'd want a database.

> Oh, let me clarify a bit. I get monthly reports from the
> National club office. The report contains the current
> membership information as an Excel spreadsheet. It has
> redundant fields, info that I'd never use, awkwardly
> encoded fields, and no unique key (there is a member
> number, but it is shared by members and associate
> members). They show current, new (for that month) and
> expired (for that month) members.

This certainly explains why we need to read Excel. But don't you already
have an Excel reading capability then? I thought you were just starting on
that. Or is this a new story?

> There are two things here. First, I want to accumulated
> and maintain the expired members over the months, so
> that I can do analysis on it. Second, I'm often asked
> for information, like what is a member's ID #, which
> members own a certain model, how many members are there
> in each county, etc.

> I thought that a database would be a nice way to store
> and then retrieve that information, just by doing SQL
> queries.

I understand people thinking that. I might have gotten to a database, but
rarely do.

How many members are there in the DB?

> In the first version of the app, I actually created a
> database table that gives the county name for each
> zip code. This way I can quickly determine the county
> for each member. It took a while to build the table,
> but it is very useful.

http://www.google.com/search?hl=en&ie=UTF-8&q=zip+code+county+48169&btnG=Google+\
Search

http://www.google.com/search?hl=en&lr=&ie=UTF-8&safe=off&q=zip+code+county+68104

I don't know if it always works. I'd guess there's a zipcode DB on the web
someplace. I could imagine storing it as a text file and grepping it.

But I just have this thing about not using a database until nothing else
will do. Not necessarily the right idea, just what I do.

Ron Jeffries
www.XProgramming.com
It is a bad plan that admits of no modifications. -- Publius Syrus (ca. 42 BCE)

#7276 From: June Clarke <joonspoon@...>
Date: Wed Aug 4, 2004 5:11 am
Subject: ANN: XPSD monthly meeting this Thursday
joonspoon
Send Email Send Email
 
This month’s presentation at eXtreme Programming San
Diego will be the second in the “Open Source Tools for
Extreme Programming” series. This is a technical,
tutorial-based series aimed at software
engineers/developers. We will be meeting at SAIC on
Campus Point Dr. (http://xpsd.org/SAICDirections) from
6-8PM on Thursday August 5th.

For the second topic in the series, we will focus on
Continuous Integration. Stephen Gargan will give a
brief introduction to Maven, followed by an in-depth
tutorial on how it can be used in the real world
through J2EE examples.

Maven is the latest project management build and
deployment tool from the Apache Group. It leverages
and expands on Ant and aims to simplify your build
cycle. Maven’s features include a standard project
model, intelligent dependency control and automatic
documentation & report generation.

Stephen’s tutorial will also show how to use
CruiseControl with Maven to automate your build loop.
Cruise Control is an open source tool from
ThoughtWorks, Inc. and facilitates a well developed
continuous integration process.

More information on the technologies mentioned above
is available at:
Maven: http://maven.apache.org
CruiseControl: http://cruisecontrol.sourceforge.net
Continuous Integration:
http://c2.com/cgi/wiki?ContinuousIntegration

We will also be having a “Show & Tell” session after
the Maven presentation. All members are welcome to
volunteer to spend 3-4 minutes sharing something they
used last month that was helpful to their XP project
(e.g. a new technology, technique, refactoring, etc.).

Please RSVP by replying to this email
(joonspoon@...) if you plan to attend.

http://xpsd.org

#7277 From: Paul Michali <pcm@...>
Date: Wed Aug 4, 2004 11:23 am
Subject: Re: [TDD] Suggestions on how to approach TDD for this problem?
pc_michali
Send Email Send Email
 
Ron Jeffries wrote:
> On Tuesday, August 3, 2004, at 9:50:14 PM, Paul Michali wrote:
>
>>Oh, let me clarify a bit. I get monthly reports from the
>>National club office. The report contains the current
>>membership information as an Excel spreadsheet. It has
>>redundant fields, info that I'd never use, awkwardly
>>encoded fields, and no unique key (there is a member
>>number, but it is shared by members and associate
>>members). They show current, new (for that month) and
>>expired (for that month) members.
>
>
> This certainly explains why we need to read Excel. But don't you already
> have an Excel reading capability then? I thought you were just starting on
> that. Or is this a new story?

I'm trying to redesign, from scratch, an application
to do all this, so that I can try it using TDD w/Java
(learning exercise). So, I have a story that is to
read in the Excel spreadsheet and that is the story
that I'm trying to approach first.

>>I thought that a database would be a nice way to store
>>and then retrieve that information, just by doing SQL
>>queries.
>
>
> I understand people thinking that. I might have gotten to a database, but
> rarely do.

What other ways could one do various queries on the data,
besides using a database? I started just trying to use
Excel, but there are some queries that are very hard to
do (or to automate). For example, list all members that
have an anniversary this month that is a multiple of 5
years. Another example is one that requires the current
month's data and the previous month's data: who members
who have canceled their membership (this means a member
that was "current" last month, but is missing this month,
as the Excel info doesn't show them as "expired").

> How many members are there in the DB?

About 800 active entries, with about two dozen fields for
each entry. With historical info (expired members included)
it's around 1000 entries (I'm in a small chapter).


>
>
>>In the first version of the app, I actually created a
>>database table that gives the county name for each
>>zip code. This way I can quickly determine the county
>>for each member. It took a while to build the table,
>>but it is very useful.
>
>
>
http://www.google.com/search?hl=en&ie=UTF-8&q=zip+code+county+48169&btnG=Google+\
Search
>
>
http://www.google.com/search?hl=en&lr=&ie=UTF-8&safe=off&q=zip+code+county+68104
>
> I don't know if it always works. I'd guess there's a zipcode DB on the web
> someplace. I could imagine storing it as a text file and grepping it.

I found a site with our state's zip codes for each city,
along with the county name. I extracted the info from the
page to a text file and then "loaded" it into a MySQL table.
I can then do table "joins" to correlate the zip codes or
cities to counties.

I went the database route, mostly because I want to do
queries and each time the queries are different. Using a
database seemed to be a quick way to do this.


PCM @ WORK (Paul Michali)

#7278 From: "Mark Levison" <mlevison@...>
Date: Wed Aug 4, 2004 5:42 pm
Subject: Looking for a test framework that will support the dynamic generation of tests
marklevison
Send Email Send Email
 
I need your help finding a .NET unit testing framework, which supports
the dynamic generation of tests.

Background: We're building some smoke tests (in addition to our unit
tests) to run with our nightly builds.  Among other things, these
tests will load reports from a database.  Each report will be run and
compared to set of known results.  We expect to have hundreds of
reports and that the tests will take over an hour to run.  Anyone
(developer, QA or tech support) will be able to extend the tests by
adding reports to the database.

We will discover the list of reports from the database.  From this
list, we **need** to create one test case per report.  This
granularity is required to allow a developer to focus only on the
failed report (and not wait a long time for other tests to load and run).

So far I've considered:

NUnit – no built-in support for dynamic generation of tests.  It looks
like it would take a fair chunk of CodeDom work to generate the test
cases on the fly and load them into NUnit.

csUnit – as far as I can tell the same problems as NUnit.

AUT [1] – an interesting advance on NUnit – but dynamic generation of
tests doesn't appear to be one of Marc Clifton's priorities (nor does
it appear there is any development going at the moment).

MbUnit [2] – promises a "Generative Unit test framework", but
currently only supports Data driven testing [3] with data loaded from
an XML file.  With some work it might be possible to extend MbUnit.

Are there any test frameworks that support dynamic generation of
tests? Are any extensions of these test frameworks that support
dynamic generation?  Has anyone else taken a crack at this problem?

Thanks in advance
Mark Levison

[1] http://aut.tigris.org/
[2] http://mbunit.tigris.org/
[3] http://blog.dotnetwiki.org/archive/2004/05/13/208.aspx

#7279 From: yahoogroups@...
Date: Wed Aug 4, 2004 5:56 pm
Subject: Re: [TDD] Looking for a test framework that will support the dynamic generation of tests
jhrothjr
Send Email Send Email
 
From: "Mark Levison"
<mlevison.at.databeacon.com@...>
Sent: Wednesday, August 04, 2004 1:42 PM
Subject: [TDD] Looking for a test framework that will support the dynamic
generation of tests


I need your help finding a .NET unit testing framework, which supports
the dynamic generation of tests.

Background: We're building some smoke tests (in addition to our unit
tests) to run with our nightly builds.  Among other things, these
tests will load reports from a database.  Each report will be run and
compared to set of known results.  We expect to have hundreds of
reports and that the tests will take over an hour to run.  Anyone
(developer, QA or tech support) will be able to extend the tests by
adding reports to the database.

We will discover the list of reports from the database.  From this
list, we **need** to create one test case per report.  This
granularity is required to allow a developer to focus only on the
failed report (and not wait a long time for other tests to load and run).

[response]

I'd simply write a code generator that reads the
necessary stuff from the data base and spits out the
appropriate nUnit or dotNetFIT tests.

There may be a package out there that will
let you do it faster, but there are times when
just doing it beats time spent investigating
alternatives hands down.

John Roth


Thanks in advance
Mark Levison

[1] http://aut.tigris.org/
[2] http://mbunit.tigris.org/
[3] http://blog.dotnetwiki.org/archive/2004/05/13/208.aspx








Yahoo! Groups Links

#7280 From: "Jonathan de Halleux" <dehalleux@...>
Date: Wed Aug 4, 2004 6:20 pm
Subject: RE: [TDD] Looking for a test framework that will support the dynamic generation of tests
jdehalle
Send Email Send Email
 
>MbUnit [2]

False, since 2.19, there is a support for suites of tests, i.e. dynamic
tests. See http://blog.dotnetwiki.org/archive/2004/07/19/625.aspx

-----Original Message-----
From: Mark Levison [mailto:mlevison@...]
Sent: mercredi 4 août 2004 19:42
To: testdrivendevelopment@yahoogroups.com
Subject: [TDD] Looking for a test framework that will support the
dynamic generation of tests


I need your help finding a .NET unit testing framework, which supports
the dynamic generation of tests.

Background: We're building some smoke tests (in addition to our unit
tests) to run with our nightly builds.  Among other things, these
tests will load reports from a database.  Each report will be run and
compared to set of known results.  We expect to have hundreds of
reports and that the tests will take over an hour to run.  Anyone
(developer, QA or tech support) will be able to extend the tests by
adding reports to the database.

We will discover the list of reports from the database.  From this
list, we **need** to create one test case per report.  This
granularity is required to allow a developer to focus only on the
failed report (and not wait a long time for other tests to load and
run).

So far I've considered:

NUnit – no built-in support for dynamic generation of tests.  It looks
like it would take a fair chunk of CodeDom work to generate the test
cases on the fly and load them into NUnit.

csUnit – as far as I can tell the same problems as NUnit.

AUT [1] – an interesting advance on NUnit – but dynamic generation of
tests doesn't appear to be one of Marc Clifton's priorities (nor does
it appear there is any development going at the moment).

MbUnit [2] – promises a "Generative Unit test framework", but
currently only supports Data driven testing [3] with data loaded from
an XML file.  With some work it might be possible to extend MbUnit.

Are there any test frameworks that support dynamic generation of
tests? Are any extensions of these test frameworks that support
dynamic generation?  Has anyone else taken a crack at this problem?

Thanks in advance
Mark Levison

[1] http://aut.tigris.org/
[2] http://mbunit.tigris.org/
[3] http://blog.dotnetwiki.org/archive/2004/05/13/208.aspx






Yahoo! Groups Sponsor

ADVERTISEMENT

<http://us.ard.yahoo.com/SIG=129ge26rh/M=295196.4901138.6071305.3001176/
D=groups/S=1705007181:HM/EXP=1091727749/A=2128215/R=0/SIG=10se96mf6/*htt
p://companion.yahoo.com> click here

<http://us.adserver.yahoo.com/l?M=295196.4901138.6071305.3001176/D=group
s/S=:HM/A=2128215/rand=956022517>


   _____

Yahoo! Groups Links


* To visit your group on the web, go to:
http://groups.yahoo.com/group/testdrivendevelopment/


* To unsubscribe from this group, send an email to:
testdrivendevelopment-unsubscribe@yahoogroups.com
<mailto:testdrivendevelopment-unsubscribe@yahoogroups.com?subject=Unsubs
cribe>


* Your use of Yahoo! Groups is subject to the Yahoo! Terms of
Service <http://docs.yahoo.com/info/terms/> .




[Non-text portions of this message have been removed]

#7281 From: "Mark Levison" <mlevison@...>
Date: Wed Aug 4, 2004 6:39 pm
Subject: Re: [TDD] Looking for a test framework that will support the dynamic generation
marklevison
Send Email Send Email
 
--- In testdrivendevelopment@yahoogroups.com, "Jonathan de Halleux"
<dehalleux@p...> wrote:
> >MbUnit [2]
>
> False, since 2.19, there is a support for suites of tests, i.e. dynamic
> tests. See http://blog.dotnetwiki.org/archive/2004/07/19/625.aspx
>

Thanks Jonathan somehow I managed to miss that.  Next time you come to
Ottawa (Canada), I buy you a pint (or three).

Cheers
Mark Levison

#7282 From: "Jonathan de Halleux" <dehalleux@...>
Date: Wed Aug 4, 2004 6:56 pm
Subject: RE: [TDD] Looking for a test framework that will support the dynamic generation
jdehalle
Send Email Send Email
 
>I buy you a pint (or three).

We can even do this the TDD way:

[Test]
[Repeat(5)]
public void DrinkPint()
{
    Jonathan jonathan = new Jonathan();
    Pint pint = new Pint();
    jonathan.Drink( pint );

    Assert.IsFalse(jonathan.Drunk);
    Assert.IsTrue(jonathan.Happy);
}

-----Original Message-----
From: Mark Levison [mailto:mlevison@...]
Sent: mercredi 4 août 2004 20:40
To: testdrivendevelopment@yahoogroups.com
Subject: Re: [TDD] Looking for a test framework that will support the
dynamic generation


--- In testdrivendevelopment@yahoogroups.com, "Jonathan de Halleux"
<dehalleux@p...> wrote:
> >MbUnit [2]
>
> False, since 2.19, there is a support for suites of tests, i.e.
dynamic
> tests. See http://blog.dotnetwiki.org/archive/2004/07/19/625.aspx
>

Thanks Jonathan somehow I managed to miss that.  Next time you come to
Ottawa (Canada), I buy you a pint (or three).

Cheers
Mark Levison



Yahoo! Groups Sponsor

ADVERTISEMENT

<http://us.ard.yahoo.com/SIG=129ap100d/M=295196.4901138.6071305.3001176/
D=groups/S=1705007181:HM/EXP=1091731347/A=2128215/R=0/SIG=10se96mf6/*htt
p://companion.yahoo.com> click here

<http://us.adserver.yahoo.com/l?M=295196.4901138.6071305.3001176/D=group
s/S=:HM/A=2128215/rand=282248205>


   _____

Yahoo! Groups Links


* To visit your group on the web, go to:
http://groups.yahoo.com/group/testdrivendevelopment/


* To unsubscribe from this group, send an email to:
testdrivendevelopment-unsubscribe@yahoogroups.com
<mailto:testdrivendevelopment-unsubscribe@yahoogroups.com?subject=Unsubs
cribe>


* Your use of Yahoo! Groups is subject to the Yahoo! Terms of
Service <http://docs.yahoo.com/info/terms/> .




[Non-text portions of this message have been removed]

#7283 From: Ron Jeffries <jeffries@...>
Date: Wed Aug 4, 2004 7:26 pm
Subject: Re: [TDD] A TDD Recursive Descent Parser example
ronaldejeffries
Send Email Send Email
 
On Monday, August 2, 2004, at 6:09:12 PM, Phlip wrote:

> I wrote a parser to solve math expressions like "3.0
> ^(4 - 5)", or "3 / 8", and tossed its extra light code
> here:

> http://www.xpsd.org/cgi-bin/wiki?RecursiveDescentParserTest

> http://www.xpsd.org/cgi-bin/wiki?RecursiveDescentParserCpp

> http://www.xpsd.org/cgi-bin/wiki?RecursiveDescentParserHpp

> Any debate or bug discoveries welcome.

I had hoped to get to this, but it looks like it won't fit for me. Wish I
could! Sorry!

Ron Jeffries
www.XProgramming.com
Just because we learned something new today doesn't mean we were
frickin' idiots yesterday.  -- Chris Morris, possibly paraphrasing someone.

#7284 From: Phlip <phlipcpp@...>
Date: Wed Aug 4, 2004 8:00 pm
Subject: Re: [TDD] A TDD Recursive Descent Parser example
phlipcpp
Send Email Send Email
 
Ron Jeffries wrote:

> Phlip wrote:

> >
http://www.xpsd.org/cgi-bin/wiki?RecursiveDescentParser

> I had hoped to get to this, but it looks like it
> won't fit for me. Wish I
> could! Sorry!

I'm not sure for what you apologize. I too, upon
occassion, have ignored your published source code.
The sample is for newbies.

David Hilsee, on news:comp.lang.c++ , for example,
complained I was setting a bad example by using
error-bearing return values instead of exceptions. I
had to kick his butt up and down the block...

=====
Phlip
   http://industrialxp.org/community/bin/view/Main/TestFirstUserInterfaces



__________________________________
Do you Yahoo!?
New and Improved Yahoo! Mail - Send 10MB messages!
http://promotions.yahoo.com/new_mail

#7285 From: "Kay Pentecost" <tranzpupy@...>
Date: Thu Aug 5, 2004 2:01 am
Subject: XPAU !! Be a guru!!
tranzpupy
Send Email Send Email
 
Hi, Everybody!

  XPAU is just a a little over a week away!!

I've posted this to the XP list.. with a great response... and I apologize
if you get this several times on different lists...

Last year, we had some attendees who weren't as pleased as they might
be... Seems that project managers and some others who were unfamiliar
with the XP/Agile Culture felt somewhat excluded... they didn't know
the jargon and seemed to be afraid to ask questions...

So, this year, as the Question Queen of the Extreme Programming List,
I'm offering everyone a chance to make make a good impression on
those who are new to XP and Agile.

What I'm asking, is for volunteers to wear a badge that says "ASK ME"-
- and to encourage newbies to ask any questions they want...

Right now, we have a large choice of badge labels:

ASK ME about XP
ASK ME about Agile
ASK ME about TDD
and, for those who *really* know it all:
ASK ME ANYTHING!!

If you know a little about XP, Agile, TDD, and would like to answer
questions (or find out the answers if you don't know), I'd love to
have you wear a badge and help newcomers feel more comfortable at the
conference.

There's no other requirements, no meetings, no reports, no nothin'!!
Just accept a badge and wear it around the conference, as you do your
usual thing, and encourage people to ask you questions.

Don't know what kind of reward they'll be for the person(s) who are
most successful at making the newbies comfortable... it might just be
the good feeling of making the conference a success, spreading the
good name of XP and Agile... then again,  it might have something to
do with CHOCOLATE!!

Contact me directly if you want to be a Guru of Good Will!

Kay

#7286 From: Kaoru Hosokawa <khosokawa@...>
Date: Thu Aug 5, 2004 2:43 pm
Subject: Re: [TDD] A TDD Recursive Descent Parser example
throw_catch
Send Email Send Email
 
Hi Phlip,

I believe what you presented was the end result. I'd be more interested
in seeing the intermediate steps - a little test, a little code, a
little test, a little code, ...

On 2004/08/03, at 7:09, Phlip wrote:

> TDD Zealots:
>
> I wrote a parser to solve math expressions like "3.0
> ^(4 - 5)", or "3 / 8", and tossed its extra light code
> here:
>
> http://www.xpsd.org/cgi-bin/wiki?RecursiveDescentParserTest
>
> http://www.xpsd.org/cgi-bin/wiki?RecursiveDescentParserCpp
>
> http://www.xpsd.org/cgi-bin/wiki?RecursiveDescentParserHpp
>
> Any debate or bug discoveries welcome.
>
> =====
> Phlip
>
> http://industrialxp.org/community/bin/view/Main/
> TestFirstUserInterfaces

Kaoru Hosokawa
khosokawa@...

#7287 From: Phlip <phlipcpp@...>
Date: Thu Aug 5, 2004 3:16 pm
Subject: Re: [TDD] A TDD Recursive Descent Parser example
phlipcpp
Send Email Send Email
 
Kaoru Hosokawa wrote:

> I believe what you presented was the end result. I'd
> be more interested
> in seeing the intermediate steps - a little test, a
> little code, a
> little test, a little code, ...

I threw them all away. Sorry!

Try this:

http://www.xpsd.org/cgi-bin/wiki?TestDrivenDevelopmentTutorialRomanNumerals

The NanoCppUnit built into the RDP sample evaluates
from top to bottom. You could erase the contents of
namespace Parser, compile and run, and predict what
failure you'd get. If you successfully predict
successively failing assertions, then you are doing
TDD.

Also you could comment out all the assertions, and
restore them one by one or in little batches.


=====
Phlip
   http://industrialxp.org/community/bin/view/Main/TestFirstUserInterfaces



__________________________________
Do you Yahoo!?
Yahoo! Mail - 50x more storage than other providers!
http://promotions.yahoo.com/new_mail

#7288 From: "ben_fulton2000" <ben_fulton2000@...>
Date: Thu Aug 5, 2004 3:54 pm
Subject: Mock COM objects
ben_fulton2000
Send Email Send Email
 
I'm looking for some advice on how to proceed.  I'm developing an
application that has as its heart a third-party COM object.  The
actual COM object itself cannot be used in unit tests as it gets its
information from a server that I don't have control over.

Generally in this case I write an abstract base class to stub out the
calls to the object, with one concrete class containing the object
and one test class mocking it - it's simple, and it works.  But I
introduced a bug this week, where the production class threw
a "Parameter Not Correct" exception because I'd made an error calling
a method in the object.  (The exception was handled correctly, but
obviously the functionality failed.)

I see two options to create a test that will check this situation:
Create a finer-grained abstraction to call the method that failed,
and allow the test class to verify the parameters; or, mock the
entire COM object, which is big and complicated.

The first option introduces a rather odd-looking method in my
abstract class, so I'm not thrilled about it.  But I don't want to
take the time to mock the whole COM object, either.  Thoughts?
Alternatively, is there a tool that can create a mock object from a
COM typelib?  (Unfortunately Google does not allow searching
for "com").

Thanks!
Ben Fulton

Messages 7259 - 7288 of 35472   Oldest  |  < Older  |  Newer >  |  Newest
Add to My Yahoo!      XML What's This?

Copyright © 2010 Yahoo! Inc. All rights reserved.
Privacy Policy - Terms of Service - Guidelines NEW - Help