stakach-algorithms 1.0.7 → 1.0.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,3 +1,3 @@
1
1
  module Algorithms
2
- VERSION = "1.0.7"
2
+ VERSION = "1.0.8"
3
3
  end
@@ -9,7 +9,9 @@
9
9
 
10
10
  This library implements a Fibonacci heap, which allows O(1) complexity for most methods.
11
11
  =end
12
- class Containers::Heap
12
+ module Algorithms
13
+ module Containers
14
+ class Heap
13
15
  include Enumerable
14
16
 
15
17
  # call-seq:
@@ -418,7 +420,7 @@ class Containers::Heap
418
420
  end
419
421
 
420
422
  # A MaxHeap is a heap where the items are returned in descending order of key value.
421
- class Containers::MaxHeap < Containers::Heap
423
+ class MaxHeap < Heap
422
424
 
423
425
  # call-seq:
424
426
  # MaxHeap.new(ary) -> new_heap
@@ -460,7 +462,7 @@ class Containers::MaxHeap < Containers::Heap
460
462
  end
461
463
 
462
464
  # A MinHeap is a heap where the items are returned in ascending order of key value.
463
- class Containers::MinHeap < Containers::Heap
465
+ class MinHeap < Heap
464
466
 
465
467
  # call-seq:
466
468
  # MinHeap.new(ary) -> new_heap
@@ -499,4 +501,6 @@ class Containers::MinHeap < Containers::Heap
499
501
  def min!
500
502
  self.pop
501
503
  end
504
+ end
505
+ end
502
506
  end
@@ -1,6 +1,6 @@
1
1
  require 'helper'
2
2
 
3
- shared_examples "(empty deque)" do
3
+ shared_examples_for "(empty deque)" do
4
4
  it "should return nil when popping objects" do
5
5
  @deque.pop_front.should be_nil
6
6
  @deque.pop_back.should be_nil
@@ -30,7 +30,7 @@ shared_examples "(empty deque)" do
30
30
  end
31
31
  end
32
32
 
33
- shared_examples "(non-empty deque)" do
33
+ shared_examples_for "(non-empty deque)" do
34
34
  before(:each) do
35
35
  @deque.push_back(10)
36
36
  @deque.push_back("10")
@@ -76,30 +76,30 @@ end
76
76
 
77
77
  describe "empty rubydeque" do
78
78
  before(:each) do
79
- @deque = Containers::RubyDeque.new
79
+ @deque = Algorithms::Containers::RubyDeque.new
80
80
  end
81
81
  it_should_behave_like "(empty deque)"
82
82
  end
83
83
 
84
84
  describe "full rubydeque" do
85
85
  before(:each) do
86
- @deque = Containers::RubyDeque.new
86
+ @deque = Algorithms::Containers::RubyDeque.new
87
87
  end
88
88
  it_should_behave_like "(non-empty deque)"
89
89
  end
90
90
 
91
91
  begin
92
- Containers::CDeque
92
+ Algorithms::Containers::CDeque
93
93
  describe "empty cdeque" do
94
94
  before(:each) do
95
- @deque = Containers::CDeque.new
95
+ @deque = Algorithms::Containers::CDeque.new
96
96
  end
97
97
  it_should_behave_like "(empty deque)"
98
98
  end
99
99
 
100
100
  describe "full cdeque" do
101
101
  before(:each) do
102
- @deque = Containers::CDeque.new
102
+ @deque = Algorithms::Containers::CDeque.new
103
103
  end
104
104
  it_should_behave_like "(non-empty deque)"
105
105
  end
@@ -1,6 +1,6 @@
1
1
  require 'helper'
2
2
 
3
- shared_examples "empty rbtree" do
3
+ shared_examples_for "empty rbtree" do
4
4
  it "should let you push stuff in" do
5
5
  100.times { |x| @tree[x] = x }
6
6
  @tree.size.should eql(100)
@@ -30,7 +30,7 @@ shared_examples "empty rbtree" do
30
30
  end
31
31
  end
32
32
 
33
- shared_examples "non-empty rbtree" do
33
+ shared_examples_for "non-empty rbtree" do
34
34
  before(:each) do
35
35
  @num_items = 1000
36
36
  @random_array = Array.new(@num_items) { rand(@num_items) }
@@ -91,30 +91,29 @@ end
91
91
 
92
92
  describe "empty rbtreemap" do
93
93
  before(:each) do
94
- @tree = Containers::RubyRBTreeMap.new
94
+ @tree = Algorithms::Containers::RubyRBTreeMap.new
95
95
  end
96
96
  it_should_behave_like "empty rbtree"
