On Mon, Feb 27, 2012 at 3:16 PM, Ethan Furman <ethan@stoneleaf.us> wrote:
Mark Janssen wrote:

On Mon, Feb 27, 2012 at 1:22 PM, Ethan Furman wrote:
I should probably correct myself.  It is suiltable, just not
enjoyable.  But now I know you are someone who likes all that arcana
of unittest module.

I'm not sure about *that* -- having to exactly reproduce the output of the interpreter seems kind of arcane to me.  ;)

Well, you're an interesting test case for a theory -- some people shouldn't be coding in python...

Wow.  Talk about mixed emotions -- on the one hand I totally agree with you, on the other I haven't been that offended in quite some time.  ;)

Haha, okay.  Sorry, I was a bit blunt there.
 

Python, as I see, is "the coder's language".  It's meant for a programmers who want to write code for the sake of their art -- coding for him/herself firstly (and their community) and secondly for "industrial productions" -- shops that just churn out working apps without a consideration for the art.

While Python is the most enjoyable language I have ever used, I strive for mastery and beauty in all the languages I work with.  One of Python's big strengths is it's simplicity, while still allowing for great power (with it's data structures, exception handling, metaclasses (okay, not so simple there ;)).

Have you seen Ada, Oberon?  For some reason I couldn't begin to describe, I think you might actually like them better.  But, hey, I'm happy there're people who enjoy python.
  
In the latter case, tests won't be for future coders in your community, but for maintaining "/la machine/"  -- the simple, logical machine in your code.

I fail to see your point here with regards to doctest versus unittest. When I actually write the docs for my dbf module (simple Sphinx generated at the moment), I will have examples in it and run it through doctest.  However, I will still have the unit tests as the primary test bench for it.

Hmm, I guess you're kind of a hybrid, then...
 
As an example, for the dBase III table type there are five field types.  There is a test for a table with each possible combination (not permutation) of one to five of those field types (okay, so I'm slightly paranoid, too ;) -- would you really want to see that in your documentation?

No, you are right there.  But this look's like a case of hybridized code -- you aren't able to make doctests at a fine-enough granularity in order to ensure your code so they go up a level of abstraction where it gets bulky and no longer self-documenting.

If Python 3 is so hope-dashing, perhaps you should fork your own version?

Well, I still have hopes for it, it's just still in progress...
 
I appreciate your reply,

mark