Sha256: 5a5099a8ba844a0ee229a9f378d0cde37de97e11c3aa4a979c4afd1b880cb121

Contents?: true

Size: 1.02 KB

Versions: 2

Compression:

Stored size: 1.02 KB

Contents

# = Og Mocking Example 
#
# A simple example to demonstrate how to mock Og.
# Very useful in test units.
#
# code: 
# * George Moschovitis  <gm@navel.gr>
#
# (c) 2004 Navel, all rights reserved.
# $Id: run.rb 185 2004-12-10 13:29:09Z gmosx $

$LOAD_PATH.unshift '../../lib'

require 'rubygems'
require 'flexmock'
require 'og'
require 'og/mock'
require 'logger'

$log = Logger.new($stderr)

class Article
	prop_accessor :body, String

	def initialize(body = nil)
		@body = body
	end
end

class SimpleTest < Test::Unit::TestCase

	def setup
		$og = Og::MockDatabase.new
	end

	def teardown
		$og = nil
	end

	def test_me
		mocks = [
			Article.new('body1'),
			Article.new('body2'),
			Article.new('body3')
		]
		$og.mock_handle(:load_all) { |klass, extrasql| mocks }

		# differnt ways to call the mocked method...
		puts 'Here are the articles:', Article.all
		puts 'Here are the articles:', Article.load_all
		puts 'Here are the articles:', $og.load_all(Article)

		# 3 times called
		assert_equal(3, $og.mock_count(:load_all))
	end

end

Version data entries

2 entries across 2 versions & 2 rubygems

Version Path
nitro-0.7.0 examples/og/mock_example.rb
og-0.7.0 examples/og/mock_example.rb