Skip to content

Instantly share code, notes, and snippets.

@jaymcgavren
Created September 14, 2009 03:03
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save jaymcgavren/186470 to your computer and use it in GitHub Desktop.
Save jaymcgavren/186470 to your computer and use it in GitHub Desktop.
require 'spec_helper'
require 'managers/basic_game_object_manager'
describe 'BasicGameObjectManager' do
before :each do
@state = Jemini::BaseState.new(mock('Container', :null_object => true), mock('Game', :null_object => true))
@manager = BasicGameObjectManager.new(@state)
@state.send(:set_manager, :game_object, @manager)
end
it "tracks objects added to state" do
object = @state.create :GameObject
@manager.game_objects.should include(object)
end
describe "#remove_game_object" do
it "calls before-callback, unload, and after-callback on an object when removing it" do
object = @state.create :GameObject, :ReceivesEvents
@manager.should_receive(:before).ordered
@manager.on_before_remove_game_object :before
object.should_receive(:unload).ordered
@manager.should_receive(:after).ordered
@manager.on_after_remove_game_object :after
@manager.remove_game_object(object)
end
it "deletes all behaviors on an object after removing it"
it "removes all listeners on an object after removing it"
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment