<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<id>tag:old.nabble.com,2006:forum-17142</id>
	<title>Nabble - Test Driven Development</title>
	<updated>2009-12-22T18:33:05Z</updated>
	<link rel="self" type="application/atom+xml" href="http://old.nabble.com/Test-Driven-Development-f17142.xml" />
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Test-Driven-Development-f17142.html" />
	<subtitle type="html">We discuss the theory and practice of test-driven development.</subtitle>
	
<entry>
	<id>tag:old.nabble.com,2006:post-26897288</id>
	<title>Re: testing isEqual on large value object...?</title>
	<published>2009-12-22T18:33:05Z</published>
	<updated>2009-12-22T18:33:05Z</updated>
	<author>
		<name>Michael Feathers</name>
	</author>
	<content type="html">One thing that I'll offer (and this may or may not be applicable) is
&lt;br&gt;that I rarely find a need for an &amp;quot;equals&amp;quot; function. &amp;nbsp;Most of the time,
&lt;br&gt;some members matter more than others and I can solve the problem by
&lt;br&gt;writing a more focused well named function which matches against a
&lt;br&gt;subset of the members of an object. &amp;nbsp;The exception is when I'm dealing
&lt;br&gt;with a context which already requires an &amp;quot;equals&amp;quot; function.
&lt;br&gt;Otherwise, equality is a slippery notion and it's usually more general
&lt;br&gt;than the immediate need.
&lt;br&gt;&lt;br&gt;Michael Feathers
&lt;br&gt;&lt;br&gt;On Tue, Dec 22, 2009 at 11:53 PM, liam mail &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26897288&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;liam.list@...&lt;/a&gt;&amp;gt; wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; 2009/12/22 Martin Hauner &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26897288&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;hauner@...&lt;/a&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; Hi,
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; On 22.12.09 12:07, liam mail wrote:
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; I am not sure I understand as C++ has an &amp;quot;isEqual&amp;quot; function already it is
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; called the equality operator.
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; Yes but with objects containing pointers to other objects the default
&lt;br&gt;&amp;gt;&amp;gt; implementation is usually not what you want.. :)
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; --
&lt;br&gt;&amp;gt;&amp;gt; Martin
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; You have read more into my comment than was there. I did not mention the
&lt;br&gt;&amp;gt; default operator only that creating an &amp;quot;isEqual&amp;quot; function is not needed,
&lt;br&gt;&amp;gt; unless there is more information which you have not given, as the operator
&lt;br&gt;&amp;gt; can do the work. It is similar to creating an &amp;quot;init&amp;quot; function to do the work
&lt;br&gt;&amp;gt; of the constructor.
&lt;br&gt;&amp;gt; Liam
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; [Non-text portions of this message have been removed]
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; ------------------------------------
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Yahoo! Groups Links
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&lt;/div&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/testing-isEqual-on-large-value-object...--tp26886433p26897288.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26896049</id>
	<title>Re: bowling game in python, step by step</title>
	<published>2009-12-22T15:45:12Z</published>
	<updated>2009-12-22T15:45:12Z</updated>
	<author>
		<name>Olof Bjarnason</name>
	</author>
	<content type="html">2009/12/16 showell30 &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26896049&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;showell30@...&lt;/a&gt;&amp;gt;
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; --- In &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26896049&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;testdrivendevelopment@...&lt;/a&gt;&amp;lt;testdrivendevelopment%40yahoogroups.com&amp;gt;,
&lt;br&gt;&amp;gt; Olof Bjarnason &amp;lt;olof.bjarnason@...&amp;gt; wrote:
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; Thanks for sharing this!
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; I really like your minimalistic, test-framework-free approach to the
&lt;br&gt;&amp;gt; problem
&lt;br&gt;&amp;gt; &amp;gt; ;)
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Thanks!
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; You might be interested in my youtube-videos featuring how I TDD in
&lt;br&gt;&amp;gt; Python,
&lt;br&gt;&amp;gt; &amp;gt; under Ubuntu:
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://www.youtube.com/watch?v=sD6qzJNQEpE&amp;feature=PlayList&amp;p=5F75235C3BCC4172&amp;index=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.youtube.com/watch?v=sD6qzJNQEpE&amp;feature=PlayList&amp;p=5F75235C3BCC4172&amp;index=0&lt;/a&gt;&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; It's a really simple problem (parsing a URL-string) but I think it
&lt;br&gt;&amp;gt; &amp;gt; demonstrates my TDD-approach anyway.
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; I just watched it! Is part four still on the way? It looked like your tests
&lt;br&gt;&amp;gt; were fairly complete, but you were still struggling a bit to make the
&lt;br&gt;&amp;gt; implementation pretty. It seemed like temporary variables were hard to give
&lt;br&gt;&amp;gt; good names after you did &amp;quot;split,&amp;quot; so I was wondering why you did not try
&lt;br&gt;&amp;gt; tuple assignment?
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;/div&gt;It is now. And yes, tuple assignment was used to make the code more
&lt;br&gt;readable, plus a local function.
&lt;br&gt;&lt;br&gt;&lt;a href=&quot;http://www.youtube.com/view_play_list?p=5F75235C3BCC4172&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.youtube.com/view_play_list?p=5F75235C3BCC4172&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&amp;gt; &amp;nbsp;
&lt;br&gt;&amp;gt;
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;twitter.com/olofb
&lt;br&gt;olofb.wordpress.com
&lt;br&gt;&lt;br&gt;&lt;br&gt;[Non-text portions of this message have been removed]
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;------------------------------------
&lt;br&gt;&lt;br&gt;Yahoo! Groups Links
&lt;br&gt;&lt;br&gt;&amp;lt;*&amp;gt; To visit your group on the web, go to:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://groups.yahoo.com/group/testdrivendevelopment/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://groups.yahoo.com/group/testdrivendevelopment/&lt;/a&gt;&lt;br&gt;&lt;br&gt;&amp;lt;*&amp;gt; Your email settings:
&lt;br&gt;&amp;nbsp; &amp;nbsp; Individual Email | Traditional
&lt;br&gt;&lt;br&gt;&amp;lt;*&amp;gt; To change settings online go to:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://groups.yahoo.com/group/testdrivendevelopment/join&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://groups.yahoo.com/group/testdrivendevelopment/join&lt;/a&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; (Yahoo! ID required)
&lt;br&gt;&lt;br&gt;&amp;lt;*&amp;gt; To change settings via email:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26896049&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;testdrivendevelopment-digest@...&lt;/a&gt; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26896049&amp;i=3&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;testdrivendevelopment-fullfeatured@...&lt;/a&gt;
&lt;br&gt;&lt;br&gt;&amp;lt;*&amp;gt; To unsubscribe from this group, send an email to:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26896049&amp;i=4&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;testdrivendevelopment-unsubscribe@...&lt;/a&gt;
&lt;br&gt;&lt;br&gt;&amp;lt;*&amp;gt; Your use of Yahoo! Groups is subject to:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://docs.yahoo.com/info/terms/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://docs.yahoo.com/info/terms/&lt;/a&gt;&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/bowling-game-in-python%2C-step-by-step-tp26805681p26896049.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26894935</id>
	<title>Re: testing isEqual on large value object...?</title>
	<published>2009-12-22T13:53:41Z</published>
	<updated>2009-12-22T13:53:41Z</updated>
	<author>
		<name>liam mail</name>
	</author>
	<content type="html">2009/12/22 Martin Hauner &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26894935&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;hauner@...&lt;/a&gt;&amp;gt;
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Hi,
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; On 22.12.09 12:07, liam mail wrote:
&lt;br&gt;&amp;gt; &amp;gt; I am not sure I understand as C++ has an &amp;quot;isEqual&amp;quot; function already it is
&lt;br&gt;&amp;gt; &amp;gt; called the equality operator.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Yes but with objects containing pointers to other objects the default
&lt;br&gt;&amp;gt; implementation is usually not what you want.. :)
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; --
&lt;br&gt;&amp;gt; Martin
&lt;br&gt;&amp;gt; &amp;nbsp;
&lt;br&gt;&amp;gt;
&lt;/div&gt;You have read more into my comment than was there. I did not mention the
&lt;br&gt;default operator only that creating an &amp;quot;isEqual&amp;quot; function is not needed,
&lt;br&gt;unless there is more information which you have not given, as the operator
&lt;br&gt;can do the work. It is similar to creating an &amp;quot;init&amp;quot; function to do the work
&lt;br&gt;of the constructor.
&lt;br&gt;Liam
&lt;br&gt;&lt;br&gt;&lt;br&gt;[Non-text portions of this message have been removed]
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;------------------------------------
&lt;br&gt;&lt;br&gt;Yahoo! Groups Links
&lt;br&gt;&lt;br&gt;&amp;lt;*&amp;gt; To visit your group on the web, go to:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://groups.yahoo.com/group/testdrivendevelopment/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://groups.yahoo.com/group/testdrivendevelopment/&lt;/a&gt;&lt;br&gt;&lt;br&gt;&amp;lt;*&amp;gt; Your email settings:
&lt;br&gt;&amp;nbsp; &amp;nbsp; Individual Email | Traditional
&lt;br&gt;&lt;br&gt;&amp;lt;*&amp;gt; To change settings online go to:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://groups.yahoo.com/group/testdrivendevelopment/join&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://groups.yahoo.com/group/testdrivendevelopment/join&lt;/a&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; (Yahoo! ID required)
&lt;br&gt;&lt;br&gt;&amp;lt;*&amp;gt; To change settings via email:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26894935&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;testdrivendevelopment-digest@...&lt;/a&gt; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26894935&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;testdrivendevelopment-fullfeatured@...&lt;/a&gt;
&lt;br&gt;&lt;br&gt;&amp;lt;*&amp;gt; To unsubscribe from this group, send an email to:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26894935&amp;i=3&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;testdrivendevelopment-unsubscribe@...&lt;/a&gt;
&lt;br&gt;&lt;br&gt;&amp;lt;*&amp;gt; Your use of Yahoo! Groups is subject to:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://docs.yahoo.com/info/terms/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://docs.yahoo.com/info/terms/&lt;/a&gt;&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/testing-isEqual-on-large-value-object...--tp26886433p26894935.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26893336</id>
	<title>Re: testing isEqual on large value object...?</title>
	<published>2009-12-22T11:50:06Z</published>
	<updated>2009-12-22T11:50:06Z</updated>
	<author>
		<name>Dale Emery</name>
	</author>
	<content type="html">Hi Martin,
&lt;br&gt;&lt;br&gt;I will try it like you suggest. Let's see how much code test code will come
&lt;br&gt;&amp;gt; out if it.. :) But it looks like a lot of effort for such a &amp;quot;simple&amp;quot; mehod.
&lt;br&gt;&amp;gt;
&lt;br&gt;&lt;br&gt;LOL Yeah, I might balk, too, in your situation. I've never dealt with
&lt;br&gt;equality method on more than three or four members. That keeps the effort
&lt;br&gt;tolerable.
&lt;br&gt;&lt;br&gt;... which leads me to a few questions: Does your class need 30 members? Must
&lt;br&gt;they all be involved in determining equality? Would it make sense to break
&lt;br&gt;the big class into smaller, more focused ones, which then become members of
&lt;br&gt;the main class? (e.g. one class for repo info, one for conflict info, one
&lt;br&gt;for props info, one for comment info, etc.)
&lt;br&gt;&lt;br&gt;Dale
&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;Dale Emery
&lt;br&gt;Consultant to software teams and leaders
&lt;br&gt;Web: &lt;a href=&quot;http://dhemery.com&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://dhemery.com&lt;/a&gt;&lt;br&gt;Weblog: &lt;a href=&quot;http://cwd.dhemery.com&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://cwd.dhemery.com&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;[Non-text portions of this message have been removed]
&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/testing-isEqual-on-large-value-object...--tp26886433p26893336.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26887773</id>
	<title>Re: bowling game in python, step by step</title>
	<published>2009-12-22T04:44:12Z</published>
	<updated>2009-12-22T04:44:12Z</updated>
	<author>
		<name>Carlos Ble-2</name>
	</author>
	<content type="html">Hi,
