From d58c6e408d5d91ee107dae1fcb36708623472ec9 Mon Sep 17 00:00:00 2001 From: mvandervoord Date: Sun, 5 Oct 2008 19:11:10 +0000 Subject: [PATCH] tested file writer git-svn-id: http://cmock.svn.sourceforge.net/svnroot/cmock/trunk@26 bf332499-1b4d-0410-844d-d2d48d5cc64c --- lib/cmock_file_writer.rb | 1 + test/unit/cmock_file_writer_test.rb | 37 +++++++++++++++++++++++++++++ 2 files changed, 38 insertions(+) create mode 100644 test/unit/cmock_file_writer_test.rb diff --git a/lib/cmock_file_writer.rb b/lib/cmock_file_writer.rb index 77eac68..160144f 100644 --- a/lib/cmock_file_writer.rb +++ b/lib/cmock_file_writer.rb @@ -2,6 +2,7 @@ class CMockFileWriter require 'ftools' + attr_reader :config def initialize(config) @config = config diff --git a/test/unit/cmock_file_writer_test.rb b/test/unit/cmock_file_writer_test.rb new file mode 100644 index 0000000..1dcd0bf --- /dev/null +++ b/test/unit/cmock_file_writer_test.rb @@ -0,0 +1,37 @@ +require File.expand_path(File.dirname(__FILE__)) + "/../test_helper" +require File.expand_path(File.dirname(__FILE__)) + "/../../lib/cmock_file_writer" + +class CMockFileWriterTest < Test::Unit::TestCase + def setup + create_mocks :config + @cmock_file_writer = CMockFileWriter.new(@config) + end + + def teardown + end + + should "have set up internal accessors correctly on init" do + assert_equal(@config, @cmock_file_writer.config) + end + + should "complain if a block was not specified when calling create" do + begin + @cmock_file_writer.create_file("test.txt") + assert false, "Should Have Thrown An Error When Calling Without A Block" + rescue + end + end + + should "create a file when requested and put a block of data in it" do + @config.expect.mock_path.returns("C:\\") + @config.expect.mock_path.returns("C:\\") + + @cmock_file_writer.create_file("test.txt") do |file, filename| + file << "VICTORY!" + end + + retval = File.open("C:\\test.txt", 'r').readlines[0] + assert_equal "VICTORY!", retval + end + +end