From 98df05870a656da0a9cd93431cc46223d3375d21 Mon Sep 17 00:00:00 2001 From: Nathan Sobo Date: Fri, 25 Jan 2008 18:04:00 -0800 Subject: [PATCH] Randomized node heights and the beginnings of a test to drive out corner cases which seem to exist with duplicate markers returned from stabbing queries --- .../interval_skip_list/interval_skip_list.rb | 9 +- .../interval_skip_list/expire_range_spec.graffle | 2620 -------------------- .../interval_skip_list/expire_range_spec.rb | 1 - ...pec.graffle => interval_skip_list_spec.graffle} | 2341 ++++++++++++++++- .../interval_skip_list/interval_skip_list_spec.rb | 58 + spec/runtime/interval_skip_list/spec_helper.rb | 2 +- 6 files changed, 2406 insertions(+), 2625 deletions(-) delete mode 100644 spec/runtime/interval_skip_list/expire_range_spec.graffle rename spec/runtime/interval_skip_list/{delete_spec.graffle => interval_skip_list_spec.graffle} (61%) create mode 100644 spec/runtime/interval_skip_list/interval_skip_list_spec.rb diff --git a/lib/treetop/runtime/interval_skip_list/interval_skip_list.rb b/lib/treetop/runtime/interval_skip_list/interval_skip_list.rb index a82e182..27b53e0 100644 --- a/lib/treetop/runtime/interval_skip_list/interval_skip_list.rb +++ b/lib/treetop/runtime/interval_skip_list/interval_skip_list.rb @@ -1,7 +1,10 @@ class IntervalSkipList + attr_reader :probability + def initialize @head = HeadNode.new(max_height) @ranges = {} + @probability = 0.5 end def max_height @@ -144,7 +147,11 @@ class IntervalSkipList end def next_node_height - nil + height = 1 + while rand < probability && height < max_height + height += 1 + end + height end def can_ascend_from?(node, level) diff --git a/spec/runtime/interval_skip_list/expire_range_spec.graffle b/spec/runtime/interval_skip_list/expire_range_spec.graffle deleted file mode 100644 index 67078d9..0000000 --- a/spec/runtime/interval_skip_list/expire_range_spec.graffle +++ /dev/null @@ -1,2620 +0,0 @@ - - - - - ActiveLayerIndex - 0 - AutoAdjust - - CanvasColor - - w - 1 - - CanvasOrigin - {0, 0} - CanvasScale - 1 - ColumnAlign - 1 - ColumnSpacing - 36 - CreationDate - 2008-01-23 19:21:27 -0800 - Creator - pivotal - DisplayScale - 1 in = 1 in - GraphDocumentVersion - 5 - GraphicsList - - - Bounds - {{318.754, 105.054}, {17, 14}} - Class - ShapedGraphic - FitText - YES - FontInfo - - Color - - w - 0 - - Font - Helvetica - Size - 12 - - ID - 100 - Line - - ID - 45 - Position - 0.49750059843063354 - RotationType - 0 - - Shape - Rectangle - Style - - shadow - - Draws - NO - - stroke - - Draws - NO - - - Text - - Text - {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf440 -{\fonttbl\f0\fswiss\fcharset77 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural - -\f0\fs24 \cf0 g} - - - - Bounds - {{418.545, 105.054}, {17, 14}} - Class - ShapedGraphic - FitText - YES - FontInfo - - Color - - w - 0 - - Font - Helvetica - Size - 12 - - ID - 91 - Line - - ID - 46 - Position - 0.4975009560585022 - RotationType - 0 - - Shape - Rectangle - Style - - shadow - - Draws - NO - - stroke - - Draws - NO - - - Text - - Text - {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf440 -{\fonttbl\f0\fswiss\fcharset77 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural - -\f0\fs24 \cf0 d} - - - - Bounds - {{468.749, 64.0812}, {17, 14}} - Class - ShapedGraphic - FitText - YES - FontInfo - - Color - - w - 0 - - Font - Helvetica - Size - 12 - - ID - 90 - Line - - ID - 40 - Position - 0.48428341746330261 - RotationType - 0 - - Shape - Rectangle - Style - - shadow - - Draws - NO - - stroke - - Draws - NO - - - Text - - Text - {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf440 -{\fonttbl\f0\fswiss\fcharset77 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural - -\f0\fs24 \cf0 e} - - - - Bounds - {{508.617, 23.1082}, {24, 14}} - Class - ShapedGraphic - FitText - YES - FontInfo - - Color - - w - 0 - - Font - Helvetica - Size - 12 - - ID - 89 - Line - - ID - 36 - Position - 0.44795909523963928 - RotationType - 0 - - Shape - Rectangle - Style - - shadow - - Draws - NO - - stroke - - Draws - NO - - - Text - - Text - {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf440 -{\fonttbl\f0\fswiss\fcharset77 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural - -\f0\fs24 \cf0 f g} - - - - Bounds - {{201.567, 23.1082}, {43, 14}} - Class - ShapedGraphic - FitText - YES - FontInfo - - Color - - w - 0 - - Font - Helvetica - Size - 12 - - ID - 88 - Line - - ID - 35 - Position - 0.50672364234924316 - RotationType - 0 - - Shape - Rectangle - Style - - shadow - - Draws - NO - - stroke - - Draws - NO - - - Text - - Text - {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf440 -{\fonttbl\f0\fswiss\fcharset77 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural - -\f0\fs24 \cf0 c d e f} - - - - Bounds - {{219.783, 105.054}, {17, 14}} - Class - ShapedGraphic - FitText - YES - FontInfo - - Color - - w - 0 - - Font - Helvetica - Size - 12 - - ID - 86 - Line - - ID - 44 - Position - 0.49750003218650818 - RotationType - 0 - - Shape - Rectangle - Style - - shadow - - Draws - NO - - stroke - - Draws - NO - - - Text - - Text - {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf440 -{\fonttbl\f0\fswiss\fcharset77 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural - -\f0\fs24 \cf0 b} - - - - Bounds - {{104.666, 64.0812}, {27, 14}} - Class - ShapedGraphic - FitText - YES - FontInfo - - Color - - w - 0 - - Font - Helvetica - Size - 12 - - ID - 85 - Line - - ID - 37 - Position - 0.43750011920928955 - RotationType - 0 - - Shape - Rectangle - Style - - shadow - - Draws - NO - - stroke - - Draws - NO - - - Text - - Text - {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf440 -{\fonttbl\f0\fswiss\fcharset77 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural - -\f0\fs24 \cf0 a b} - - - - Class - LineGraphic - Head - - ID - 32 - - ID - 48 - Points - - {606.239, 112.054} - {674.692, 112.054} - - Style - - stroke - - HeadArrow - 0 - TailArrow - 0 - - - Tail - - ID - 30 - - - - Class - LineGraphic - Head - - ID - 30 - - ID - 47 - Points - - {500.848, 112.054} - {564.206, 112.054} - - Style - - stroke - - HeadArrow - 0 - TailArrow - 0 - - - Tail - - ID - 16 - - - - Class - LineGraphic - Head - - ID - 16 - - ID - 46 - Points - - {395.592, 112.054} - {458.815, 112.054} - - Style - - stroke - - HeadArrow - 0 - TailArrow - 0 - - - Tail - - ID - 25 - - - - Class - LineGraphic - Head - - ID - 25 - - ID - 45 - Points - - {301.152, 112.054} - {353.619, 112.054} - - Style - - stroke - - HeadArrow - 0 - TailArrow - 0 - - - Tail - - ID - 6 - - - - Class - LineGraphic - Head - - ID - 6 - - ID - 44 - Points - - {197.694, 112.054} - {259.179, 112.054} - - Style - - stroke - - HeadArrow - 0 - TailArrow - 0 - - - Tail - - ID - 19 - - - - Class - LineGraphic - Head - - ID - 19 - - ID - 42 - Points - - {88.9559, 112.054} - {155.721, 112.054} - - Style - - stroke - - HeadArrow - 0 - TailArrow - 0 - - - Tail - - ID - 21 - - - - Class - LineGraphic - Head - - ID - 33 - - ID - 41 - Points - - {606.239, 71.0812} - {674.692, 71.0812} - - Style - - stroke - - HeadArrow - 0 - TailArrow - 0 - - - Tail - - ID - 29 - - - - Class - LineGraphic - Head - - ID - 29 - - ID - 40 - Points - - {395.592, 71.0812} - {564.206, 71.0812} - - Style - - stroke - - HeadArrow - 0 - TailArrow - 0 - - - Tail - - ID - 26 - - - - Class - LineGraphic - Head - - ID - 26 - - ID - 38 - Points - - {197.694, 71.0812} - {353.619, 71.0812} - - Style - - stroke - - HeadArrow - 0 - TailArrow - 0 - - - Tail - - ID - 18 - - - - Class - LineGraphic - Head - - ID - 18 - - ID - 37 - Points - - {88.9559, 71.0812} - {155.721, 71.0812} - - Style - - stroke - - HeadArrow - 0 - TailArrow - 0 - - - Tail - - ID - 22 - - - - Class - LineGraphic - Head - - ID - 34 - - ID - 36 - Points - - {395.592, 30.1082} - {674.692, 30.1082} - - Style - - stroke - - HeadArrow - 0 - TailArrow - 0 - - - Tail - - ID - 27 - - - - Class - LineGraphic - Head - - ID - 27 - - ID - 35 - Points - - {88.9559, 30.1083} - {353.619, 30.1082} - - Style - - stroke - - HeadArrow - 0 - TailArrow - 0 - - - Tail - - ID - 23 - - - - Bounds - {{459.315, 91.5679}, {41.0327, 40.9726}} - Class - ShapedGraphic - HFlip - YES - ID - 16 - Shape - Rectangle - Text - - Text - {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf440 -{\fonttbl\f0\fswiss\fcharset77 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural - -\f0\fs24 \cf0 d} - - - - Class - Group - Graphics - - - Bounds - {{564.706, 50.5949}, {41.0327, 40.9726}} - Class - ShapedGraphic - HFlip - YES - ID - 29 - Shape - Rectangle - - - Bounds - {{564.706, 91.5679}, {41.0327, 40.9726}} - Class - ShapedGraphic - HFlip - YES - ID - 30 - Shape - Rectangle - Text - - Text - {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf440 -{\fonttbl\f0\fswiss\fcharset77 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural - -\f0\fs24 \cf0 e} - - - - ID - 28 - - - Class - Group - Graphics - - - Bounds - {{675.192, 91.5679}, {41.0327, 40.9726}} - Class - ShapedGraphic - HFlip - YES - ID - 32 - Shape - Rectangle - Text - - Text - {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf440 -{\fonttbl\f0\fswiss\fcharset77 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural - -\f0\fs24 \cf0 f g} - - - - Bounds - {{675.192, 50.5949}, {41.0327, 40.9726}} - Class - ShapedGraphic - HFlip - YES - ID - 33 - Shape - Rectangle - - - Bounds - {{675.192, 9.62192}, {41.0327, 40.9726}} - Class - ShapedGraphic - HFlip - YES - ID - 34 - Shape - Rectangle - - - ID - 31 - - - Class - Group - Graphics - - - Bounds - {{354.119, 91.5679}, {40.9727, 40.9726}} - Class - ShapedGraphic - ID - 25 - Shape - Rectangle - Text - - Text - {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf440 -{\fonttbl\f0\fswiss\fcharset77 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural - -\f0\fs24 \cf0 c d e f g} - - - - Bounds - {{354.119, 50.5949}, {40.9727, 40.9726}} - Class - ShapedGraphic - ID - 26 - Shape - Rectangle - - - Bounds - {{354.119, 9.62192}, {40.9727, 40.9726}} - Class - ShapedGraphic - ID - 27 - Shape - Rectangle - - - ID - 24 - - - Bounds - {{259.679, 91.5679}, {40.9727, 40.9726}} - Class - ShapedGraphic - ID - 6 - Shape - Rectangle - Text - - Text - {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf440 -{\fonttbl\f0\fswiss\fcharset77 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural - -\f0\fs24 \cf0 b} - - - - Class - Group - Graphics - - - Bounds - {{156.221, 50.5949}, {40.9727, 40.9727}} - Class - ShapedGraphic - ID - 18 - Shape - Rectangle - - - Bounds - {{156.221, 91.5679}, {40.9727, 40.9727}} - Class - ShapedGraphic - ID - 19 - Shape - Rectangle - Text - - Text - {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf440 -{\fonttbl\f0\fswiss\fcharset77 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural - -\f0\fs24 \cf0 a b} - - - - ID - 17 - - - Class - Group - Graphics - - - Bounds - {{47.4832, 91.5679}, {40.9727, 40.9727}} - Class - ShapedGraphic - ID - 21 - Shape - Rectangle - - - Bounds - {{47.4832, 50.5949}, {40.9727, 40.9727}} - Class - ShapedGraphic - ID - 22 - Shape - Rectangle - - - Bounds - {{47.4832, 9.62192}, {40.9727, 40.9727}} - Class - ShapedGraphic - ID - 23 - Shape - Rectangle - - - ID - 20 - - - Bounds - {{121.271, 390.919}, {213, 14}} - Class - ShapedGraphic - FitText - YES - Flow - Resize - ID - 272 - Shape - Rectangle - Style - - fill - - Draws - NO - - shadow - - Draws - NO - - stroke - - Draws - NO - - - Text - - Text - {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf440 -{\fonttbl\f0\fswiss\fcharset77 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural - -\f0\fs24 \cf0 expiring 4..4 with a length change of 2} - - Wrap - NO - - - Class - LineGraphic - Head - - ID - 224 - - ID - 271 - Points - - {196.211, 452.378} - {673.209, 452.378} - - Style - - stroke - - HeadArrow - 0 - TailArrow - 0 - - - Tail - - ID - 215 - - - - Bounds - {{489.5, 486.351}, {17, 14}} - Class - ShapedGraphic - FitText - YES - FontInfo - - Color - - w - 0 - - Font - Helvetica - Size - 12 - - ID - 270 - Line - - ID - 269 - Position - 0.46961680054664612 - RotationType - 0 - - Shape - Rectangle - Style - - shadow - - Draws - NO - - stroke - - Draws - NO - - - Text - - Text - {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf440 -{\fonttbl\f0\fswiss\fcharset77 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural - -\f0\fs24 \cf0 g} - - - - Class - LineGraphic - Head - - ID - 223 - - ID - 269 - Points - - {342.865, 493.351} - {673.209, 493.351} - - Style - - stroke - - HeadArrow - 0 - TailArrow - 0 - - - Tail - - ID - 217 - - - - Bounds - {{672.225, 523.919}, {44, 14}} - Class - ShapedGraphic - FitText - YES - Flow - Resize - ID - 255 - Shape - Rectangle - Style - - fill - - Draws - NO - - shadow - - Draws - NO - - stroke - - Draws - NO - - - Text - - Text - {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf440 -{\fonttbl\f0\fswiss\fcharset77 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural - -\f0\fs24 \cf0 13 + 2} - - Wrap - NO - - - Bounds - {{302.878, 523.919}, {38, 14}} - Class - ShapedGraphic - FitText - YES - Flow - Resize - ID - 251 - Shape - Rectangle - Style - - fill - - Draws - NO - - shadow - - Draws - NO - - stroke - - Draws - NO - - - Text - - Text - {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf440 -{\fonttbl\f0\fswiss\fcharset77 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural - -\f0\fs24 \cf0 5 + 2} - - Wrap - NO - - - Bounds - {{166.724, 523.919}, {17, 14}} - Class - ShapedGraphic - FitText - YES - Flow - Resize - ID - 250 - Shape - Rectangle - Style - - fill - - Draws - NO - - shadow - - Draws - NO - - stroke - - Draws - NO - - - Text - - Text - {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf440 -{\fonttbl\f0\fswiss\fcharset77 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural - -\f0\fs24 \cf0 3} - - Wrap - NO - - - Bounds - {{57.9863, 523.919}, {17, 14}} - Class - ShapedGraphic - FitText - YES - Flow - Resize - ID - 249 - Shape - Rectangle - Style - - fill - - Draws - NO - - shadow - - Draws - NO - - stroke - - Draws - NO - - - Text - - Text - {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf440 -{\fonttbl\f0\fswiss\fcharset77 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural - -\f0\fs24 \cf0 1} - - Wrap - NO - - - Bounds - {{108.183, 445.378}, {17, 14}} - Class - ShapedGraphic - FitText - YES - FontInfo - - Color - - w - 0 - - Font - Helvetica-Oblique - Size - 12 - - ID - 242 - Line - - ID - 232 - Position - 0.43750011920928955 - RotationType - 0 - - Shape - Rectangle - Style - - shadow - - Draws - NO - - stroke - - Draws - NO - - - Text - - Text - {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf440 -{\fonttbl\f0\fswiss\fcharset77 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural - -\f0\fs24 \cf0 a} - - - - Class - LineGraphic - FontInfo - - Font - Helvetica - Size - 12 - - Head - - ID - 217 - - ID - 237 - Points - - {196.211, 493.351} - {300.892, 493.351} - - Style - - stroke - - HeadArrow - 0 - TailArrow - 0 - - - Tail - - ID - 216 - - - - Class - LineGraphic - FontInfo - - Font - Helvetica - Size - 12 - - Head - - ID - 216 - - ID - 236 - Points - - {87.4727, 493.351} - {154.238, 493.351} - - Style - - stroke - - HeadArrow - 0 - TailArrow - 0 - - - Tail - - ID - 211 - - - - Class - LineGraphic - FontInfo - - Font - Helvetica - Size - 12 - - Head - - ID - 215 - - ID - 232 - Points - - {87.4727, 452.378} - {154.238, 452.378} - - Style - - stroke - - HeadArrow - 0 - TailArrow - 0 - - - Tail - - ID - 212 - - - - Class - Group - Graphics - - - Bounds - {{673.709, 472.865}, {41.0327, 40.9726}} - Class - ShapedGraphic - FontInfo - - Font - Helvetica - Size - 12 - - HFlip - YES - ID - 223 - Shape - Rectangle - Text - - Text - {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf440 -{\fonttbl\f0\fswiss\fcharset77 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural - -\f0\fs24 \cf0 g} - - - - Bounds - {{673.709, 431.892}, {41.0327, 40.9726}} - Class - ShapedGraphic - FontInfo - - Font - Helvetica - Size - 12 - - HFlip - YES - ID - 224 - Shape - Rectangle - - - Bounds - {{673.709, 390.919}, {41.0327, 40.9726}} - Class - ShapedGraphic - FontInfo - - Font - Helvetica - Size - 12 - - HFlip - YES - ID - 225 - Shape - Rectangle - - - ID - 222 - - - Bounds - {{301.392, 472.865}, {40.9727, 40.9726}} - Class - ShapedGraphic - FontInfo - - Font - Helvetica - Size - 12 - - ID - 217 - Shape - Rectangle - - - Class - Group - Graphics - - - Bounds - {{154.738, 431.892}, {40.9727, 40.9727}} - Class - ShapedGraphic - FontInfo - - Font - Helvetica - Size - 12 - - ID - 215 - Shape - Rectangle - - - Bounds - {{154.738, 472.865}, {40.9727, 40.9727}} - Class - ShapedGraphic - FontInfo - - Font - Helvetica - Size - 12 - - ID - 216 - Shape - Rectangle - Text - - Text - {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf440 -{\fonttbl\f0\fswiss\fcharset77 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural - -\f0\fs24 \cf0 a} - - - - ID - 214 - - - Class - Group - Graphics - - - Bounds - {{46, 472.865}, {40.9727, 40.9727}} - Class - ShapedGraphic - FontInfo - - Font - Helvetica - Size - 12 - - ID - 211 - Shape - Rectangle - - - Bounds - {{46, 431.892}, {40.9727, 40.9727}} - Class - ShapedGraphic - FontInfo - - Font - Helvetica - Size - 12 - - ID - 212 - Shape - Rectangle - - - Bounds - {{46, 390.919}, {40.9727, 40.9727}} - Class - ShapedGraphic - FontInfo - - Font - Helvetica - Size - 12 - - ID - 213 - Shape - Rectangle - - - ID - 210 - - - Bounds - {{682.225, 148}, {24, 14}} - Class - ShapedGraphic - FitText - YES - Flow - Resize - ID - 209 - Shape - Rectangle - Style - - fill - - Draws - NO - - shadow - - Draws - NO - - stroke - - Draws - NO - - - Text - - Text - {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf440 -{\fonttbl\f0\fswiss\fcharset77 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural - -\f0\fs24 \cf0 13} - - Wrap - NO - - - Bounds - {{572.239, 148}, {23, 14}} - Class - ShapedGraphic - FitText - YES - Flow - Resize - ID - 207 - Shape - Rectangle - Style - - fill - - Draws - NO - - shadow - - Draws - NO - - stroke - - Draws - NO - - - Text - - Text - {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf440 -{\fonttbl\f0\fswiss\fcharset77 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural - -\f0\fs24 \cf0 11} - - Wrap - NO - - - Bounds - {{469.848, 148}, {17, 14}} - Class - ShapedGraphic - FitText - YES - Flow - Resize - ID - 206 - Shape - Rectangle - Style - - fill - - Draws - NO - - shadow - - Draws - NO - - stroke - - Draws - NO - - - Text - - Text - {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf440 -{\fonttbl\f0\fswiss\fcharset77 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural - -\f0\fs24 \cf0 9} - - Wrap - NO - - - Bounds - {{365.9, 148}, {17, 14}} - Class - ShapedGraphic - FitText - YES - Flow - Resize - ID - 205 - Shape - Rectangle - Style - - fill - - Draws - NO - - shadow - - Draws - NO - - stroke - - Draws - NO - - - Text - - Text - {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf440 -{\fonttbl\f0\fswiss\fcharset77 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural - -\f0\fs24 \cf0 7} - - Wrap - NO - - - Bounds - {{270.182, 148}, {17, 14}} - Class - ShapedGraphic - FitText - YES - Flow - Resize - ID - 204 - Shape - Rectangle - Style - - fill - - Draws - NO - - shadow - - Draws - NO - - stroke - - Draws - NO - - - Text - - Text - {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf440 -{\fonttbl\f0\fswiss\fcharset77 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural - -\f0\fs24 \cf0 5} - - Wrap - NO - - - Bounds - {{166.724, 148}, {17, 14}} - Class - ShapedGraphic - FitText - YES - Flow - Resize - ID - 203 - Shape - Rectangle - Style - - fill - - Draws - NO - - shadow - - Draws - NO - - stroke - - Draws - NO - - - Text - - Text - {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf440 -{\fonttbl\f0\fswiss\fcharset77 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural - -\f0\fs24 \cf0 3} - - Wrap - NO - - - Bounds - {{57.9863, 148}, {17, 14}} - Class - ShapedGraphic - FitText - YES - Flow - Resize - ID - 202 - Shape - Rectangle - Style - - fill - - Draws - NO - - shadow - - Draws - NO - - stroke - - Draws - NO - - - Text - - Text - {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf440 -{\fonttbl\f0\fswiss\fcharset77 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural - -\f0\fs24 \cf0 1} - - Wrap - NO - - - Bounds - {{99.9936, 194}, {213, 14}} - Class - ShapedGraphic - FitText - YES - Flow - Resize - ID - 201 - Shape - Rectangle - Style - - fill - - Draws - NO - - shadow - - Draws - NO - - stroke - - Draws - NO - - - Text - - Text - {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf440 -{\fonttbl\f0\fswiss\fcharset77 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural - -\f0\fs24 \cf0 expiring 7..7 with a length change of 0} - - Wrap - NO - - - Bounds - {{218.3, 310.432}, {17, 14}} - Class - ShapedGraphic - FitText - YES - FontInfo - - Color - - w - 0 - - Font - Helvetica - Size - 12 - - ID - 195 - Line - - ID - 189 - Position - 0.49750003218650818 - RotationType - 0 - - Shape - Rectangle - Style - - shadow - - Draws - NO - - stroke - - Draws - NO - - - Text - - Text - {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf440 -{\fonttbl\f0\fswiss\fcharset77 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural - -\f0\fs24 \cf0 b} - - - - Bounds - {{103.183, 269.459}, {27, 14}} - Class - ShapedGraphic - FitText - YES - FontInfo - - Color - - w - 0 - - Font - Helvetica - Size - 12 - - ID - 194 - Line - - ID - 184 - Position - 0.43750011920928955 - RotationType - 0 - - Shape - Rectangle - Style - - shadow - - Draws - NO - - stroke - - Draws - NO - - - Text - - Text - {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf440 -{\fonttbl\f0\fswiss\fcharset77 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural - -\f0\fs24 \cf0 a b} - - - - Class - LineGraphic - Head - - ID - 169 - - ID - 189 - Points - - {196.211, 317.432} - {257.696, 317.432} - - Style - - stroke - - HeadArrow - 0 - TailArrow - 0 - - - Tail - - ID - 168 - - - - Class - LineGraphic - Head - - ID - 168 - - ID - 188 - Points - - {87.4727, 317.432} - {154.238, 317.432} - - Style - - stroke - - HeadArrow - 0 - TailArrow - 0 - - - Tail - - ID - 163 - - - - Class - LineGraphic - Head - - ID - 167 - - ID - 184 - Points - - {87.4727, 276.459} - {154.238, 276.459} - - Style - - stroke - - HeadArrow - 0 - TailArrow - 0 - - - Tail - - ID - 164 - - - - Bounds - {{258.196, 296.946}, {40.9727, 40.9726}} - Class - ShapedGraphic - ID - 169 - Shape - Rectangle - Text - - Text - {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf440 -{\fonttbl\f0\fswiss\fcharset77 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural - -\f0\fs24 \cf0 b} - - - - Class - Group - Graphics - - - Bounds - {{154.738, 255.973}, {40.9727, 40.9727}} - Class - ShapedGraphic - ID - 167 - Shape - Rectangle - - - Bounds - {{154.738, 296.946}, {40.9727, 40.9727}} - Class - ShapedGraphic - ID - 168 - Shape - Rectangle - Text - - Text - {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf440 -{\fonttbl\f0\fswiss\fcharset77 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural - -\f0\fs24 \cf0 a b} - - - - ID - 166 - - - Class - Group - Graphics - - - Bounds - {{46, 296.946}, {40.9727, 40.9727}} - Class - ShapedGraphic - ID - 163 - Shape - Rectangle - - - Bounds - {{46, 255.973}, {40.9727, 40.9727}} - Class - ShapedGraphic - ID - 164 - Shape - Rectangle - - - Bounds - {{46, 215}, {40.9727, 40.9727}} - Class - ShapedGraphic - ID - 165 - Shape - Rectangle - - - ID - 162 - - - GridInfo - - GuidesLocked - NO - GuidesVisible - YES - HPages - 1 - ImageCounter - 1 - IsPalette - NO - KeepToScale - - Layers - - - Lock - NO - Name - Layer 1 - Print - YES - View - YES - - - LayoutInfo - - LinksVisible - NO - MagnetsVisible - NO - MasterSheet - Master 1 - MasterSheets - - - ActiveLayerIndex - 0 - AutoAdjust - - CanvasColor - - w - 1 - - CanvasOrigin - {0, 0} - CanvasScale - 1 - ColumnAlign - 1 - ColumnSpacing - 36 - DisplayScale - 1 in = 1 in - GraphicsList - - GridInfo - - HPages - 1 - IsPalette - NO - KeepToScale - - Layers - - - Lock - NO - Name - Layer 1 - Print - YES - View - YES - - - LayoutInfo - - Orientation - 2 - OutlineStyle - Basic - RowAlign - 1 - RowSpacing - 36 - SheetTitle - Master 1 - UniqueID - 1 - VPages - 1 - - - ModificationDate - 2008-01-25 12:36:07 -0800 - Modifier - pivotal - NotesVisible - NO - Orientation - 2 - OriginVisible - NO - OutlineStyle - Basic - PageBreaks - YES - PrintInfo - - NSBottomMargin - - float - 0 - - NSLeftMargin - - float - 0 - - NSOrientation - - int - 1 - - NSPaperSize - - size - {792, 612} - - NSRightMargin - - float - 0 - - NSTopMargin - - float - 0 - - - ReadOnly - NO - RowAlign - 1 - RowSpacing - 36 - SheetTitle - Canvas 1 - SmartAlignmentGuidesActive - YES - SmartDistanceGuidesActive - YES - UniqueID - 1 - UseEntirePage - - VPages - 1 - WindowInfo - - CurrentSheet - 0 - DrawerOpen - - DrawerTab - Outline - DrawerWidth - 209 - FitInWindow - - Frame - {{24, 47}, {1014, 944}} - ShowRuler - - ShowStatusBar - - VisibleRegion - {{-125, -118}, {999, 830}} - Zoom - 1 - - - diff --git a/spec/runtime/interval_skip_list/expire_range_spec.rb b/spec/runtime/interval_skip_list/expire_range_spec.rb index 4c0bdc4..9b4dda8 100644 --- a/spec/runtime/interval_skip_list/expire_range_spec.rb +++ b/spec/runtime/interval_skip_list/expire_range_spec.rb @@ -1,4 +1,3 @@ -require File.expand_path("#{File.dirname(__FILE__)}/../../spec_helper") require File.expand_path("#{File.dirname(__FILE__)}/spec_helper") describe IntervalSkipList do diff --git a/spec/runtime/interval_skip_list/delete_spec.graffle b/spec/runtime/interval_skip_list/interval_skip_list_spec.graffle similarity index 61% rename from spec/runtime/interval_skip_list/delete_spec.graffle rename to spec/runtime/interval_skip_list/interval_skip_list_spec.graffle index 35d80b4..a9e3eb8 100644 --- a/spec/runtime/interval_skip_list/delete_spec.graffle +++ b/spec/runtime/interval_skip_list/interval_skip_list_spec.graffle @@ -1422,7 +1422,7 @@ ModificationDate - 2008-01-25 12:42:50 -0800 + 2008-01-25 12:52:43 -0800 Modifier pivotal NotesVisible @@ -3804,6 +3804,2343 @@ VPages 1 + + ActiveLayerIndex + 0 + AutoAdjust + + CanvasColor + + w + 1 + + CanvasOrigin + {0, 0} + CanvasScale + 1 + ColumnAlign + 1 + ColumnSpacing + 36 + DisplayScale + 1 in = 1 in + GraphicsList + + + Bounds + {{468.5, 194}, {111, 18}} + Class + ShapedGraphic + FitText + YES + Flow + Resize + FontInfo + + Font + Helvetica + Size + 14 + + ID + 269 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf440 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\fs30 \cf0 insert(9..13, :z)} + + Wrap + NO + + + Class + LineGraphic + Head + + ID + 227 + + ID + 268 + Points + + {190.24, 479.459} + {667.238, 479.459} + + Style + + stroke + + HeadArrow + 0 + TailArrow + 0 + + + Tail + + ID + 218 + + + + Class + LineGraphic + Head + + ID + 228 + + ID + 267 + Points + + {81.502, 438.486} + {667.238, 438.486} + + Style + + stroke + + HeadArrow + 0 + TailArrow + 0 + + + Tail + + ID + 216 + + + + Class + LineGraphic + Head + + ID + 232 + + ID + 266 + Points + + {190.24, 520.432} + {451.361, 520.432} + + Style + + stroke + + HeadArrow + 0 + TailArrow + 0 + + + Tail + + ID + 219 + + + + Bounds + {{570, 513.432}, {16, 14}} + Class + ShapedGraphic + FitText + YES + FontInfo + + Color + + w + 0 + + Font + Helvetica + Size + 12 + + ID + 265 + Line + + ID + 264 + Position + 0.48667857050895691 + RotationType + 0 + + Shape + Rectangle + Style + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf440 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\fs24 \cf0 z} + + + + Class + LineGraphic + Head + + ID + 226 + + ID + 264 + Points + + {493.394, 520.432} + {667.238, 520.432} + + Style + + stroke + + HeadArrow + 0 + TailArrow + 0 + + + Tail + + ID + 232 + + + + Bounds + {{623, 274.12}, {16, 14}} + Class + ShapedGraphic + FitText + YES + FontInfo + + Color + + w + 0 + + Font + Helvetica + Size + 12 + + ID + 261 + Line + + ID + 41 + Position + 0.47061088681221008 + RotationType + 0 + + Shape + Rectangle + Style + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf440 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\fs24 \cf0 z} + + + + Bounds + {{516, 315.093}, {16, 14}} + Class + ShapedGraphic + FitText + YES + FontInfo + + Color + + w + 0 + + Font + Helvetica + Size + 12 + + ID + 260 + Line + + ID + 47 + Position + 0.48306027054786682 + RotationType + 0 + + Shape + Rectangle + Style + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf440 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\fs24 \cf0 z} + + + + Bounds + {{313.152, 395}, {108, 18}} + Class + ShapedGraphic + FitText + YES + Flow + Resize + FontInfo + + Font + Helvetica + Size + 14 + + ID + 259 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf440 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\fs30 \cf0 expire(4..8, -3)} + + Wrap + NO + + + Bounds + {{667.6, 555.06}, {41, 14}} + Class + ShapedGraphic + FitText + YES + Flow + Resize + ID + 258 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf440 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\fs24 \cf0 13 - 3} + + Wrap + NO + + + Bounds + {{454.723, 555.06}, {35, 14}} + Class + ShapedGraphic + FitText + YES + Flow + Resize + ID + 256 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf440 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\fs24 \cf0 9 - 3} + + Wrap + NO + + + Bounds + {{160.599, 555.06}, {17, 14}} + Class + ShapedGraphic + FitText + YES + Flow + Resize + ID + 253 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf440 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\fs24 \cf0 3} + + Wrap + NO + + + Bounds + {{51.8617, 555.06}, {17, 14}} + Class + ShapedGraphic + FitText + YES + Flow + Resize + ID + 252 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf440 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\fs24 \cf0 1} + + Wrap + NO + + + Bounds + {{102.212, 472.459}, {17, 14}} + Class + ShapedGraphic + FitText + YES + FontInfo + + Color + + w + 0 + + Font + Helvetica + Size + 12 + + ID + 245 + Line + + ID + 235 + Position + 0.43750011920928955 + RotationType + 0 + + Shape + Rectangle + Style + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf440 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\fs24 \cf0 a} + + + + Class + LineGraphic + Head + + ID + 219 + + ID + 239 + Points + + {81.502, 520.432} + {148.267, 520.432} + + Style + + stroke + + HeadArrow + 0 + TailArrow + 0 + + + Tail + + ID + 214 + + + + Class + LineGraphic + Head + + ID + 218 + + ID + 235 + Points + + {81.502, 479.459} + {148.267, 479.459} + + Style + + stroke + + HeadArrow + 0 + TailArrow + 0 + + + Tail + + ID + 215 + + + + Bounds + {{451.861, 499.946}, {41.0327, 40.9726}} + Class + ShapedGraphic + HFlip + YES + ID + 232 + Shape + Rectangle + + + Class + Group + Graphics + + + Bounds + {{667.738, 499.946}, {41.0327, 40.9726}} + Class + ShapedGraphic + HFlip + YES + ID + 226 + Shape + Rectangle + Text + + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf440 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\fs24 \cf0 z} + + + + Bounds + {{667.738, 458.973}, {41.0327, 40.9726}} + Class + ShapedGraphic + HFlip + YES + ID + 227 + Shape + Rectangle + + + Bounds + {{667.738, 418}, {41.0327, 40.9726}} + Class + ShapedGraphic + HFlip + YES + ID + 228 + Shape + Rectangle + + + ID + 225 + + + Class + Group + Graphics + + + Bounds + {{148.767, 458.973}, {40.9727, 40.9727}} + Class + ShapedGraphic + ID + 218 + Shape + Rectangle + + + Bounds + {{148.767, 499.946}, {40.9727, 40.9727}} + Class + ShapedGraphic + ID + 219 + Shape + Rectangle + Text + + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf440 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\fs24 \cf0 a} + + + + ID + 217 + + + Class + Group + Graphics + + + Bounds + {{40.0293, 499.946}, {40.9727, 40.9727}} + Class + ShapedGraphic + ID + 214 + Shape + Rectangle + + + Bounds + {{40.0293, 458.973}, {40.9727, 40.9727}} + Class + ShapedGraphic + ID + 215 + Shape + Rectangle + + + Bounds + {{40.0293, 418}, {40.9727, 40.9727}} + Class + ShapedGraphic + ID + 216 + Shape + Rectangle + + + ID + 213 + + + Bounds + {{311.301, 194}, {109, 18}} + Class + ShapedGraphic + FitText + YES + Flow + Resize + FontInfo + + Font + Helvetica + Size + 14 + + ID + 212 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf440 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\fs30 \cf0 insert(7..11, :y)} + + Wrap + NO + + + Bounds + {{145.062, 194}, {102, 18}} + Class + ShapedGraphic + FitText + YES + Flow + Resize + FontInfo + + Font + Helvetica + Size + 14 + + ID + 211 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf440 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\fs30 \cf0 insert(1..5, :x)} + + Wrap + NO + + + Bounds + {{676.1, 354.579}, {24, 14}} + Class + ShapedGraphic + FitText + YES + Flow + Resize + ID + 209 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf440 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\fs24 \cf0 13} + + Wrap + NO + + + Bounds + {{566.114, 354.579}, {23, 14}} + Class + ShapedGraphic + FitText + YES + Flow + Resize + ID + 207 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf440 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\fs24 \cf0 11} + + Wrap + NO + + + Bounds + {{463.723, 354.579}, {17, 14}} + Class + ShapedGraphic + FitText + YES + Flow + Resize + ID + 206 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf440 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\fs24 \cf0 9} + + Wrap + NO + + + Bounds + {{359.775, 354.579}, {17, 14}} + Class + ShapedGraphic + FitText + YES + Flow + Resize + ID + 205 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf440 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\fs24 \cf0 7} + + Wrap + NO + + + Bounds + {{264.057, 354.579}, {17, 14}} + Class + ShapedGraphic + FitText + YES + Flow + Resize + ID + 204 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf440 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\fs24 \cf0 5} + + Wrap + NO + + + Bounds + {{160.599, 354.579}, {17, 14}} + Class + ShapedGraphic + FitText + YES + Flow + Resize + ID + 203 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf440 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\fs24 \cf0 3} + + Wrap + NO + + + Bounds + {{51.8617, 354.579}, {17, 14}} + Class + ShapedGraphic + FitText + YES + Flow + Resize + ID + 202 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf440 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\fs24 \cf0 1} + + Wrap + NO + + + Bounds + {{311.301, 315.093}, {17, 14}} + Class + ShapedGraphic + FitText + YES + FontInfo + + Color + + w + 0 + + Font + Helvetica + Size + 12 + + ID + 100 + Line + + ID + 45 + Position + 0.49750059843063354 + RotationType + 0 + + Shape + Rectangle + Style + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf440 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\fs24 \cf0 g} + + + + Bounds + {{406.092, 315.093}, {27, 14}} + Class + ShapedGraphic + FitText + YES + FontInfo + + Color + + w + 0 + + Font + Helvetica + Size + 12 + + ID + 91 + Line + + ID + 46 + Position + 0.4975009560585022 + RotationType + 0 + + Shape + Rectangle + Style + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf440 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\fs24 \cf0 d y} + + + + Bounds + {{456.295, 274.12}, {27, 14}} + Class + ShapedGraphic + FitText + YES + FontInfo + + Color + + w + 0 + + Font + Helvetica + Size + 12 + + ID + 90 + Line + + ID + 40 + Position + 0.48428341746330261 + RotationType + 0 + + Shape + Rectangle + Style + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf440 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\fs24 \cf0 e y} + + + + Bounds + {{501.164, 233.147}, {24, 14}} + Class + ShapedGraphic + FitText + YES + FontInfo + + Color + + w + 0 + + Font + Helvetica + Size + 12 + + ID + 89 + Line + + ID + 36 + Position + 0.44795909523963928 + RotationType + 0 + + Shape + Rectangle + Style + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf440 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\fs24 \cf0 f g} + + + + Bounds + {{194.113, 233.147}, {43, 14}} + Class + ShapedGraphic + FitText + YES + FontInfo + + Color + + w + 0 + + Font + Helvetica + Size + 12 + + ID + 88 + Line + + ID + 35 + Position + 0.50672364234924316 + RotationType + 0 + + Shape + Rectangle + Style + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf440 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\fs24 \cf0 c d e f} + + + + Bounds + {{207.329, 315.093}, {27, 14}} + Class + ShapedGraphic + FitText + YES + FontInfo + + Color + + w + 0 + + Font + Helvetica + Size + 12 + + ID + 86 + Line + + ID + 44 + Position + 0.49750003218650818 + RotationType + 0 + + Shape + Rectangle + Style + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf440 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\fs24 \cf0 b x} + + + + Bounds + {{92.2119, 274.12}, {37, 14}} + Class + ShapedGraphic + FitText + YES + FontInfo + + Color + + w + 0 + + Font + Helvetica + Size + 12 + + ID + 85 + Line + + ID + 37 + Position + 0.43750011920928955 + RotationType + 0 + + Shape + Rectangle + Style + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf440 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\fs24 \cf0 a b x} + + + + Class + LineGraphic + Head + + ID + 32 + + ID + 48 + Points + + {598.785, 322.093} + {667.238, 322.093} + + Style + + stroke + + HeadArrow + 0 + TailArrow + 0 + + + Tail + + ID + 30 + + + + Class + LineGraphic + Head + + ID + 30 + + ID + 47 + Points + + {493.394, 322.093} + {556.752, 322.093} + + Style + + stroke + + HeadArrow + 0 + TailArrow + 0 + + + Tail + + ID + 16 + + + + Class + LineGraphic + Head + + ID + 16 + + ID + 46 + Points + + {388.138, 322.093} + {451.361, 322.093} + + Style + + stroke + + HeadArrow + 0 + TailArrow + 0 + + + Tail + + ID + 25 + + + + Class + LineGraphic + Head + + ID + 25 + + ID + 45 + Points + + {293.698, 322.093} + {346.165, 322.093} + + Style + + stroke + + HeadArrow + 0 + TailArrow + 0 + + + Tail + + ID + 6 + + + + Class + LineGraphic + Head + + ID + 6 + + ID + 44 + Points + + {190.24, 322.093} + {251.725, 322.093} + + Style + + stroke + + HeadArrow + 0 + TailArrow + 0 + + + Tail + + ID + 19 + + + + Class + LineGraphic + Head + + ID + 19 + + ID + 42 + Points + + {81.502, 322.093} + {148.267, 322.093} + + Style + + stroke + + HeadArrow + 0 + TailArrow + 0 + + + Tail + + ID + 21 + + + + Class + LineGraphic + Head + + ID + 33 + + ID + 41 + Points + + {598.785, 281.12} + {667.238, 281.12} + + Style + + stroke + + HeadArrow + 0 + TailArrow + 0 + + + Tail + + ID + 29 + + + + Class + LineGraphic + Head + + ID + 29 + + ID + 40 + Points + + {388.138, 281.12} + {556.752, 281.12} + + Style + + stroke + + HeadArrow + 0 + TailArrow + 0 + + + Tail + + ID + 26 + + + + Class + LineGraphic + Head + + ID + 26 + + ID + 38 + Points + + {190.24, 281.12} + {346.165, 281.12} + + Style + + stroke + + HeadArrow + 0 + TailArrow + 0 + + + Tail + + ID + 18 + + + + Class + LineGraphic + Head + + ID + 18 + + ID + 37 + Points + + {81.502, 281.12} + {148.267, 281.12} + + Style + + stroke + + HeadArrow + 0 + TailArrow + 0 + + + Tail + + ID + 22 + + + + Class + LineGraphic + Head + + ID + 34 + + ID + 36 + Points + + {388.138, 240.147} + {667.238, 240.147} + + Style + + stroke + + HeadArrow + 0 + TailArrow + 0 + + + Tail + + ID + 27 + + + + Class + LineGraphic + Head + + ID + 27 + + ID + 35 + Points + + {81.502, 240.147} + {346.165, 240.147} + + Style + + stroke + + HeadArrow + 0 + TailArrow + 0 + + + Tail + + ID + 23 + + + + Bounds + {{451.861, 301.607}, {41.0327, 40.9726}} + Class + ShapedGraphic + HFlip + YES + ID + 16 + Shape + Rectangle + Text + + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf440 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\fs24 \cf0 d} + + + + Class + Group + Graphics + + + Bounds + {{557.252, 260.634}, {41.0327, 40.9726}} + Class + ShapedGraphic + HFlip + YES + ID + 29 + Shape + Rectangle + + + Bounds + {{557.252, 301.607}, {41.0327, 40.9726}} + Class + ShapedGraphic + HFlip + YES + ID + 30 + Shape + Rectangle + Text + + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf440 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\fs24 \cf0 e y z} + + + + ID + 28 + + + Class + Group + Graphics + + + Bounds + {{667.738, 301.607}, {41.0327, 40.9726}} + Class + ShapedGraphic + HFlip + YES + ID + 32 + Shape + Rectangle + Text + + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf440 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\fs24 \cf0 f g z} + + + + Bounds + {{667.738, 260.634}, {41.0327, 40.9726}} + Class + ShapedGraphic + HFlip + YES + ID + 33 + Shape + Rectangle + + + Bounds + {{667.738, 219.661}, {41.0327, 40.9726}} + Class + ShapedGraphic + HFlip + YES + ID + 34 + Shape + Rectangle + + + ID + 31 + + + Class + Group + Graphics + + + Bounds + {{346.665, 301.607}, {40.9727, 40.9726}} + Class + ShapedGraphic + ID + 25 + Shape + Rectangle + Text + + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf440 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\fs24 \cf0 c d e f g} + + + + Bounds + {{346.665, 260.634}, {40.9727, 40.9726}} + Class + ShapedGraphic + ID + 26 + Shape + Rectangle + + + Bounds + {{346.665, 219.661}, {40.9727, 40.9726}} + Class + ShapedGraphic + ID + 27 + Shape + Rectangle + + + ID + 24 + + + Bounds + {{252.225, 301.607}, {40.9727, 40.9726}} + Class + ShapedGraphic + ID + 6 + Shape + Rectangle + Text + + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf440 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\fs24 \cf0 b x} + + + + Class + Group + Graphics + + + Bounds + {{148.767, 260.634}, {40.9727, 40.9727}} + Class + ShapedGraphic + ID + 18 + Shape + Rectangle + + + Bounds + {{148.767, 301.607}, {40.9727, 40.9727}} + Class + ShapedGraphic + ID + 19 + Shape + Rectangle + Text + + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf440 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\fs24 \cf0 a b x} + + + + ID + 17 + + + Class + Group + Graphics + + + Bounds + {{40.0293, 301.607}, {40.9727, 40.9727}} + Class + ShapedGraphic + ID + 21 + Shape + Rectangle + + + Bounds + {{40.0293, 260.634}, {40.9727, 40.9727}} + Class + ShapedGraphic + ID + 22 + Shape + Rectangle + + + Bounds + {{40.0293, 219.661}, {40.9727, 40.9727}} + Class + ShapedGraphic + ID + 23 + Shape + Rectangle + + + ID + 20 + + + GridInfo + + HPages + 1 + IsPalette + NO + KeepToScale + + Layers + + + Lock + NO + Name + Layer 1 + Print + YES + View + YES + + + LayoutInfo + + MasterSheet + Master 1 + Orientation + 2 + OutlineStyle + Basic + RowAlign + 1 + RowSpacing + 36 + SheetTitle + expire(4..8, -3) + UniqueID + 4 + VPages + 1 + SmartAlignmentGuidesActive YES @@ -3814,7 +6151,7 @@ WindowInfo CurrentSheet - 2 + 3 DrawerOpen DrawerTab diff --git a/spec/runtime/interval_skip_list/interval_skip_list_spec.rb b/spec/runtime/interval_skip_list/interval_skip_list_spec.rb new file mode 100644 index 0000000..1fc0fec --- /dev/null +++ b/spec/runtime/interval_skip_list/interval_skip_list_spec.rb @@ -0,0 +1,58 @@ +#require File.expand_path("#{File.dirname(__FILE__)}/spec_helper") +# +#MAX_INTERVAL = 100000 +# +#describe IntervalSkipList do +# describe "#next_node_height" do +# attr_reader :list +# +# before do +# @list = IntervalSkipList.new +# end +# +# it "returns a number between 1 and the max_height of the list" do +# height = list.next_node_height +# height.should be <= list.max_height +# height.should be > 0 +# end +# end +# +# describe "a list with 1000 random intervals" do +# attr_reader :list, :inserted_ranges +# +# before do +# @list = IntervalSkipList.new +# @inserted_ranges = [] +# +# 0.upto(10) do |i| +# first, last = [rand(MAX_INTERVAL), rand(MAX_INTERVAL)].sort +# range = first..last +# list.insert(range, i) +# inserted_ranges.push(range) +# end +# end +# +# it "functions correctly for stabbing queries" do +# 10000.times do +# n = rand(MAX_INTERVAL) +# ranges = list.containing(n).sort +# +# expected_ranges = [] +# inserted_ranges.each_with_index do |range,i| +# expected_ranges.push(i) if n > range.first && n < range.last +# end +# expected_ranges.sort! +# unless ranges == expected_ranges +# puts "N = #{n}" +# puts "Expected: " + expected_ranges.inspect +# puts "Actual: " + ranges.inspect +# expected_ranges.size.should be <= ranges.size +# puts "Missing containers: #{(expected_ranges.map {|o| o.object_id} - ranges.map {|o| o.object_id}).inspect}" +# puts "Unexpected containers: #{(ranges.map {|o| o.object_id} - expected_ranges.map {|o| o.object_id}).inspect}" +# puts "Inserted Ranges: #{inserted_ranges.inspect}" +# puts "Expected Ranges: #{expected_ranges.map {|i| inserted_ranges[i]}.inspect}" +# end +# end +# end +# end +#end \ No newline at end of file diff --git a/spec/runtime/interval_skip_list/spec_helper.rb b/spec/runtime/interval_skip_list/spec_helper.rb index cae4420..b484c57 100644 --- a/spec/runtime/interval_skip_list/spec_helper.rb +++ b/spec/runtime/interval_skip_list/spec_helper.rb @@ -1,7 +1,7 @@ require File.expand_path("#{File.dirname(__FILE__)}/../../spec_helper") class IntervalSkipList - public :insert_node, :delete_node, :nodes, :head + public :insert_node, :delete_node, :nodes, :head, :next_node_height end describe "#next_node_height is deterministic", :shared => true do -- 2.11.4.GIT