&lt;br&gt;Haven't got the chance to check out your example but sounds good. There is a
&lt;br&gt;TDD problems site where you can upload your code.
&lt;br&gt;&lt;a href=&quot;http://sites.google.com/site/tddproblems/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://sites.google.com/site/tddproblems/&lt;/a&gt;&lt;br&gt;&lt;br&gt;Cheers
&lt;br&gt;&lt;br&gt;2009/12/16 showell30 &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26887773&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;showell30@...&lt;/a&gt;&amp;gt;
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Here is yet another take on the old classic, the Bowling Game:
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://shpaml.webfactional.com/misc/bowling.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://shpaml.webfactional.com/misc/bowling.html&lt;/a&gt;&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; To help capture the evolutionary design of the problem, I kept diffs from
&lt;br&gt;&amp;gt; all 28 green bars leading up to the final^H^H^H^H^H^H current design, and
&lt;br&gt;&amp;gt; then added commentary.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://showellonprogramming.blogspot.com/2009/12/bowling-game-in-python.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://showellonprogramming.blogspot.com/2009/12/bowling-game-in-python.html&lt;/a&gt;&lt;br&gt;&amp;gt; The sequence was as follows:
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; PROBLEM STATEMENT
&lt;br&gt;&amp;gt; INFRASTRUCTURE
&lt;br&gt;&amp;gt; PASSING TEST
&lt;br&gt;&amp;gt; FREE PASSING TEST
&lt;br&gt;&amp;gt; REFACTOR TESTS
&lt;br&gt;&amp;gt; PASSING TEST
&lt;br&gt;&amp;gt; REFACTOR CODE
&lt;br&gt;&amp;gt; REFACTOR CODE
&lt;br&gt;&amp;gt; PASSING TEST
&lt;br&gt;&amp;gt; REFACTOR TESTS
&lt;br&gt;&amp;gt; FREE PASSING TEST
&lt;br&gt;&amp;gt; PASSING TEST
&lt;br&gt;&amp;gt; PASSING TEST
&lt;br&gt;&amp;gt; FREE PASSING TEST
&lt;br&gt;&amp;gt; PASSING TEST
&lt;br&gt;&amp;gt; PASSING TEST
&lt;br&gt;&amp;gt; PASSING TEST
&lt;br&gt;&amp;gt; REFACTOR CODE
&lt;br&gt;&amp;gt; REFACTOR TESTS
&lt;br&gt;&amp;gt; REFACTOR CODE
&lt;br&gt;&amp;gt; REFACTOR CODE
&lt;br&gt;&amp;gt; REFACTOR CODE
&lt;br&gt;&amp;gt; PREFACTOR CODE
&lt;br&gt;&amp;gt; FREE PASSING TEST
&lt;br&gt;&amp;gt; REFACTOR CODE
&lt;br&gt;&amp;gt; REFACTOR CODE
&lt;br&gt;&amp;gt; REFACTOR CODE
&lt;br&gt;&amp;gt; REFACTOR CODE
&lt;br&gt;&amp;gt; FREE PASSING TEST
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; I hope this might be of interest to some folks as a case study/teaching
&lt;br&gt;&amp;gt; aid/etc.!
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; I also talk a bit about the exercise in my blog entry:
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://showellonprogramming.blogspot.com/2009/12/bowling-game-in-python.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://showellonprogramming.blogspot.com/2009/12/bowling-game-in-python.html&lt;/a&gt;&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Cheers,
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Steve Howell
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp;
&lt;br&gt;&amp;gt;
&lt;/div&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;Carlos Ble
&lt;br&gt;www.iExpertos.com
&lt;br&gt;www.carlosble.com
&lt;br&gt;&lt;br&gt;&lt;br&gt;[Non-text portions of this message have been removed]
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;------------------------------------
&lt;br&gt;&lt;br&gt;Yahoo! Groups Links
&lt;br&gt;&lt;br&gt;&amp;lt;*&amp;gt; To visit your group on the web, go to:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://groups.yahoo.com/group/testdrivendevelopment/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://groups.yahoo.com/group/testdrivendevelopment/&lt;/a&gt;&lt;br&gt;&lt;br&gt;&amp;lt;*&amp;gt; Your email settings:
&lt;br&gt;&amp;nbsp; &amp;nbsp; Individual Email | Traditional
&lt;br&gt;&lt;br&gt;&amp;lt;*&amp;gt; To change settings online go to:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://groups.yahoo.com/group/testdrivendevelopment/join&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://groups.yahoo.com/group/testdrivendevelopment/join&lt;/a&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; (Yahoo! ID required)
&lt;br&gt;&lt;br&gt;&amp;lt;*&amp;gt; To change settings via email:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26887773&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;testdrivendevelopment-digest@...&lt;/a&gt; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26887773&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;testdrivendevelopment-fullfeatured@...&lt;/a&gt;
&lt;br&gt;&lt;br&gt;&amp;lt;*&amp;gt; To unsubscribe from this group, send an email to:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26887773&amp;i=3&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;testdrivendevelopment-unsubscribe@...&lt;/a&gt;
&lt;br&gt;&lt;br&gt;&amp;lt;*&amp;gt; Your use of Yahoo! Groups is subject to:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://docs.yahoo.com/info/terms/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://docs.yahoo.com/info/terms/&lt;/a&gt;&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/bowling-game-in-python%2C-step-by-step-tp26805681p26887773.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26887620</id>
	<title>Re: testing isEqual on large value object...?</title>
	<published>2009-12-22T04:32:40Z</published>
	<updated>2009-12-22T04:32:40Z</updated>
	<author>
		<name>Martin Hauner-2</name>
	</author>
	<content type="html">Hi,
&lt;br&gt;&lt;br&gt;On 22.12.09 12:07, liam mail wrote:
&lt;br&gt;&amp;gt; I am not sure I understand as C++ has an &amp;quot;isEqual&amp;quot; function already it is
&lt;br&gt;&amp;gt; called the equality operator.
&lt;br&gt;&lt;br&gt;Yes but with objects containing pointers to other objects the default 
&lt;br&gt;implementation is usually not what you want.. :)
&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;Martin
&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/testing-isEqual-on-large-value-object...--tp26886433p26887620.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26887664</id>
	<title>Re: testing isEqual on large value object...?</title>
	<published>2009-12-22T04:31:45Z</published>
	<updated>2009-12-22T04:31:45Z</updated>
	<author>
		<name>Martin Hauner-2</name>
	</author>
	<content type="html">Hi Dale,
&lt;br&gt;&lt;br&gt;On 22.12.09 12:04, Dale Emery wrote:
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Hi Martin,
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Do you tdd isEqual?
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Usually, yeah.
&lt;br&gt;&lt;br&gt;I will try it like you suggest. Let's see how much code test code will come out 
&lt;br&gt;if it.. :) But it looks like a lot of effort for such a &amp;quot;simple&amp;quot; mehod.
&lt;br&gt;&lt;br&gt;Thanks.
&lt;br&gt;&lt;br&gt;&amp;gt; Dale
&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;Martin
&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/testing-isEqual-on-large-value-object...--tp26886433p26887664.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26886752</id>
	<title>Re: testing isEqual on large value object...?</title>
	<published>2009-12-22T03:07:43Z</published>
	<updated>2009-12-22T03:07:43Z</updated>
	<author>
		<name>liam mail</name>
	</author>
	<content type="html">2009/12/22 Martin Hauner &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26886752&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;hauner@...&lt;/a&gt;&amp;gt;
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Hi,
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; I have a C++ value object which is fed from a c struct that comes from a
&lt;br&gt;&amp;gt; third
&lt;br&gt;&amp;gt; party library (in my case subversion). The c struct has about 30 members
&lt;br&gt;&amp;gt; and my
&lt;br&gt;&amp;gt; value object copies everything to members variables to get rid of the low
&lt;br&gt;&amp;gt; level
&lt;br&gt;&amp;gt; c stuff.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Now I like to have an isEqual method on this object.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Do you tdd isEqual? If so how?
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; I have decided to just implement it without test and be bitten by the
&lt;br&gt;&amp;gt; member I
&lt;br&gt;&amp;gt; forgot to compare ;-)
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; --
&lt;br&gt;&amp;gt; Martin
&lt;br&gt;&amp;gt; &amp;nbsp;
&lt;br&gt;&amp;gt;
&lt;/div&gt;I am not sure I understand as C++ has an &amp;quot;isEqual&amp;quot; function already it is
&lt;br&gt;called the equality operator.
&lt;br&gt;Do you tdd isEqual? If so how?
&lt;br&gt;If it is not implemented using a simple POD a == b then yes I would test it,
&lt;br&gt;I assume that the low level C stuff you refer to is C style strings and
&lt;br&gt;pointer management, otherwise it is not clear why you have done as you have,
&lt;br&gt;therefore I would test it. Comparing using an object with know values all
&lt;br&gt;correct. For each member variable that is considered in the equality compare
&lt;br&gt;use a correct and incorrect value.
&lt;br&gt;&lt;br&gt;&lt;br&gt;[Non-text portions of this message have been removed]
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;------------------------------------
&lt;br&gt;&lt;br&gt;Yahoo! Groups Links
&lt;br&gt;&lt;br&gt;&amp;lt;*&amp;gt; To visit your group on the web, go to:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://groups.yahoo.com/group/testdrivendevelopment/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://groups.yahoo.com/group/testdrivendevelopment/&lt;/a&gt;&lt;br&gt;&lt;br&gt;&amp;lt;*&amp;gt; Your email settings:
&lt;br&gt;&amp;nbsp; &amp;nbsp; Individual Email | Traditional
&lt;br&gt;&lt;br&gt;&amp;lt;*&amp;gt; To change settings online go to:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://groups.yahoo.com/group/testdrivendevelopment/join&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://groups.yahoo.com/group/testdrivendevelopment/join&lt;/a&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; (Yahoo! ID required)
&lt;br&gt;&lt;br&gt;&amp;lt;*&amp;gt; To change settings via email:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26886752&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;testdrivendevelopment-digest@...&lt;/a&gt; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26886752&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;testdrivendevelopment-fullfeatured@...&lt;/a&gt;
&lt;br&gt;&lt;br&gt;&amp;lt;*&amp;gt; To unsubscribe from this group, send an email to:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26886752&amp;i=3&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;testdrivendevelopment-unsubscribe@...&lt;/a&gt;
&lt;br&gt;&lt;br&gt;&amp;lt;*&amp;gt; Your use of Yahoo! Groups is subject to:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://docs.yahoo.com/info/terms/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://docs.yahoo.com/info/terms/&lt;/a&gt;&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/testing-isEqual-on-large-value-object...--tp26886433p26886752.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26886721</id>
	<title>Re: testing isEqual on large value object...?</title>
	<published>2009-12-22T03:04:29Z</published>
	<updated>2009-12-22T03:04:29Z</updated>
	<author>
		<name>Dale Emery</name>
	</author>
	<content type="html">Hi Martin,
&lt;br&gt;&lt;br&gt;Do you tdd isEqual?
&lt;br&gt;&lt;br&gt;&lt;br&gt;Usually, yeah.
&lt;br&gt;&lt;br&gt;&lt;br&gt;&amp;gt; If so how?
&lt;br&gt;&amp;gt;
&lt;br&gt;&lt;br&gt;First test:
&lt;br&gt;a = an object of the class you're testing;
&lt;br&gt;assertTrue(a.equals(a));
&lt;br&gt;&lt;br&gt;Next test:
&lt;br&gt;a = an object of that class;
&lt;br&gt;b = a different object for which every member that matters equals the
&lt;br&gt;corresponding member in a.
&lt;br&gt;assertTrue(a.equals(b));
&lt;br&gt;&lt;br&gt;For each member that matters to equality, write a test like this:
&lt;br&gt;a = an object of that class;
&lt;br&gt;b = an object that differs from a only in that one member;
&lt;br&gt;assertFalse(a.equals(b));
&lt;br&gt;&lt;br&gt;If there are members that do not matter to equality, write one or more tests
&lt;br&gt;like this:
&lt;br&gt;a = an object of that class;
&lt;br&gt;b = another object that differs from a only in the values of one or more
&lt;br&gt;don't-care members
&lt;br&gt;assertTrue(a.equals(b));
&lt;br&gt;&lt;br&gt;Dale
&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;Dale Emery
&lt;br&gt;Consultant to software teams and leaders
&lt;br&gt;Web: &lt;a href=&quot;http://dhemery.com&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://dhemery.com&lt;/a&gt;&lt;br&gt;Weblog: &lt;a href=&quot;http://cwd.dhemery.com&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://cwd.dhemery.com&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;[Non-text portions of this message have been removed]
&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/testing-isEqual-on-large-value-object...--tp26886433p26886721.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26886433</id>
	<title>testing isEqual on large value object...?</title>
	<published>2009-12-22T02:37:11Z</published>
	<updated>2009-12-22T02:37:11Z</updated>
	<author>
		<name>Martin Hauner-2</name>
	</author>
	<content type="html">Hi,