97
97
  end
98
98
 
99
99
  describe "full rbtreemap" do
100
100
  before(:each) do
101
- @tree = Containers::RubyRBTreeMap.new
101
+ @tree = Algorithms::Containers::RubyRBTreeMap.new
102
102
  end
103
103
  it_should_behave_like "non-empty rbtree"
104
104
  end
105
105
 
106
106
  begin
107
- Containers::CRBTreeMap
108
107
  describe "empty crbtreemap" do
109
108
  before(:each) do
110
- @tree = Containers::CRBTreeMap.new
109
+ @tree = Algorithms::Containers::CRBTreeMap.new
111
110
  end
112
111
  it_should_behave_like "empty rbtree"
113
112
  end
114
113
 
115
114
  describe "full crbtreemap" do
116
115
  before(:each) do
117
- @tree = Containers::CRBTreeMap.new
116
+ @tree = Algorithms::Containers::CRBTreeMap.new
118
117
  end
119
118
  it_should_behave_like "non-empty rbtree"
120
119
  end
@@ -1,6 +1,6 @@
1
1
  require 'helper'
2
-
3
- shared_examples "empty splaytree" do
2
+
3
+ shared_examples_for "empty splaytree" do
4
4
  it "should let you push stuff in" do
5
5
  100.times { |x| @tree[x] = x }
6
6
  @tree.size.should eql(100)
@@ -24,7 +24,7 @@ shared_examples "empty splaytree" do
24
24
  end
25
25
  end
26
26
 
27
- shared_examples "non-empty splaytree" do
27
+ shared_examples_for "non-empty splaytree" do
28
28
  before(:each) do
29
29
  @num_items = 100
30
30
  @random_array = []
@@ -74,30 +74,30 @@ end
74
74
 
75
75
  describe "empty splaytreemap" do
76
76
  before(:each) do
77
- @tree = Containers::RubySplayTreeMap.new
77
+ @tree = Algorithms::Containers::RubySplayTreeMap.new
78
78
  end
79
79
  it_should_behave_like "empty splaytree"
80
80
  end
81
81
 
82
82
  describe "full splaytreemap" do
83
83
  before(:each) do
84
- @tree = Containers::RubySplayTreeMap.new
84
+ @tree = Algorithms::Containers::RubySplayTreeMap.new
85
85
  end
86
86
  it_should_behave_like "non-empty splaytree"
87
87
  end
88
88
 
89
89
  begin
90
- Containers::CSplayTreeMap
90
+ Algorithms::Containers::CSplayTreeMap
91
91
  describe "empty csplaytreemap" do
92
92
  before(:each) do
93
- @tree = Containers::CSplayTreeMap.new
93
+ @tree = Algorithms::Containers::CSplayTreeMap.new
94
94
  end
95
95
  it_should_behave_like "empty splaytree"
96
96
  end
97
97
 
98
98
  describe "full csplaytreemap" do
99
99
  before(:each) do
100
- @tree = Containers::CSplayTreeMap.new
100
+ @tree = Algorithms::Containers::CSplayTreeMap.new
101
101
  end
102
102
  it_should_behave_like "non-empty splaytree"
103
103
  end
@@ -2,11 +2,11 @@ require 'helper'
2
2
 
3
3
  describe "string algorithms" do
4
4
  it "should do levenshtein distance" do
5
- Algorithms::Algorithms::String.levenshtein_dist("Hello", "Hel").should eql(2)
6
- Algorithms::Algorithms::String.levenshtein_dist("Hello", "").should eql(5)
7
- Algorithms::Algorithms::String.levenshtein_dist("", "Hello").should eql(5)
8
- Algorithms::Algorithms::String.levenshtein_dist("Hello", "Hello").should eql(0)
9
- Algorithms::Algorithms::String.levenshtein_dist("Hello", "ello").should eql(1)
10
- Algorithms::Algorithms::String.levenshtein_dist("Hello", "Mello").should eql(1)
5
+ Algorithms::String.levenshtein_dist("Hello", "Hel").should eql(2)
6
+ Algorithms::String.levenshtein_dist("Hello", "").should eql(5)
7
+ Algorithms::String.levenshtein_dist("", "Hello").should eql(5)
8
+ Algorithms::String.levenshtein_dist("Hello", "Hello").should eql(0)
9
+ Algorithms::String.levenshtein_dist("Hello", "ello").should eql(1)
10
+ Algorithms::String.levenshtein_dist("Hello", "Mello").should eql(1)
11
11
  end
12
12
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: stakach-algorithms
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.7
4
+ version: 1.0.8
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors: