[Note: parts of this message were removed to make it a legal post.]
I am working on comprehensive unit testing of class biopieces, but
"Biopiece writers" should not change anything in that class. They should
only concentrate on what is in the script they are writing and whatever
classes they write to expand that.
Martin
I meant rubyists. For example, the time_diff method at the very end can
probably be rewritten
def time_diff(t0, t1)
day0 , hour0 , min0 , sec0 = t0.split(/\D+/)[2..-1].map { |n| n.to_i }
day1 , hour1 , min1 , sec1 = t1.split(/\D+/)[2..-1].map { |n| n.to_i }
sec0 += ( ( day0 * 24 + hour0 ) * 60 + min0 ) * 60
sec1 += ( ( day1 * 24 + hour1 ) * 60 + min1 ) * 60
sec = sec1-sec0
sprintf '%02d:%02d:%02d' , sec/60/60 , sec/60%60 , sec%60
end
But I don't know for sure, without a bunch of tests to show it behaves the
same way. I think the math at the end is probably right, but haven't had a
math course in 2 years, would you rather trust correctness to my "probably
right" or to your ironclad test suite? And when looking at it, I see we
don't use year or month, so I wonder if it has bugs, and I'm just
refactoring bugs, which makes it very difficult to get motivated. I might
also be inclined to play with DateTime to see if it has this functionality
within it, in which case the whole method could probably be replaced with 1
line, but its not immediately obvious to me if it does, so it would be nice
to have some tests that I can know how close I am getting.