&lt;br&gt;&lt;br&gt;I have a C++ value object which is fed from a c struct that comes from a third 
&lt;br&gt;party library (in my case subversion). The c struct has about 30 members and my 
&lt;br&gt;value object copies everything to members variables to get rid of the low level 
&lt;br&gt;c stuff.
&lt;br&gt;&lt;br&gt;Now I like to have an isEqual method on this object.
&lt;br&gt;&lt;br&gt;Do you tdd isEqual? If so how?
&lt;br&gt;&lt;br&gt;&lt;br&gt;I have decided to just implement it without test and be bitten by the member I 
&lt;br&gt;forgot to compare ;-)
&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;Martin
&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/testing-isEqual-on-large-value-object...--tp26886433p26886433.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26849009</id>
	<title>Code contributions in open and closed source software projects</title>
	<published>2009-12-18T12:08:27Z</published>
	<updated>2009-12-18T12:08:27Z</updated>
	<author>
		<name>Dirk Riehle</name>
	</author>
	<content type="html">Hello everyone,
&lt;br&gt;&lt;br&gt;we are undertaking a study on how developers contribute to both open and
&lt;br&gt;closed source software projects. Please help this research by taking this
&lt;br&gt;short 10 (+3) question survey!
&lt;br&gt;&lt;br&gt;&lt;a href=&quot;http://osr.cs.fau.de/surveys/index.php?sid=16947&amp;lang=en&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://osr.cs.fau.de/surveys/index.php?sid=16947&amp;lang=en&lt;/a&gt;&lt;br&gt;&lt;br&gt;We will of course publish the results of this study and if you leave your
&lt;br&gt;email address, you can get the results early.
&lt;br&gt;&lt;br&gt;A bit more information for those interested: We are trying to assess the code
&lt;br&gt;contribution distribution, that is, how much code and how frequently people
&lt;br&gt;check-in. More importantly, what they think how they contribute. The answers
&lt;br&gt;are expected to vary, hence the notion of “distribution”. Better understanding
&lt;br&gt;code contribution behavior will help us build better software development tools.
&lt;br&gt;&lt;br&gt;Thanks a lot!
&lt;br&gt;&lt;br&gt;Dirk Riehle
&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;Website: &lt;a href=&quot;http://dirkriehle.com&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://dirkriehle.com&lt;/a&gt;&amp;nbsp;- Twitter: @dirkriehle
&lt;br&gt;Ph (DE): +49-157-8153-4150 - Ph (US): +1-650-450-8550
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;------------------------------------
&lt;br&gt;&lt;br&gt;Yahoo! Groups Links
&lt;br&gt;&lt;br&gt;&amp;lt;*&amp;gt; To visit your group on the web, go to:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://groups.yahoo.com/group/testdrivendevelopment/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://groups.yahoo.com/group/testdrivendevelopment/&lt;/a&gt;&lt;br&gt;&lt;br&gt;&amp;lt;*&amp;gt; Your email settings:
&lt;br&gt;&amp;nbsp; &amp;nbsp; Individual Email | Traditional
&lt;br&gt;&lt;br&gt;&amp;lt;*&amp;gt; To change settings online go to:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://groups.yahoo.com/group/testdrivendevelopment/join&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://groups.yahoo.com/group/testdrivendevelopment/join&lt;/a&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; (Yahoo! ID required)
&lt;br&gt;&lt;br&gt;&amp;lt;*&amp;gt; To change settings via email:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26849009&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;testdrivendevelopment-digest@...&lt;/a&gt; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26849009&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;testdrivendevelopment-fullfeatured@...&lt;/a&gt;
&lt;br&gt;&lt;br&gt;&amp;lt;*&amp;gt; To unsubscribe from this group, send an email to:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26849009&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;testdrivendevelopment-unsubscribe@...&lt;/a&gt;
&lt;br&gt;&lt;br&gt;&amp;lt;*&amp;gt; Your use of Yahoo! Groups is subject to:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://docs.yahoo.com/info/terms/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://docs.yahoo.com/info/terms/&lt;/a&gt;&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Code-contributions-in-open-and-closed-source-software-projects-tp26849009p26849009.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26845676</id>
	<title>Re: Running integration tests on developer machine</title>
	<published>2009-12-18T07:56:16Z</published>
	<updated>2009-12-18T07:56:16Z</updated>
	<author>
		<name>Nat Pryce</name>
	</author>
	<content type="html">2009/12/18 vishal_sodani &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26845676&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;vishal_sodani@...&lt;/a&gt;&amp;gt;
&lt;br&gt;&lt;br&gt;&amp;gt; Hi Nat,
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Could you expand on this a little bit?
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;quot;The best solution is to make every developer workstation identical, as far as the project is concerned, so that all team members can use the same config file to run the system or tests on their workstation&amp;quot;
&lt;br&gt;&amp;gt; In what ways workstation should be identical? I was thinking of having another database,&amp;quot;test database&amp;quot;, which will be recreated on dev's machine every time integration tests need to be run.
&lt;br&gt;&lt;br&gt;Yes. &amp;nbsp;That's what I meant. &amp;nbsp;If at all possible, I'd develop on the
&lt;br&gt;same OS as the app is deployed to, use the same version of the
&lt;br&gt;database server, with the same schema names, port numbers, TNS names,
&lt;br&gt;etc.
&lt;br&gt;&lt;br&gt;--Nat
&lt;br&gt;&lt;br&gt;--
&lt;br&gt;&lt;a href=&quot;http://www.natpryce.com&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.natpryce.com&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Running-integration-tests-on-developer-machine-tp26781826p26845676.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26845332</id>
	<title>Re: Running integration tests on developer machine</title>
	<published>2009-12-18T06:05:22Z</published>
	<updated>2009-12-18T06:05:22Z</updated>
	<author>
		<name>django_passion</name>
	</author>
	<content type="html">Hi Nat,
&lt;br&gt;&lt;br&gt;Could you expand on this a little bit?
&lt;br&gt;&amp;quot;The best solution is to make every developer workstation identical, as far as the project is concerned, so that all team members can use the same config file to run the system or tests on their workstation&amp;quot;
&lt;br&gt;In what ways workstation should be identical? I was thinking of having another database,&amp;quot;test database&amp;quot;, which will be recreated on dev's machine every time integration tests need to be run.
&lt;br&gt;thanks
&lt;br&gt;&lt;br&gt;--- In &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26845332&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;testdrivendevelopment@...&lt;/a&gt;, Nat Pryce &amp;lt;nat.pryce@...&amp;gt; wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; 2009/12/14 twitter.com/nfma &amp;lt;nuno.filipe.marques@...&amp;gt;
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; I've done this using the user.name system property with maven and having a
&lt;br&gt;&amp;gt; &amp;gt; conf file per dev in the proj conf folder.
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; That rapidly gets out of control, because either you check a config file
&lt;br&gt;&amp;gt; for every developer into the source code repository, or every developer
&lt;br&gt;&amp;gt; maintains their own copy outside the repository. &amp;nbsp;In the former case, you
&lt;br&gt;&amp;gt; end up with loads of unused config files as developers come and go, and the
&lt;br&gt;&amp;gt; config files of different developers drift apart over time for reasons
&lt;br&gt;&amp;gt; nobody understands. &amp;nbsp;In the latter case, it becomes increasingly difficult
&lt;br&gt;&amp;gt; to add config properties and developers spend lots of time working out why
&lt;br&gt;&amp;gt; the system has stopped working locally.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; The best solution is to make every developer workstation identical, as far
&lt;br&gt;&amp;gt; as the project is concerned, so that all team members can use the same
&lt;br&gt;&amp;gt; config file to run the system or tests on their workstation. &amp;nbsp;And make them
&lt;br&gt;&amp;gt; as similar to the production environment as possible. I much prefer to
&lt;br&gt;&amp;gt; install any infrastructure servers on every workstation (database, message
&lt;br&gt;&amp;gt; broker, etc.). Almost all commercial database systems have a free version
&lt;br&gt;&amp;gt; that can run on Windows or Linux. For example, we use the free Oracle 10 XE
&lt;br&gt;&amp;gt; on the desktop and the expensive Oracle 10g serverside and have not noticed
&lt;br&gt;&amp;gt; any differences that affect our systems.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; If you need to use services off the workstation, you can do tricks with the
&lt;br&gt;&amp;gt; local /etc/hosts file (Windows has an equivalent) so that different
&lt;br&gt;&amp;gt; workstations resolve the same service name to different IP addresses. &amp;nbsp;But
&lt;br&gt;&amp;gt; that can make connection issues difficult to diagnose, so I prefer not to.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;nbsp;--Nat
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; 2009/12/14 vishal_sodani &amp;lt;vishal_sodani@...&amp;lt;vishal_sodani%40yahoo.com&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; Hi,
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; I am part of a project which has legacy code.I have started writing some
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; unit as well as integration tests, which also required some
&lt;br&gt;&amp;gt; &amp;gt; refactoring.Now,
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; to run integration tests on a developer machine,the connection string
&lt;br&gt;&amp;gt; &amp;gt; needs
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; to be changed.Since, each developer will have different connection
&lt;br&gt;&amp;gt; &amp;gt; string.Is
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; there an alternative to this solution? How can I avoid this manual change
&lt;br&gt;&amp;gt; &amp;gt; on
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; each developer's machine?
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; regards
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; vishal
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; [Non-text portions of this message have been removed]
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp;
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; -- 
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://www.natpryce.com&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.natpryce.com&lt;/a&gt;&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; [Non-text portions of this message have been removed]
&lt;br&gt;&amp;gt;
&lt;/div&gt;&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Running-integration-tests-on-developer-machine-tp26781826p26845332.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26833326</id>
	<title>Re: Re: Testing OpenGL implemented classes</title>
	<published>2009-12-17T10:31:20Z</published>
	<updated>2009-12-17T10:31:20Z</updated>
	<author>
		<name>chris morris-7</name>
	</author>
	<content type="html">On Thu, Dec 17, 2009 at 10:45 AM, nat_pryce &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26833326&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;nat.pryce@...&lt;/a&gt;&amp;gt; wrote:
&lt;br&gt;&lt;br&gt;&amp;gt; You could use something like Perceptual Image Diff (
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://pdiff.sourceforge.net/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://pdiff.sourceforge.net/&lt;/a&gt;) to assert that the final renderered image
&lt;br&gt;&amp;gt; is close enough to an expected image that the human eye cannot distinguish
&lt;br&gt;&amp;gt; the two.
&lt;br&gt;&amp;gt;
&lt;br&gt;&lt;br&gt;That's an interesting project. Thx for the link.
&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;Chris
&lt;br&gt;&lt;a href=&quot;http://clabs.org&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://clabs.org&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;[Non-text portions of this message have been removed]
&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Testing-OpenGL-implemented-classes-tp26788709p26833326.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26832209</id>
	<title>Re: Testing OpenGL implemented classes</title>
	<published>2009-12-17T08:45:25Z</published>
	<updated>2009-12-17T08:45:25Z</updated>
	<author>
		<name>Nat Pryce</name>
	</author>
	<content type="html">--- In &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26832209&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;testdrivendevelopment@...&lt;/a&gt;, Tron Thomas &amp;lt;tron.thomas@...&amp;gt; wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; I am writing classes which will use for rendering 3 dimensional scenes. &amp;nbsp;
&lt;br&gt;&amp;gt; For example, I want to implement a Light class that can be used to light 
&lt;br&gt;&amp;gt; the scene. &amp;nbsp;I am planning for the Light class to make use of OpenGL to 
&lt;br&gt;&amp;gt; provide the needed functionality.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; When it comes to writing test for the Light class it is desirable to 
&lt;br&gt;&amp;gt; isolate the class. &amp;nbsp;I wondering if this would require the need to mock 
&lt;br&gt;&amp;gt; the OpenGL calls a Light instance might make, or would it be okay use 
&lt;br&gt;&amp;gt; the OpenGL API's themselves to verify functionality as it is possible to 
&lt;br&gt;&amp;gt; query things like the state of OpenGL lighting.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Another thought is to create an abstract graphics interface that could 
&lt;br&gt;&amp;gt; be implemented in terms of OpenGL or some other technology. &amp;nbsp;It is not 
&lt;br&gt;&amp;gt; clear this is really necessary, and could be a &amp;nbsp;lot of work.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; What are people's thoughts on how this tested should be approached?
&lt;br&gt;&amp;gt;
&lt;/div&gt;&lt;br&gt;Testing graphics operations is tricky because neither interaction testing (mock objects) nor state-based testing are a good fit.
&lt;br&gt;&lt;br&gt;If you use mock objects or similar technique to define the expected sequence of graphics operations it is very easy to overspecify the solution. &amp;nbsp;Some operations must occur in a strict order (placing lights before drawing polygons, for example) while others do not (drawing the individual strips that make up a 3D model). &amp;nbsp; Many times you don't care how the shape that appears on screen is made up of primitive drawing operations, just that whatever operations you invoke leave the pixels set the way you want.
&lt;br&gt;&lt;br&gt;However, most graphics APIs do not precisely specify how graphics operations effect pixel values, so that implementers have some scope for optimisation. &amp;nbsp;That means you can't do state-based testing on final pixel values without some innacuracy.
&lt;br&gt;&lt;br&gt;You could use something like Perceptual Image Diff (&lt;a href=&quot;http://pdiff.sourceforge.net/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://pdiff.sourceforge.net/&lt;/a&gt;) to assert that the final renderered image is close enough to an expected image that the human eye cannot distinguish the two.
&lt;br&gt;&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Testing-OpenGL-implemented-classes-tp26788709p26832209.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26831474</id>
	<title>Re: Setting up test data for integration tests</title>
	<published>2009-12-17T08:16:13Z</published>
	<updated>2009-12-17T08:16:13Z</updated>
	<author>
		<name>Klaus Hebsgaard</name>
	</author>
	<content type="html">Thanks great - I would probably seperate the generation of the test data
&lt;br&gt;from the fixture..
&lt;br&gt;Med Venlig hilsen
&lt;br&gt;&lt;br&gt;Klaus Hebsgaard
&lt;br&gt;&lt;br&gt;Website: &lt;a href=&quot;http://www.hebsgaard.dk&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.hebsgaard.dk&lt;/a&gt;&lt;br&gt;Blog: &lt;a href=&quot;http://www.khebbie.dk&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.khebbie.dk&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;On Wed, Dec 16, 2009 at 8:46 PM, Chris Morris &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26831474&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;the.chrismo@...&lt;/a&gt;&amp;gt; wrote:
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; For repeatability, I try to create tests that can create their own test
&lt;br&gt;&amp;gt; data
&lt;br&gt;&amp;gt; from scratch to depend on. This can be a lot of work and yield some large
&lt;br&gt;&amp;gt; fixture classes. Upsides of this work: you may learn some interesting
&lt;br&gt;&amp;gt; details of the system and the fixture classes themselves could grow up to
&lt;br&gt;&amp;gt; become production classes. Downsides: you'll probably make some
&lt;br&gt;&amp;gt; assumptions/shortcuts in your fixtures that restrict the coverage your
&lt;br&gt;&amp;gt; tests.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; To compensate for that last downside, it's good to also have some rigs
&lt;br&gt;&amp;gt; (manually executed perhaps) that can load up lots and lots of real data (or
&lt;br&gt;&amp;gt; copies of real data from production) and run that data through your
&lt;br&gt;&amp;gt; production code to help flush out gaps in coverage in your automated test
&lt;br&gt;&amp;gt; suite.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; On Tue, Dec 15, 2009 at 2:55 PM, Klaus Hebsgaard &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26831474&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;klaus@...&lt;/a&gt;&amp;lt;klaus%40hebsgaard.dk&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; wrote:
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; Well actually I think I am pretty sure I know how I would set up test
&lt;br&gt;&amp;gt; &amp;gt; data for a system I own.
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; But what do you do about setting up test data for at system you don't
&lt;br&gt;&amp;gt; own?
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; Do you just find suitable testdata?
&lt;br&gt;&amp;gt; &amp;gt; Or do you actually create test data, and hence take the time to write
&lt;br&gt;&amp;gt; &amp;gt; to the system (which could be a big task)?
&lt;br&gt;&amp;gt; &amp;gt; If you create test data I assume you do it well, like creating a
&lt;br&gt;&amp;gt; &amp;gt; fluent builder or the likes of it?
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; Best regards
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; Klaus Hebsgaard
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; Website: &lt;a href=&quot;http://www.hebsgaard.dk&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.hebsgaard.dk&lt;/a&gt;&lt;br&gt;&amp;gt; &amp;gt; Blog: &lt;a href=&quot;http://www.khebbie.dk&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.khebbie.dk&lt;/a&gt;&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; ------------------------------------
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; Yahoo! Groups Links
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; --
&lt;br&gt;&amp;gt; Chris
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://clabs.org&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://clabs.org&lt;/a&gt;&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; [Non-text portions of this message have been removed]
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp;
&lt;br&gt;&amp;gt;
&lt;/div&gt;&lt;br&gt;&lt;br&gt;[Non-text portions of this message have been removed]
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;------------------------------------
&lt;br&gt;&lt;br&gt;Yahoo! Groups Links
&lt;br&gt;&lt;br&gt;&amp;lt;*&amp;gt; To visit your group on the web, go to:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://groups.yahoo.com/group/testdrivendevelopment/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://groups.yahoo.com/group/testdrivendevelopment/&lt;/a&gt;&lt;br&gt;&lt;br&gt;&amp;lt;*&amp;gt; Your email settings:
&lt;br&gt;&amp;nbsp; &amp;nbsp; Individual Email | Traditional
&lt;br&gt;&lt;br&gt;&amp;lt;*&amp;gt; To change settings online go to:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://groups.yahoo.com/group/testdrivendevelopment/join&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://groups.yahoo.com/group/testdrivendevelopment/join&lt;/a&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; (Yahoo! ID required)
&lt;br&gt;&lt;br&gt;&amp;lt;*&amp;gt; To change settings via email:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26831474&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;testdrivendevelopment-digest@...&lt;/a&gt; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26831474&amp;i=3&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;testdrivendevelopment-fullfeatured@...&lt;/a&gt;
&lt;br&gt;&lt;br&gt;&amp;lt;*&amp;gt; To unsubscribe from this group, send an email to:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26831474&amp;i=4&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;testdrivendevelopment-unsubscribe@...&lt;/a&gt;
&lt;br&gt;&lt;br&gt;&amp;lt;*&amp;gt; Your use of Yahoo! Groups is subject to:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://docs.yahoo.com/info/terms/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://docs.yahoo.com/info/terms/&lt;/a&gt;&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Setting-up-test-data-for-integration-tests-tp26803416p26831474.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26825885</id>
	<title>Code contributions in open and closed source software projects</title>
	<published>2009-12-17T02:15:08Z</published>
	<updated>2009-12-17T02:15:08Z</updated>
	<author>
		<name>Dirk Riehle</name>
	</author>
	<content type="html">Hello everyone,
&lt;br&gt;&lt;br&gt;we are undertaking a study on how developers contribute to both open and
&lt;br&gt;closed source software projects. Please help this research by taking this
&lt;br&gt;short 10 (+3) question survey!
&lt;br&gt;&lt;br&gt;&lt;a href=&quot;http://osr.cs.fau.de/surveys/index.php?sid=16947&amp;lang=en&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://osr.cs.fau.de/surveys/index.php?sid=16947&amp;lang=en&lt;/a&gt;&lt;br&gt;&lt;br&gt;We will of course publish the results of this study and if you leave your
&lt;br&gt;email address, you can get the results early.
&lt;br&gt;&lt;br&gt;A bit more information for those interested: We are trying to assess the code
&lt;br&gt;contribution distribution, that is, how much code and how frequently people
&lt;br&gt;check-in. More importantly, what they think how they contribute. The answers
&lt;br&gt;are expected to vary, hence the notion of “distribution”. Better understanding
&lt;br&gt;code contribution behavior will help us build better software development tools.
&lt;br&gt;&lt;br&gt;Thanks a lot!
&lt;br&gt;&lt;br&gt;Dirk Riehle
&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;Website: &lt;a href=&quot;http://dirkriehle.com&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://dirkriehle.com&lt;/a&gt;&amp;nbsp;- Twitter: @dirkriehle
&lt;br&gt;Ph (DE): +49-157-8153-4150 - Ph (US): +1-650-450-8550
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;------------------------------------
&lt;br&gt;&lt;br&gt;Yahoo! Groups Links
&lt;br&gt;&lt;br&gt;&amp;lt;*&amp;gt; To visit your group on the web, go to:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://groups.yahoo.com/group/testdrivendevelopment/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://groups.yahoo.com/group/testdrivendevelopment/&lt;/a&gt;&lt;br&gt;&lt;br&gt;&amp;lt;*&amp;gt; Your email settings:
&lt;br&gt;&amp;nbsp; &amp;nbsp; Individual Email | Traditional
&lt;br&gt;&lt;br&gt;&amp;lt;*&amp;gt; To change settings online go to:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://groups.yahoo.com/group/testdrivendevelopment/join&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://groups.yahoo.com/group/testdrivendevelopment/join&lt;/a&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; (Yahoo! ID required)
&lt;br&gt;&lt;br&gt;&amp;lt;*&amp;gt; To change settings via email:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26825885&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;testdrivendevelopment-digest@...&lt;/a&gt; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26825885&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;testdrivendevelopment-fullfeatured@...&lt;/a&gt;
&lt;br&gt;&lt;br&gt;&amp;lt;*&amp;gt; To unsubscribe from this group, send an email to:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26825885&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;testdrivendevelopment-unsubscribe@...&lt;/a&gt;
&lt;br&gt;&lt;br&gt;&amp;lt;*&amp;gt; Your use of Yahoo! Groups is subject to:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://docs.yahoo.com/info/terms/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://docs.yahoo.com/info/terms/&lt;/a&gt;&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Code-contributions-in-open-and-closed-source-software-projects-tp26825885p26825885.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26818026</id>
	<title>Re: Setting up test data for integration tests</title>
	<published>2009-12-16T11:46:43Z</published>
	<updated>2009-12-16T11:46:43Z</updated>
	<author>
		<name>chris morris-7</name>
	</author>
	<content type="html">For repeatability, I try to create tests that can create their own test data
&lt;br&gt;from scratch to depend on. This can be a lot of work and yield some large
&lt;br&gt;fixture classes. Upsides of this work: you may learn some interesting
&lt;br&gt;details of the system and the fixture classes themselves could grow up to
&lt;br&gt;become production classes. Downsides: you'll probably make some
&lt;br&gt;assumptions/shortcuts in your fixtures that restrict the coverage your
&lt;br&gt;tests.
&lt;br&gt;&lt;br&gt;To compensate for that last downside, it's good to also have some rigs
&lt;br&gt;(manually executed perhaps) that can load up lots and lots of real data (or
&lt;br&gt;copies of real data from production) and run that data through your
&lt;br&gt;production code to help flush out gaps in coverage in your automated test
&lt;br&gt;suite.
&lt;br&gt;&lt;br&gt;&lt;br&gt;On Tue, Dec 15, 2009 at 2:55 PM, Klaus Hebsgaard &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26818026&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;klaus@...&lt;/a&gt;&amp;gt; wrote:
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Well actually I think I am pretty sure I know how I would set up test
&lt;br&gt;&amp;gt; data for a system I own.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; But what do you do about setting up test data for at system you don't own?
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Do you just find suitable testdata?
&lt;br&gt;&amp;gt; Or do you actually create test data, and hence take the time to write
&lt;br&gt;&amp;gt; to the system (which could be a big task)?
&lt;br&gt;&amp;gt; If you create test data I assume you do it well, like creating a
&lt;br&gt;&amp;gt; fluent builder or the likes of it?
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Best regards
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Klaus Hebsgaard
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Website: &lt;a href=&quot;http://www.hebsgaard.dk&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.hebsgaard.dk&lt;/a&gt;&lt;br&gt;&amp;gt; Blog: &lt;a href=&quot;http://www.khebbie.dk&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.khebbie.dk&lt;/a&gt;&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; ------------------------------------
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Yahoo! Groups Links
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;/div&gt;&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;Chris
&lt;br&gt;&lt;a href=&quot;http://clabs.org&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://clabs.org&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;[Non-text portions of this message have been removed]
&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Setting-up-test-data-for-integration-tests-tp26803416p26818026.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26816083</id>
	<title>Re: Testing OpenGL implemented classes</title>
	<published>2009-12-16T10:12:01Z</published>
	<updated>2009-12-16T10:12:01Z</updated>
	<author>
		<name>chris morris-7</name>
	</author>
	<content type="html">Could be I've missed the point of the question, though. From re-reading your
&lt;br&gt;email, you may already have scene objects and are looking to TDD the
&lt;br&gt;rendering class itself.
&lt;br&gt;&lt;br&gt;On Tue, Dec 15, 2009 at 11:42 PM, Tron Thomas &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26816083&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;tron.thomas@...&lt;/a&gt;&amp;gt;wrote:
&lt;br&gt;&lt;br&gt;&amp;gt; I'm not sure I follow what you are saying Chris. &amp;nbsp;If a light is meant to
&lt;br&gt;&amp;gt; implement lighting affects in a scene rendered by OpenGL how can it not
&lt;br&gt;&amp;gt; make calls to OpenGL lighting functions, unless you are advocating for
&lt;br&gt;&amp;gt; create the graphics interface.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; --
&lt;br&gt;Chris
&lt;br&gt;&lt;a href=&quot;http://clabs.org&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://clabs.org&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;[Non-text portions of this message have been removed]
&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Testing-OpenGL-implemented-classes-tp26788709p26816083.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26816145</id>
	<title>Re: Testing OpenGL implemented classes</title>
	<published>2009-12-16T10:08:54Z</published>
	<updated>2009-12-16T10:08:54Z</updated>
	<author>
		<name>chris morris-7</name>
	</author>
	<content type="html">In my simple particle system, I have an SwtDisplay class with a paint method
&lt;br&gt;(see below). It receives an array of particle objects from the particle
&lt;br&gt;system and renders them. The particle system is completely independent of
&lt;br&gt;rendering - it handles all of the math (and in this case coloring, which you
&lt;br&gt;could argue is an improper coupling), the rendering class handles the
&lt;br&gt;actually drawing and calls to whatever API you have. I could create a
&lt;br&gt;separate OpenGLDisplay class to have it rendered there.
&lt;br&gt;&lt;br&gt;It's been mentioned earlier in this thread that this sort of separation can
&lt;br&gt;have performance concerns in this specific context of game design ... so
&lt;br&gt;keep in mind my example here is for a very (_very_) simple bit of toy code.
&lt;br&gt;&lt;br&gt;If you want to see the whole thing in context, grab a .zip here:
&lt;br&gt;&lt;a href=&quot;http://clabs.org/dl/partikil&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://clabs.org/dl/partikil&lt;/a&gt;, the clparticle.jar has sources (including
&lt;br&gt;tests) inside. Since there's no knowledge of rendering in the particle
&lt;br&gt;system classes, it's easy to test the core classes because there's nothing
&lt;br&gt;to even mock out.
&lt;br&gt;&lt;br&gt;private void paint() {
&lt;br&gt;IParticle[] array = cachedParticleArray;
&lt;br&gt;// at startup, system may ask us to render before we've initialized
&lt;br&gt;if ((canvas != null) &amp;&amp; (image != null)) {
&lt;br&gt;bGC.setBackground(canvas.getBackground());
&lt;br&gt;bGC.fillRectangle(display.getBounds());
&lt;br&gt;&amp;nbsp;if (paintListener != null) paintListener.onBeforePaint(bGC);
&lt;br&gt;&amp;nbsp;for (int i = 0; i &amp;lt; array.length; i++) {
&lt;br&gt;IParticle particle = array[i];
&lt;br&gt;org.clabs.particle.Color color = particle.getColor();
&lt;br&gt;Color swtColor = new Color(display, color.getRed(), color.getGreen(),
&lt;br&gt;color.getBlue());
&lt;br&gt;try {
&lt;br&gt;int size = particle.getSize();
&lt;br&gt;if (size == 1) {
&lt;br&gt;bGC.setForeground(swtColor);
&lt;br&gt;bGC.drawPoint((int)particle.getLeft(), (int)particle.getTop());
&lt;br&gt;}
&lt;br&gt;else {
&lt;br&gt;bGC.setBackground(swtColor);
&lt;br&gt;bGC.fillOval((int)particle.getLeft(), (int)particle.getTop(), size, size);
&lt;br&gt;}
&lt;br&gt;}
&lt;br&gt;finally {
&lt;br&gt;swtColor.dispose();
&lt;br&gt;}
&lt;br&gt;&amp;nbsp;}
&lt;br&gt;&amp;nbsp;bGC.setBackground(canvas.getBackground());
&lt;br&gt;&amp;nbsp;if (paintListener != null) paintListener.onAfterPaint(bGC);
&lt;br&gt;canvas.drawImage(image, 0, 0);
&lt;br&gt;}
&lt;br&gt;}
&lt;br&gt;&lt;br&gt;On Tue, Dec 15, 2009 at 11:42 PM, Tron Thomas &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26816145&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;tron.thomas@...&lt;/a&gt;&amp;gt;wrote:
&lt;br&gt;&lt;br&gt;&amp;gt; I'm not sure I follow what you are saying Chris. &amp;nbsp;If a light is meant to
&lt;br&gt;&amp;gt; implement lighting affects in a scene rendered by OpenGL how can it not
&lt;br&gt;&amp;gt; make calls to OpenGL lighting functions, unless you are advocating for
&lt;br&gt;&amp;gt; create the graphics interface.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;-- 
&lt;br&gt;Chris
&lt;br&gt;&lt;a href=&quot;http://clabs.org&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://clabs.org&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;[Non-text portions of this message have been removed]
&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Testing-OpenGL-implemented-classes-tp26788709p26816145.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26814390</id>
	<title>Re: bowling game in python, step by step</title>
	<published>2009-12-16T08:26:23Z</published>
	<updated>2009-12-16T08:26:23Z</updated>
	<author>
		<name>Steve Howell</name>
	</author>
	<content type="html">&lt;br&gt;--- In &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26814390&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;testdrivendevelopment@...&lt;/a&gt;, Olof Bjarnason &amp;lt;olof.bjarnason@...&amp;gt; wrote:
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Thanks for sharing this!
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; I really like your minimalistic, test-framework-free approach to the problem
&lt;br&gt;&amp;gt; ;)
&lt;br&gt;&amp;gt; 
&lt;br&gt;&lt;br&gt;Thanks!
&lt;br&gt;&lt;br&gt;&amp;gt; You might be interested in my youtube-videos featuring how I TDD in Python,
&lt;br&gt;&amp;gt; under Ubuntu:
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://www.youtube.com/watch?v=sD6qzJNQEpE&amp;feature=PlayList&amp;p=5F75235C3BCC4172&amp;index=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.youtube.com/watch?v=sD6qzJNQEpE&amp;feature=PlayList&amp;p=5F75235C3BCC4172&amp;index=0&lt;/a&gt;&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; It's a really simple problem (parsing a URL-string) but I think it
&lt;br&gt;&amp;gt; demonstrates my TDD-approach anyway.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&lt;br&gt;I just watched it! &amp;nbsp;Is part four still on the way? &amp;nbsp;It looked like your tests were fairly complete, but you were still struggling a bit to make the implementation pretty. &amp;nbsp;It seemed like temporary variables were hard to give good names after you did &amp;quot;split,&amp;quot; so I was wondering why you did not try tuple assignment?
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/bowling-game-in-python%2C-step-by-step-tp26805681p26814390.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26808475</id>
	<title>Re: Testing OpenGL implemented classes</title>
	<published>2009-12-16T01:31:44Z</published>
	<updated>2009-12-16T01:31:44Z</updated>
	<author>
		<name>Dale Emery</name>
	</author>
	<content type="html">Hi Tron,
