From 6795890262d278b586fc4c2ea6744b8562712f1b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=A9my=20Zurcher?= Date: Mon, 7 May 2012 15:35:22 +0200 Subject: spec: Twirl.require_p and Twirl.release_p --- spec/evendoors_spec.rb | 48 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) 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 -- cgit v1.1-2-g2b99