Eric Hodel
8/16/2007 2:28:00 AM
On Aug 15, 2007, at 14:43, darren kirby wrote:
> As my flac library approaches 1000 lines of code I decided it would
> be prudent
> to finally get around to writing some unit tests, which I have
> done. Now: I
> have created a 'reference' flac file with known values, which I
> then read to
> see if my lib parses it correctly.
>
> That works great for the 'read' part of the library, however, I am
> now adding
> methods which write/rewrite values in the flac file (tags, padding
> blocks
> etc) making permanent changes in the file, and I am wondering how
> best to
> write tests for these.
>
> I am thinking that I need to write code which makes a copy of the
> reference
> file, write the changes, read the copy to ensure the changes were
> written
> correctly, then delete the copy.
>
> Does this seem reasonable? Is there a better way?
require 'fileutils'
require 'tmpdir'
class FlacTest < Test::Unit::TestCase
def setup
@tempdir = File.join Dir.tmpdir, "flac_test_#{$$}"
FileUtils.mkdir_p @tempdir
end
def teardown
FileUtils.rm_rf @tempdir
end
end
Should get you started.
--
Poor workers blame their tools. Good workers build better tools. The
best workers get their tools to do the work for them. -- Syndicate Wars