diff options
author | Jérémy Zurcher <jeremy@asynk.ch> | 2012-05-07 15:35:22 +0200 |
---|---|---|
committer | Jérémy Zurcher <jeremy@asynk.ch> | 2012-05-07 15:35:22 +0200 |
commit | 6795890262d278b586fc4c2ea6744b8562712f1b (patch) | |
tree | aa492b9d38a2f5497061989f68dc7c9fe1f35c87 /spec | |
parent | 28e869f93d60e12e01009875d83336b75b2763ab (diff) | |
download | edoors-ruby-6795890262d278b586fc4c2ea6744b8562712f1b.zip edoors-ruby-6795890262d278b586fc4c2ea6744b8562712f1b.tar.gz |
spec: Twirl.require_p and Twirl.release_p
Diffstat (limited to 'spec')
-rw-r--r-- | spec/evendoors_spec.rb | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/spec/evendoors_spec.rb b/spec/evendoors_spec.rb index e25e425..e326107 100644 --- a/spec/evendoors_spec.rb +++ b/spec/evendoors_spec.rb @@ -1,6 +1,14 @@ #! /usr/bin/env ruby # -*- coding: UTF-8 -*- # +begin + require 'simplecov' + SimpleCov.start do + add_filter 'spec' + end +rescue LoadError +end +# require 'evendoors' # describe EvenDoors do @@ -9,4 +17,44 @@ describe EvenDoors do expect{ EvenDoors }.not_to raise_error(NameError) end # + describe EvenDoors::Twirl do + # + class MyP < EvenDoors::Particle; end + # + it "should correctly manage Particles pool" do + p0 = EvenDoors::Twirl.require_p EvenDoors::Particle + p1 = EvenDoors::Twirl.require_p EvenDoors::Particle + (p0===p1).should be_false + EvenDoors::Twirl.release_p p0 + p2 = EvenDoors::Twirl.require_p EvenDoors::Particle + (p0===p2).should be_true + end + # + it "should correctly manage different Particles classes" do + p0 = EvenDoors::Twirl.require_p EvenDoors::Particle + p1 = EvenDoors::Twirl.require_p EvenDoors::Particle + (p0===p1).should be_false + EvenDoors::Twirl.release_p p0 + p2 = EvenDoors::Twirl.require_p MyP + p3 = EvenDoors::Twirl.require_p MyP + (p2===p3).should be_false + EvenDoors::Twirl.release_p p2 + p4 = EvenDoors::Twirl.require_p MyP + (p2===p4).should be_true + end + # + it "should correctly release merged data" do + p0 = EvenDoors::Twirl.require_p EvenDoors::Particle + p1 = EvenDoors::Twirl.require_p EvenDoors::Particle + (p0===p1).should be_false + p0.merge! p1 + EvenDoors::Twirl.release_p p0 + p2 = EvenDoors::Twirl.require_p EvenDoors::Particle + (p2===p0).should be_true + p3 = EvenDoors::Twirl.require_p EvenDoors::Particle + (p3===p1).should be_true + end + # + end + # end |