Skip to content

Instantly share code, notes, and snippets.

@jaymcgavren
Created September 14, 2009 02:49
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/186461 to your computer and use it in GitHub Desktop.
Save jaymcgavren/186461 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 unload on an object when removing it" do
object = @state.create :GameObject, :ReceivesEvents
object.on_remove_game_object :before
# NoMethodError in 'BasicGameObjectManager#remove_game_object calls unload on an object when removing it'
# undefined method `on_remove_game_object' for #<Jemini::GameObject:0x7c3cfaab>
object.should_recieve(:before).ordered
object.should_receive(:unload).ordered
@manager.remove_game_object(object)
end
it "triggers before and after callbacks for removal"
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