Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ## spec that fails
- describe "#destroy_if_empty!" do
- before(:each) do
- @clause = AndClause.build_clause
- end
- it "should call #destroy if there are sub_expressions.empty?" do
- @or_clause = OrClause.new(:parent => Condition.new)
- @clause.parent = @or_clause
- @clause.save
- @clause.condition_predicates = []
- @clause.or_clauses = []
- @clause.should_receive(:destroy)
- require "rubygems"; require "ruby-debug"; debugger
- @clause.destroy_if_empty!
- @clause.should be_destroyed
- @or_clause.should be_destroyed
- end
- end
- ## class method for AndClause
- class AndClause < ConditionClause
- ...
- def sub_expressions
- condition_predicates + or_clauses
- end
- def destroy_if_empty!
- if sub_expressions.empty?
- self.destroy
- end
- end
- ...
- end
Add Comment
Please, Sign In to add comment