&lt;br&gt;&lt;br&gt;When it comes to writing test for the Light class it is desirable to isolate
&lt;br&gt;&amp;gt; the class. &amp;nbsp;I wondering if this would require the need to mock the OpenGL
&lt;br&gt;&amp;gt; calls a Light instance might make
&lt;br&gt;&lt;br&gt;&lt;br&gt;It's not required, of course, but that's the way I'd go. I like to provide a
&lt;br&gt;layer of insulation -- an adapter class between code I write and third party
&lt;br&gt;code. This takes more work up front, but it can simplify the job of
&lt;br&gt;upgrading the third party library to new versions. When the library changes,
&lt;br&gt;I don't have to search through all of my code to find the calls; I have only
&lt;br&gt;to review the adapter. In this way, the adapter reduces your exposure to
&lt;br&gt;quirks and changes in the third party code.
&lt;br&gt;&lt;br&gt;or would it be okay use the OpenGL API's themselves to verify functionality
&lt;br&gt;&amp;gt; as it is possible to query things like the state of OpenGL lighting.
&lt;br&gt;&amp;gt;
&lt;br&gt;&lt;br&gt;Yes, that's always a possibility. The drawback is: When there's a defect
&lt;br&gt;that involves Light, where is the fault? Is it in Light? In OpenGL? In the
&lt;br&gt;way Light uses OpenGL? Separating Light from OpenGL gives you an opportunity
&lt;br&gt;to specify the important behavior of each, in a way that allows you to more
&lt;br&gt;quickly trace a defect to the broken code.
&lt;br&gt;&lt;br&gt;&lt;br&gt;&amp;gt; Another thought is to create an abstract graphics interface that could be
&lt;br&gt;&amp;gt; implemented in terms of OpenGL or some other technology. &amp;nbsp;It is not clear
&lt;br&gt;&amp;gt; this is really necessary, and could be a &amp;nbsp;lot of work.
&lt;br&gt;&amp;gt;
&lt;br&gt;&lt;br&gt;Here's a way to make it less work: Don't create a whole big abstract
&lt;br&gt;graphics interface. Create a small interface that uses only the features
&lt;br&gt;that Light uses. Add to the interface only when Light (or some other client)
&lt;br&gt;needs an additional feature from the rendering library.
&lt;br&gt;&lt;br&gt;Also, define the interface in terms of Light's needs, which may differ from
&lt;br&gt;the API that OpenGL exposes.
&lt;br&gt;&lt;br&gt;Michael Feathers describes a step-by-step approach to this in his terrific
&lt;br&gt;book Working Effectively With Legacy Code. Bret Schuchert has translated the
&lt;br&gt;approach into a nice series of diagrams:
&lt;br&gt;&lt;a href=&quot;http://blog.objectmentor.com/articles/2009/12/16/name-that-refactoring-2-version-2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://blog.objectmentor.com/articles/2009/12/16/name-that-refactoring-2-version-2&lt;/a&gt;.
&lt;br&gt;&lt;br&gt;Part of the extra work you mentioned is to set up the mocks, and part of
&lt;br&gt;that is to understand the OpenGL behavior well enough to mock it reliably.
&lt;br&gt;One way to do that is to write &amp;quot;characterization tests&amp;quot; -- that is, tests
&lt;br&gt;that characterize important aspects (more below) of OpenGL's current
&lt;br&gt;behavior.
&lt;br&gt;&lt;br&gt;In addition to helping you understand OpenGL's behavior, characterization
&lt;br&gt;tests also help you to detect behavior changes when up upgrade OpenGL, or
&lt;br&gt;when the test machine or a user's machine has a slightly different version
&lt;br&gt;or configuration. Your characterization tests say &amp;quot;here's the behavior I
&lt;br&gt;depend on,&amp;quot; and one fails, you know something changed in the library.
&lt;br&gt;&lt;br&gt;You don't need characterization tests for all of OpenGL -- just the bits
&lt;br&gt;that your classes call. Less than that, even: I tend to write
&lt;br&gt;characterization tests only when I'm puzzled about some quirk of the
&lt;br&gt;library's behavior, when I learn something that surprises me, or when I
&lt;br&gt;discover that my test doubles aren't mimicking the library's behavior well
&lt;br&gt;enough. I write the characterization tests to explore the library's behavior
&lt;br&gt;and quirks; I keep them so that I don't forget what I learned.
&lt;br&gt;&lt;br&gt;So the key elements for me are:
&lt;br&gt;1. An interface (or two or three) defined by Light's needs.
&lt;br&gt;2. An adapter (or two or three) that implements the interface, translates
&lt;br&gt;Light's needs into OpenGL calls, and does nothing else.
&lt;br&gt;3. Test doubles as needed.
&lt;br&gt;4. Characterization tests to capture quirks and to detect changes.
&lt;br&gt;&lt;br&gt;Dale
&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;Dale Emery
&lt;br&gt;Consultant to software teams and leaders
&lt;br&gt;Web: &lt;a href=&quot;http://dhemery.com&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://dhemery.com&lt;/a&gt;&lt;br&gt;Weblog: &lt;a href=&quot;http://cwd.dhemery.com&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://cwd.dhemery.com&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;[Non-text portions of this message have been removed]
&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Testing-OpenGL-implemented-classes-tp26788709p26808475.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26807480</id>
	<title>Re: bowling game in python, step by step</title>
	<published>2009-12-15T23:53:25Z</published>
	<updated>2009-12-15T23:53:25Z</updated>
	<author>
		<name>Olof Bjarnason</name>
	</author>
	<content type="html">Thanks for sharing this!
&lt;br&gt;&lt;br&gt;I really like your minimalistic, test-framework-free approach to the problem
&lt;br&gt;;)
&lt;br&gt;&lt;br&gt;You might be interested in my youtube-videos featuring how I TDD in Python,
&lt;br&gt;under Ubuntu:
&lt;br&gt;&lt;br&gt;&lt;a href=&quot;http://www.youtube.com/watch?v=sD6qzJNQEpE&amp;feature=PlayList&amp;p=5F75235C3BCC4172&amp;index=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.youtube.com/watch?v=sD6qzJNQEpE&amp;feature=PlayList&amp;p=5F75235C3BCC4172&amp;index=0&lt;/a&gt;&lt;br&gt;&lt;br&gt;It's a really simple problem (parsing a URL-string) but I think it
&lt;br&gt;demonstrates my TDD-approach anyway.
&lt;br&gt;&lt;br&gt;&lt;br&gt;2009/12/16 showell30 &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26807480&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;showell30@...&lt;/a&gt;&amp;gt;
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Here is yet another take on the old classic, the Bowling Game:
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://shpaml.webfactional.com/misc/bowling.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://shpaml.webfactional.com/misc/bowling.html&lt;/a&gt;&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; To help capture the evolutionary design of the problem, I kept diffs from
&lt;br&gt;&amp;gt; all 28 green bars leading up to the final^H^H^H^H^H^H current design, and
&lt;br&gt;&amp;gt; then added commentary.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://showellonprogramming.blogspot.com/2009/12/bowling-game-in-python.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://showellonprogramming.blogspot.com/2009/12/bowling-game-in-python.html&lt;/a&gt;&lt;br&gt;&amp;gt; The sequence was as follows:
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; PROBLEM STATEMENT
&lt;br&gt;&amp;gt; INFRASTRUCTURE
&lt;br&gt;&amp;gt; PASSING TEST
&lt;br&gt;&amp;gt; FREE PASSING TEST
&lt;br&gt;&amp;gt; REFACTOR TESTS
&lt;br&gt;&amp;gt; PASSING TEST
&lt;br&gt;&amp;gt; REFACTOR CODE
&lt;br&gt;&amp;gt; REFACTOR CODE
&lt;br&gt;&amp;gt; PASSING TEST
&lt;br&gt;&amp;gt; REFACTOR TESTS
&lt;br&gt;&amp;gt; FREE PASSING TEST
&lt;br&gt;&amp;gt; PASSING TEST
&lt;br&gt;&amp;gt; PASSING TEST
&lt;br&gt;&amp;gt; FREE PASSING TEST
&lt;br&gt;&amp;gt; PASSING TEST
&lt;br&gt;&amp;gt; PASSING TEST
&lt;br&gt;&amp;gt; PASSING TEST
&lt;br&gt;&amp;gt; REFACTOR CODE
&lt;br&gt;&amp;gt; REFACTOR TESTS
&lt;br&gt;&amp;gt; REFACTOR CODE
&lt;br&gt;&amp;gt; REFACTOR CODE
&lt;br&gt;&amp;gt; REFACTOR CODE
&lt;br&gt;&amp;gt; PREFACTOR CODE
&lt;br&gt;&amp;gt; FREE PASSING TEST
&lt;br&gt;&amp;gt; REFACTOR CODE
&lt;br&gt;&amp;gt; REFACTOR CODE
&lt;br&gt;&amp;gt; REFACTOR CODE
&lt;br&gt;&amp;gt; REFACTOR CODE
&lt;br&gt;&amp;gt; FREE PASSING TEST
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; I hope this might be of interest to some folks as a case study/teaching
&lt;br&gt;&amp;gt; aid/etc.!
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; I also talk a bit about the exercise in my blog entry:
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://showellonprogramming.blogspot.com/2009/12/bowling-game-in-python.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://showellonprogramming.blogspot.com/2009/12/bowling-game-in-python.html&lt;/a&gt;&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Cheers,
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Steve Howell
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp;
&lt;br&gt;&amp;gt;
&lt;/div&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;twitter.com/olofb
&lt;br&gt;olofb.wordpress.com
&lt;br&gt;&lt;br&gt;&lt;br&gt;[Non-text portions of this message have been removed]
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;------------------------------------
&lt;br&gt;&lt;br&gt;Yahoo! Groups Links
&lt;br&gt;&lt;br&gt;&amp;lt;*&amp;gt; To visit your group on the web, go to:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://groups.yahoo.com/group/testdrivendevelopment/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://groups.yahoo.com/group/testdrivendevelopment/&lt;/a&gt;&lt;br&gt;&lt;br&gt;&amp;lt;*&amp;gt; Your email settings:
&lt;br&gt;&amp;nbsp; &amp;nbsp; Individual Email | Traditional
&lt;br&gt;&lt;br&gt;&amp;lt;*&amp;gt; To change settings online go to:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://groups.yahoo.com/group/testdrivendevelopment/join&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://groups.yahoo.com/group/testdrivendevelopment/join&lt;/a&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; (Yahoo! ID required)
&lt;br&gt;&lt;br&gt;&amp;lt;*&amp;gt; To change settings via email:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26807480&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;testdrivendevelopment-digest@...&lt;/a&gt; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26807480&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;testdrivendevelopment-fullfeatured@...&lt;/a&gt;
&lt;br&gt;&lt;br&gt;&amp;lt;*&amp;gt; To unsubscribe from this group, send an email to:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26807480&amp;i=3&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;testdrivendevelopment-unsubscribe@...&lt;/a&gt;
&lt;br&gt;&lt;br&gt;&amp;lt;*&amp;gt; Your use of Yahoo! Groups is subject to:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://docs.yahoo.com/info/terms/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://docs.yahoo.com/info/terms/&lt;/a&gt;&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/bowling-game-in-python%2C-step-by-step-tp26805681p26807480.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26806562</id>
	<title>Re: Testing OpenGL implemented classes</title>
	<published>2009-12-15T21:42:39Z</published>
	<updated>2009-12-15T21:42:39Z</updated>
	<author>
		<name>tron_thomas</name>
	</author>
	<content type="html">I'm not sure I follow what you are saying Chris. &amp;nbsp;If a light is meant to 
&lt;br&gt;implement lighting affects in a scene rendered by OpenGL how can it not 
&lt;br&gt;make calls to OpenGL lighting functions, unless you are advocating for 
&lt;br&gt;create the graphics interface.
&lt;br&gt;&lt;br&gt;Chris Morris wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; &amp;nbsp;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Off the cuff I'd say light shouldn't make the OpenGL calls. I wrote a 
&lt;br&gt;&amp;gt; simple
&lt;br&gt;&amp;gt; particle system that is separate from the specific rendering - so I 
&lt;br&gt;&amp;gt; was able
&lt;br&gt;&amp;gt; to write a renderer in SWT and then again in .NET/WinForms (after
&lt;br&gt;&amp;gt; cross-compiling the .jars with IKVM.NET). Not hard to do - it may seem 
&lt;br&gt;&amp;gt; like
&lt;br&gt;&amp;gt; over-design, but I don't think it is and the testability alone will be 
&lt;br&gt;&amp;gt; worth
&lt;br&gt;&amp;gt; it.
&lt;br&gt;&amp;gt;
&lt;/div&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Testing-OpenGL-implemented-classes-tp26788709p26806562.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26806491</id>
	<title>Re: Testing OpenGL implemented classes</title>
	<published>2009-12-15T21:32:59Z</published>
	<updated>2009-12-15T21:32:59Z</updated>
	<author>
		<name>tron_thomas</name>
	</author>
	<content type="html">Sounds like you are advocating mocking the OpenGL calls. &amp;nbsp;I did not 
&lt;br&gt;mention in my original post; I am writing in C++ and using cxxtest as 
&lt;br&gt;the test harness. &amp;nbsp;I've never used any of its mock capabilities. &amp;nbsp;From 
&lt;br&gt;what I've read it does have the ability to override global functions 
&lt;br&gt;like those I was planning to call from OpenGL, so that approach should work.
&lt;br&gt;&lt;br&gt;Roy Osherove wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; &amp;nbsp;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; There's a lot to be said for abstracting away awkward or unusable 
&lt;br&gt;&amp;gt; interfaces
&lt;br&gt;&amp;gt; away from the core system.
&lt;br&gt;&amp;gt; that said, sometimes it's too much work and faking that behavior can be a
&lt;br&gt;&amp;gt; time saver as well as more pragmatic.
&lt;br&gt;&amp;gt; if these are interfaces or non sealed classes with virtual methods, 
&lt;br&gt;&amp;gt; then any
&lt;br&gt;&amp;gt; of today's isolation frameworks will do (rhino mocks, moq, nmock and
&lt;br&gt;&amp;gt; typemock)
&lt;br&gt;&amp;gt; otherwise typemock would be the only choice besides abstraction.
&lt;br&gt;&amp;gt;
&lt;/div&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Testing-OpenGL-implemented-classes-tp26788709p26806491.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26805681</id>
	<title>bowling game in python, step by step</title>
	<published>2009-12-15T18:58:45Z</published>
	<updated>2009-12-15T18:58:45Z</updated>
	<author>
		<name>Steve Howell</name>
	</author>
	<content type="html">Here is yet another take on the old classic, the Bowling Game: 
&lt;br&gt;&lt;br&gt;&lt;a href=&quot;http://shpaml.webfactional.com/misc/bowling.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://shpaml.webfactional.com/misc/bowling.html&lt;/a&gt;&lt;br&gt;&lt;br&gt;To help capture the evolutionary design of the problem, I kept diffs from all 28 green bars leading up to the final^H^H^H^H^H^H current design, and then added commentary.
&lt;br&gt;&lt;br&gt;&lt;a href=&quot;http://showellonprogramming.blogspot.com/2009/12/bowling-game-in-python.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://showellonprogramming.blogspot.com/2009/12/bowling-game-in-python.html&lt;/a&gt;&lt;br&gt;The sequence was as follows:
&lt;br&gt;&lt;br&gt;&amp;nbsp;PROBLEM STATEMENT
&lt;br&gt;&amp;nbsp;INFRASTRUCTURE
&lt;br&gt;&amp;nbsp;PASSING TEST
&lt;br&gt;&amp;nbsp;FREE PASSING TEST
&lt;br&gt;&amp;nbsp;REFACTOR TESTS
&lt;br&gt;&amp;nbsp;PASSING TEST
&lt;br&gt;&amp;nbsp;REFACTOR CODE
&lt;br&gt;&amp;nbsp;REFACTOR CODE
&lt;br&gt;&amp;nbsp;PASSING TEST
&lt;br&gt;&amp;nbsp;REFACTOR TESTS
&lt;br&gt;&amp;nbsp;FREE PASSING TEST
&lt;br&gt;&amp;nbsp;PASSING TEST
&lt;br&gt;&amp;nbsp;PASSING TEST
&lt;br&gt;&amp;nbsp;FREE PASSING TEST
&lt;br&gt;&amp;nbsp;PASSING TEST
&lt;br&gt;&amp;nbsp;PASSING TEST
&lt;br&gt;&amp;nbsp;PASSING TEST
&lt;br&gt;&amp;nbsp;REFACTOR CODE
&lt;br&gt;&amp;nbsp;REFACTOR TESTS
&lt;br&gt;&amp;nbsp;REFACTOR CODE
&lt;br&gt;&amp;nbsp;REFACTOR CODE
&lt;br&gt;&amp;nbsp;REFACTOR CODE
&lt;br&gt;&amp;nbsp;PREFACTOR CODE
&lt;br&gt;&amp;nbsp;FREE PASSING TEST
&lt;br&gt;&amp;nbsp;REFACTOR CODE
&lt;br&gt;&amp;nbsp;REFACTOR CODE
&lt;br&gt;&amp;nbsp;REFACTOR CODE
&lt;br&gt;&amp;nbsp;REFACTOR CODE
&lt;br&gt;&amp;nbsp;FREE PASSING TEST
&lt;br&gt;&lt;br&gt;I hope this might be of interest to some folks as a case study/teaching aid/etc.! &amp;nbsp;
&lt;br&gt;&lt;br&gt;I also talk a bit about the exercise in my blog entry:
&lt;br&gt;&lt;br&gt;&lt;a href=&quot;http://showellonprogramming.blogspot.com/2009/12/bowling-game-in-python.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://showellonprogramming.blogspot.com/2009/12/bowling-game-in-python.html&lt;/a&gt;&lt;br&gt;&lt;br&gt;Cheers,
&lt;br&gt;&lt;br&gt;Steve Howell
&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/bowling-game-in-python%2C-step-by-step-tp26805681p26805681.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26803416</id>
	<title>Setting up test data for integration tests</title>
	<published>2009-12-15T12:55:26Z</published>
	<updated>2009-12-15T12:55:26Z</updated>
	<author>
		<name>Klaus Hebsgaard</name>
	</author>
	<content type="html">Well actually I think I am pretty sure I know how I would set up test
&lt;br&gt;data for a system I own.
&lt;br&gt;&lt;br&gt;But what do you do about setting up test data for at system you don't own?
&lt;br&gt;&lt;br&gt;Do you just find suitable testdata?
&lt;br&gt;Or do you actually create test data, and hence take the time to write
&lt;br&gt;to the system (which could be a big task)?
&lt;br&gt;If you create test data I assume you do it well, like creating a
&lt;br&gt;fluent builder or the likes of it?
&lt;br&gt;&lt;br&gt;&lt;br&gt;Best regards
&lt;br&gt;&lt;br&gt;Klaus Hebsgaard
&lt;br&gt;&lt;br&gt;Website: &lt;a href=&quot;http://www.hebsgaard.dk&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.hebsgaard.dk&lt;/a&gt;&lt;br&gt;Blog: &lt;a href=&quot;http://www.khebbie.dk&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.khebbie.dk&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Setting-up-test-data-for-integration-tests-tp26803416p26803416.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26793320</id>
	<title>Re: Testing OpenGL implemented classes</title>
	<published>2009-12-15T03:27:04Z</published>
	<updated>2009-12-15T03:27:04Z</updated>
	<author>
		<name>liam mail</name>
	</author>
	<content type="html">2009/12/15 Chris Morris &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26793320&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;the.chrismo@...&lt;/a&gt;&amp;gt;
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Off the cuff I'd say light shouldn't make the OpenGL calls. I wrote a
&lt;br&gt;&amp;gt; simple
&lt;br&gt;&amp;gt; particle system that is separate from the specific rendering - so I was
&lt;br&gt;&amp;gt; able
&lt;br&gt;&amp;gt; to write a renderer in SWT and then again in .NET/WinForms (after
&lt;br&gt;&amp;gt; cross-compiling the .jars with IKVM.NET). Not hard to do - it may seem
&lt;br&gt;&amp;gt; like
&lt;br&gt;&amp;gt; over-design, but I don't think it is and the testability alone will be
&lt;br&gt;&amp;gt; worth
&lt;br&gt;&amp;gt; it.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; On Mon, Dec 14, 2009 at 9:02 PM, Tron Thomas &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26793320&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;tron.thomas@...&lt;/a&gt;&amp;lt;tron.thomas%40verizon.net&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;wrote:
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; I am writing classes which will use for rendering 3 dimensional scenes.
&lt;br&gt;&amp;gt; &amp;gt; For example, I want to implement a Light class that can be used to light
&lt;br&gt;&amp;gt; &amp;gt; the scene. I am planning for the Light class to make use of OpenGL to
&lt;br&gt;&amp;gt; &amp;gt; provide the needed functionality.
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; When it comes to writing test for the Light class it is desirable to
&lt;br&gt;&amp;gt; &amp;gt; isolate the class. I wondering if this would require the need to mock
&lt;br&gt;&amp;gt; &amp;gt; the OpenGL calls a Light instance might make, or would it be okay use
&lt;br&gt;&amp;gt; &amp;gt; the OpenGL API's themselves to verify functionality as it is possible to
&lt;br&gt;&amp;gt; &amp;gt; query things like the state of OpenGL lighting.
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; Another thought is to create an abstract graphics interface that could
&lt;br&gt;&amp;gt; &amp;gt; be implemented in terms of OpenGL or some other technology. It is not
&lt;br&gt;&amp;gt; &amp;gt; clear this is really necessary, and could be a lot of work.
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; What are people's thoughts on how this tested should be approached?
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; ------------------------------------
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; Yahoo! Groups Links
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; --
&lt;br&gt;&amp;gt; Chris
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://clabs.org&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://clabs.org&lt;/a&gt;&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; [Non-text portions of this message have been removed]
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp;
&lt;br&gt;&amp;gt;
&lt;/div&gt;Yes if you are going to abstract the API in use so that DirectX could for
&lt;br&gt;example be used then also the Light would also need to be abstracted. You
&lt;br&gt;are correct that creating an abstract Renderer involves more work and is
&lt;br&gt;actually generally frowned upon in games programming, as you have to reduce
&lt;br&gt;the interface to the lowest common denominator which may all include using
&lt;br&gt;void pointers et al.There are times in games programming where is clashes
&lt;br&gt;with good practice and unit testing.
&lt;br&gt;&lt;br&gt;I assume you are rendering the light on the CPU rather than the GPU, as on
&lt;br&gt;the GPU you are out of look in regards to unit testing, also note that the
&lt;br&gt;features you propose to use are depreciated by the API.
&lt;br&gt;&lt;br&gt;&lt;br&gt;[Non-text portions of this message have been removed]
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;------------------------------------
&lt;br&gt;&lt;br&gt;Yahoo! Groups Links
&lt;br&gt;&lt;br&gt;&amp;lt;*&amp;gt; To visit your group on the web, go to:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://groups.yahoo.com/group/testdrivendevelopment/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://groups.yahoo.com/group/testdrivendevelopment/&lt;/a&gt;&lt;br&gt;&lt;br&gt;&amp;lt;*&amp;gt; Your email settings:
&lt;br&gt;&amp;nbsp; &amp;nbsp; Individual Email | Traditional
&lt;br&gt;&lt;br&gt;&amp;lt;*&amp;gt; To change settings online go to:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://groups.yahoo.com/group/testdrivendevelopment/join&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://groups.yahoo.com/group/testdrivendevelopment/join&lt;/a&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; (Yahoo! ID required)
&lt;br&gt;&lt;br&gt;&amp;lt;*&amp;gt; To change settings via email:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26793320&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;testdrivendevelopment-digest@...&lt;/a&gt; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26793320&amp;i=3&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;testdrivendevelopment-fullfeatured@...&lt;/a&gt;
&lt;br&gt;&lt;br&gt;&amp;lt;*&amp;gt; To unsubscribe from this group, send an email to:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26793320&amp;i=4&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;testdrivendevelopment-unsubscribe@...&lt;/a&gt;
&lt;br&gt;&lt;br&gt;&amp;lt;*&amp;gt; Your use of Yahoo! Groups is subject to:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://docs.yahoo.com/info/terms/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://docs.yahoo.com/info/terms/&lt;/a&gt;&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Testing-OpenGL-implemented-classes-tp26788709p26793320.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26803169</id>
	<title>Re: Testing OpenGL implemented classes</title>
	<published>2009-12-14T23:30:37Z</published>
	<updated>2009-12-14T23:30:37Z</updated>
	<author>
		<name>Roy Osherove</name>
	</author>
	<content type="html">There's a lot to be said for abstracting away awkward or unusable interfaces
&lt;br&gt;away from the core system.
&lt;br&gt;that said, sometimes it's too much work and faking that behavior can be a
&lt;br&gt;time saver as well as more pragmatic.
&lt;br&gt;if these are interfaces or non sealed classes with virtual methods, then any
&lt;br&gt;of today's isolation frameworks will do (rhino mocks, moq, nmock and
&lt;br&gt;typemock)
&lt;br&gt;otherwise typemock would be the only choice besides abstraction.
&lt;br&gt;&lt;br&gt;On Tue, Dec 15, 2009 at 5:02 AM, Tron Thomas &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26803169&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;tron.thomas@...&lt;/a&gt;&amp;gt;wrote:
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; I am writing classes which will use for rendering 3 dimensional scenes.
&lt;br&gt;&amp;gt; For example, I want to implement a Light class that can be used to light
&lt;br&gt;&amp;gt; the scene. I am planning for the Light class to make use of OpenGL to
&lt;br&gt;&amp;gt; provide the needed functionality.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; When it comes to writing test for the Light class it is desirable to
&lt;br&gt;&amp;gt; isolate the class. I wondering if this would require the need to mock
&lt;br&gt;&amp;gt; the OpenGL calls a Light instance might make, or would it be okay use
&lt;br&gt;&amp;gt; the OpenGL API's themselves to verify functionality as it is possible to
&lt;br&gt;&amp;gt; query things like the state of OpenGL lighting.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Another thought is to create an abstract graphics interface that could
&lt;br&gt;&amp;gt; be implemented in terms of OpenGL or some other technology. It is not
&lt;br&gt;&amp;gt; clear this is really necessary, and could be a lot of work.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; What are people's thoughts on how this tested should be approached?
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp;
&lt;br&gt;&amp;gt;
&lt;/div&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;Thanks,
&lt;br&gt;&lt;br&gt;Roy Osherove
&lt;br&gt;www.TypeMock.com - Unit Testing, Plain Smart
&lt;br&gt;&lt;br&gt;Author of &amp;quot;The Art Of Unit Testing&amp;quot; (&lt;a href=&quot;http://ArtOfUnitTesting.com&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://ArtOfUnitTesting.com&lt;/a&gt;&amp;nbsp;)
&lt;br&gt;A blog for team leaders: &lt;a href=&quot;http://5Whys.com&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://5Whys.com&lt;/a&gt;&lt;br&gt;my .NET blog: &lt;a href=&quot;http://www.ISerializable.com&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.ISerializable.com&lt;/a&gt;&lt;br&gt;Twitter: &lt;a href=&quot;http://twitter.com/RoyOsherove&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://twitter.com/RoyOsherove&lt;/a&gt;&lt;br&gt;+972-524-655388 (GMT+2)
&lt;br&gt;&lt;br&gt;&lt;br&gt;[Non-text portions of this message have been removed]
&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Testing-OpenGL-implemented-classes-tp26788709p26803169.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26790670</id>
	<title>Re: Testing OpenGL implemented classes</title>
	<published>2009-12-14T20:01:01Z</published>
	<updated>2009-12-14T20:01:01Z</updated>
	<author>
		<name>chris morris-7</name>
	</author>
	<content type="html">Off the cuff I'd say light shouldn't make the OpenGL calls. I wrote a simple
&lt;br&gt;particle system that is separate from the specific rendering - so I was able
&lt;br&gt;to write a renderer in SWT and then again in .NET/WinForms (after
&lt;br&gt;cross-compiling the .jars with IKVM.NET). Not hard to do - it may seem like
&lt;br&gt;over-design, but I don't think it is and the testability alone will be worth
&lt;br&gt;it.
&lt;br&gt;&lt;br&gt;On Mon, Dec 14, 2009 at 9:02 PM, Tron Thomas &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26790670&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;tron.thomas@...&lt;/a&gt;&amp;gt;wrote:
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; I am writing classes which will use for rendering 3 dimensional scenes.
&lt;br&gt;&amp;gt; For example, I want to implement a Light class that can be used to light
&lt;br&gt;&amp;gt; the scene. &amp;nbsp;I am planning for the Light class to make use of OpenGL to
&lt;br&gt;&amp;gt; provide the needed functionality.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; When it comes to writing test for the Light class it is desirable to
&lt;br&gt;&amp;gt; isolate the class. &amp;nbsp;I wondering if this would require the need to mock
&lt;br&gt;&amp;gt; the OpenGL calls a Light instance might make, or would it be okay use
&lt;br&gt;&amp;gt; the OpenGL API's themselves to verify functionality as it is possible to
&lt;br&gt;&amp;gt; query things like the state of OpenGL lighting.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Another thought is to create an abstract graphics interface that could
&lt;br&gt;&amp;gt; be implemented in terms of OpenGL or some other technology. &amp;nbsp;It is not
&lt;br&gt;&amp;gt; clear this is really necessary, and could be a &amp;nbsp;lot of work.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; What are people's thoughts on how this tested should be approached?
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; ------------------------------------
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Yahoo! Groups Links
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;/div&gt;&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;Chris
&lt;br&gt;&lt;a href=&quot;http://clabs.org&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://clabs.org&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;[Non-text portions of this message have been removed]
&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Testing-OpenGL-implemented-classes-tp26788709p26790670.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26788709</id>
	<title>Testing OpenGL implemented classes</title>
	<published>2009-12-14T19:02:04Z</published>
	<updated>2009-12-14T19:02:04Z</updated>
	<author>
		<name>tron_thomas</name>
	</author>
	<content type="html">I am writing classes which will use for rendering 3 dimensional scenes. &amp;nbsp;
&lt;br&gt;For example, I want to implement a Light class that can be used to light 
&lt;br&gt;the scene. &amp;nbsp;I am planning for the Light class to make use of OpenGL to 
&lt;br&gt;provide the needed functionality.
&lt;br&gt;&lt;br&gt;When it comes to writing test for the Light class it is desirable to 
&lt;br&gt;isolate the class. &amp;nbsp;I wondering if this would require the need to mock 
&lt;br&gt;the OpenGL calls a Light instance might make, or would it be okay use 
&lt;br&gt;the OpenGL API's themselves to verify functionality as it is possible to 
&lt;br&gt;query things like the state of OpenGL lighting.
&lt;br&gt;&lt;br&gt;Another thought is to create an abstract graphics interface that could 
&lt;br&gt;be implemented in terms of OpenGL or some other technology. &amp;nbsp;It is not 
&lt;br&gt;clear this is really necessary, and could be a &amp;nbsp;lot of work.
&lt;br&gt;&lt;br&gt;What are people's thoughts on how this tested should be approached?
&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Testing-OpenGL-implemented-classes-tp26788709p26788709.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26784971</id>
	<title>Re: Running integration tests on developer machine</title>
	<published>2009-12-14T13:08:23Z</published>
	<updated>2009-12-14T13:08:23Z</updated>
	<author>
		<name>Nuno Marques-4</name>
	</author>
	<content type="html">I agree with you Nat.
&lt;br&gt;&lt;br&gt;But I assumed (and we know what happens when you assume stuff) by the way
&lt;br&gt;the question was asked that there was a common DB with a schema per dev.
&lt;br&gt;Which was also my case.
&lt;br&gt;&lt;br&gt;I, actually at that time, suggested that we all moved to Oracle XE but we
&lt;br&gt;had loads of stored procedures that prevented us to use it. At that time,
&lt;br&gt;don't know how it is today, the free version of the personal edition had
&lt;br&gt;lots of features disabled.
&lt;br&gt;&lt;br&gt;2009/12/14 Nat Pryce &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26784971&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;nat.pryce@...&lt;/a&gt;&amp;gt;
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; 2009/12/14 twitter.com/nfma &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26784971&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;nuno.filipe.marques@...&lt;/a&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; I've done this using the user.name system property with maven and having
&lt;br&gt;&amp;gt; a
&lt;br&gt;&amp;gt; &amp;gt; conf file per dev in the proj conf folder.
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; That rapidly gets out of control, because either you check a config file
&lt;br&gt;&amp;gt; for every developer into the source code repository, or every developer
&lt;br&gt;&amp;gt; maintains their own copy outside the repository. &amp;nbsp;In the former case, you
&lt;br&gt;&amp;gt; end up with loads of unused config files as developers come and go, and the
&lt;br&gt;&amp;gt; config files of different developers drift apart over time for reasons
&lt;br&gt;&amp;gt; nobody understands. &amp;nbsp;In the latter case, it becomes increasingly difficult
&lt;br&gt;&amp;gt; to add config properties and developers spend lots of time working out why
&lt;br&gt;&amp;gt; the system has stopped working locally.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; The best solution is to make every developer workstation identical, as far
&lt;br&gt;&amp;gt; as the project is concerned, so that all team members can use the same
&lt;br&gt;&amp;gt; config file to run the system or tests on their workstation. &amp;nbsp;And make them
&lt;br&gt;&amp;gt; as similar to the production environment as possible. I much prefer to
&lt;br&gt;&amp;gt; install any infrastructure servers on every workstation (database, message
&lt;br&gt;&amp;gt; broker, etc.). Almost all commercial database systems have a free version
&lt;br&gt;&amp;gt; that can run on Windows or Linux. For example, we use the free Oracle 10 XE
&lt;br&gt;&amp;gt; on the desktop and the expensive Oracle 10g serverside and have not noticed
&lt;br&gt;&amp;gt; any differences that affect our systems.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; If you need to use services off the workstation, you can do tricks with the
&lt;br&gt;&amp;gt; local /etc/hosts file (Windows has an equivalent) so that different
&lt;br&gt;&amp;gt; workstations resolve the same service name to different IP addresses. &amp;nbsp;But
&lt;br&gt;&amp;gt; that can make connection issues difficult to diagnose, so I prefer not to.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp;--Nat
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; 2009/12/14 vishal_sodani &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26784971&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;vishal_sodani@...&lt;/a&gt;&amp;lt;vishal_sodani%
&lt;br&gt;&amp;gt; 40yahoo.com&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; Hi,
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; I am part of a project which has legacy code.I have started writing
&lt;br&gt;&amp;gt; some
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; unit as well as integration tests, which also required some
&lt;br&gt;&amp;gt; &amp;gt; refactoring.Now,
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; to run integration tests on a developer machine,the connection string
&lt;br&gt;&amp;gt; &amp;gt; needs
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; to be changed.Since, each developer will have different connection
&lt;br&gt;&amp;gt; &amp;gt; string.Is
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; there an alternative to this solution? How can I avoid this manual
&lt;br&gt;&amp;gt; change
&lt;br&gt;&amp;gt; &amp;gt; on
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; each developer's machine?
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; regards
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; vishal
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; [Non-text portions of this message have been removed]
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; --
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://www.natpryce.com&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.natpryce.com&lt;/a&gt;&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; [Non-text portions of this message have been removed]
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; ------------------------------------
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Yahoo! Groups Links
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;/div&gt;&lt;br&gt;&lt;br&gt;[Non-text portions of this message have been removed]
&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Running-integration-tests-on-developer-machine-tp26781826p26784971.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26784303</id>
	<title>Re: Running integration tests on developer machine</title>
	<published>2009-12-14T12:28:16Z</published>
	<updated>2009-12-14T12:28:16Z</updated>
	<author>
		<name>Nat Pryce</name>
	</author>
	<content type="html">2009/12/14 twitter.com/nfma &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26784303&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;nuno.filipe.marques@...&lt;/a&gt;&amp;gt;
&lt;br&gt;&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; I've done this using the user.name system property with maven and having a
&lt;br&gt;&amp;gt; conf file per dev in the proj conf folder.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; That rapidly gets out of control, because either you check a config file
&lt;br&gt;for every developer into the source code repository, or every developer
&lt;br&gt;maintains their own copy outside the repository. &amp;nbsp;In the former case, you
&lt;br&gt;end up with loads of unused config files as developers come and go, and the
&lt;br&gt;config files of different developers drift apart over time for reasons
&lt;br&gt;nobody understands. &amp;nbsp;In the latter case, it becomes increasingly difficult
&lt;br&gt;to add config properties and developers spend lots of time working out why
&lt;br&gt;the system has stopped working locally.
&lt;br&gt;&lt;br&gt;The best solution is to make every developer workstation identical, as far
&lt;br&gt;as the project is concerned, so that all team members can use the same
&lt;br&gt;config file to run the system or tests on their workstation. &amp;nbsp;And make them
&lt;br&gt;as similar to the production environment as possible. I much prefer to
&lt;br&gt;install any infrastructure servers on every workstation (database, message
&lt;br&gt;broker, etc.). Almost all commercial database systems have a free version
&lt;br&gt;that can run on Windows or Linux. For example, we use the free Oracle 10 XE
&lt;br&gt;on the desktop and the expensive Oracle 10g serverside and have not noticed
&lt;br&gt;any differences that affect our systems.
&lt;br&gt;&lt;br&gt;If you need to use services off the workstation, you can do tricks with the
&lt;br&gt;local /etc/hosts file (Windows has an equivalent) so that different
&lt;br&gt;workstations resolve the same service name to different IP addresses. &amp;nbsp;But
&lt;br&gt;that can make connection issues difficult to diagnose, so I prefer not to.
&lt;br&gt;&lt;br&gt;&amp;nbsp;--Nat
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; 2009/12/14 vishal_sodani &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26784303&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;vishal_sodani@...&lt;/a&gt;&amp;lt;vishal_sodani%40yahoo.com&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; Hi,
&lt;br&gt;&amp;gt; &amp;gt; I am part of a project which has legacy code.I have started writing some
&lt;br&gt;&amp;gt; &amp;gt; unit as well as integration tests, which also required some
&lt;br&gt;&amp;gt; refactoring.Now,
&lt;br&gt;&amp;gt; &amp;gt; to run integration tests on a developer machine,the connection string
&lt;br&gt;&amp;gt; needs
&lt;br&gt;&amp;gt; &amp;gt; to be changed.Since, each developer will have different connection
&lt;br&gt;&amp;gt; string.Is
&lt;br&gt;&amp;gt; &amp;gt; there an alternative to this solution? How can I avoid this manual change
&lt;br&gt;&amp;gt; on
&lt;br&gt;&amp;gt; &amp;gt; each developer's machine?
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; regards
&lt;br&gt;&amp;gt; &amp;gt; vishal
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; [Non-text portions of this message have been removed]
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp;
&lt;br&gt;&amp;gt;
&lt;/div&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;&lt;a href=&quot;http://www.natpryce.com&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.natpryce.com&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;[Non-text portions of this message have been removed]
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;------------------------------------
&lt;br&gt;&lt;br&gt;Yahoo! Groups Links
&lt;br&gt;&lt;br&gt;&amp;lt;*&amp;gt; To visit your group on the web, go to:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://groups.yahoo.com/group/testdrivendevelopment/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://groups.yahoo.com/group/testdrivendevelopment/&lt;/a&gt;&lt;br&gt;&lt;br&gt;&amp;lt;*&amp;gt; Your email settings:
&lt;br&gt;&amp;nbsp; &amp;nbsp; Individual Email | Traditional
&lt;br&gt;&lt;br&gt;&amp;lt;*&amp;gt; To change settings online go to:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://groups.yahoo.com/group/testdrivendevelopment/join&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://groups.yahoo.com/group/testdrivendevelopment/join&lt;/a&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; (Yahoo! ID required)
&lt;br&gt;&lt;br&gt;&amp;lt;*&amp;gt; To change settings via email:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26784303&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;testdrivendevelopment-digest@...&lt;/a&gt; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26784303&amp;i=3&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;testdrivendevelopment-fullfeatured@...&lt;/a&gt;
&lt;br&gt;&lt;br&gt;&amp;lt;*&amp;gt; To unsubscribe from this group, send an email to:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26784303&amp;i=4&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;testdrivendevelopment-unsubscribe@...&lt;/a&gt;
&lt;br&gt;&lt;br&gt;&amp;lt;*&amp;gt; Your use of Yahoo! Groups is subject to:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://docs.yahoo.com/info/terms/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://docs.yahoo.com/info/terms/&lt;/a&gt;&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Running-integration-tests-on-developer-machine-tp26781826p26784303.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26782220</id>
	<title>Re: Running integration tests on developer machine</title>
	<published>2009-12-14T10:02:08Z</published>
	<updated>2009-12-14T10:02:08Z</updated>
	<author>
		<name>Nuno Marques-4</name>
	</author>
	<content type="html">I've done this using the user.name system property with maven and having a
&lt;br&gt;conf file per dev in the proj conf folder.
&lt;br&gt;&lt;br&gt;2009/12/14 vishal_sodani &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26782220&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;vishal_sodani@...&lt;/a&gt;&amp;gt;
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Hi,
&lt;br&gt;&amp;gt; I am part of a project which has legacy code.I have started writing some
&lt;br&gt;&amp;gt; unit as well as integration tests, which also required some refactoring.Now,
&lt;br&gt;&amp;gt; to run integration tests on a developer machine,the connection string needs
&lt;br&gt;&amp;gt; to be changed.Since, each developer will have different connection string.Is
&lt;br&gt;&amp;gt; there an alternative to this solution? How can I avoid this manual change on
&lt;br&gt;&amp;gt; each developer's machine?
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; regards
&lt;br&gt;&amp;gt; vishal
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp;
&lt;br&gt;&amp;gt;
&lt;/div&gt;&lt;br&gt;&lt;br&gt;[Non-text portions of this message have been removed]
&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Running-integration-tests-on-developer-machine-tp26781826p26782220.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26781826</id>
	<title>Running integration tests on developer machine</title>
	<published>2009-12-14T07:39:30Z</published>
	<updated>2009-12-14T07:39:30Z</updated>
	<author>
		<name>django_passion</name>
	</author>
	<content type="html">Hi,
&lt;br&gt;I am part of a project which has legacy code.I have started writing some unit as well as integration tests, which also required some refactoring.Now, to run integration tests on a developer machine,the connection string needs to be changed.Since, each developer will have different connection string.Is there an alternative to this solution? How can I avoid this manual change on each developer's machine?
&lt;br&gt;&lt;br&gt;regards
&lt;br&gt;vishal 
&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Running-integration-tests-on-developer-machine-tp26781826p26781826.html" />
</entry>

</feed>
