mementus 0.3.6 → 0.4.0

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 37bb9a8b8ec0f8ce8d20f6bba2f63e6230f3d303
4
- data.tar.gz: deb39ecdb56d518457b372d249f4b0adfff3d649
3
+ metadata.gz: f5be27f3627a1c98758d9c342f3caf1e66f5fe70
4
+ data.tar.gz: aeb311c257b6107697ebc02aaad5dddb88f64030
5
5
  SHA512:
6
- metadata.gz: 7322350bd2f9997f4bc5c9696da9b3ae6ecb7c84ba28643ff44181ed878fda72b3843719ce6ace74d4b9e9a047f4ca83881e0d0d2ea1ab6f27b1ff3f079f8624
7
- data.tar.gz: 4c7af1572c7d631839121387e4202202812940d265b803941365f5412c3ba51f62fa919f1ebccadcc4f676977729ce722fcd5ac8d346e5b457e1732d84f53ca1
6
+ metadata.gz: 23ea3552c0307467dd23b1066466c663087573219b4d2261f440dc85d5dd671c5f19c341000b690c3b1e8d55250307bf1532acb511e6de9a9319a90eafad0281
7
+ data.tar.gz: e035bb59dd2c6298cc2301e97e5f738cf50f06cb4df4680673cee7514b674217dc8b45a312260a23253fb5eca95021d98cc14d6c3b1f42f6a24db9839ebf465a
@@ -0,0 +1,116 @@
1
+ # The Herschel graph is a bipartite undirected graph with 11 vertices and
2
+ # 18 edges, the smallest non-Hamiltonian polyhedral graph.
3
+ #
4
+ # __________(blue-1)__________
5
+ # / / \ \
6
+ # / / \ \
7
+ # / (red-1) (red-2) \
8
+ # / / \ / \ \
9
+ # / / \ / \ \
10
+ # (red-3)--(blue-2) (blue-3) (blue-4)---(red-4)
11
+ # \ \ / \ / /
12
+ # \ \ / \ / /
13
+ # \ (red-5) (red-6) /
14
+ # \ \ / /
15
+ # \ \ / /
16
+ # \_________(blue-5)_________/
17
+ #
18
+ module Mementus
19
+ module Library
20
+ class HerschelGraph < Graph
21
+ def self.instance
22
+ self.new do
23
+ create_edge do |edge|
24
+ edge.from = "red-1"
25
+ edge.to = "blue-1"
26
+ end
27
+
28
+ create_edge do |edge|
29
+ edge.from = "red-1"
30
+ edge.to = "blue-2"
31
+ end
32
+
33
+ create_edge do |edge|
34
+ edge.from = "red-1"
35
+ edge.to = "blue-3"
36
+ end
37
+
38
+ create_edge do |edge|
39
+ edge.from = "red-2"
40
+ edge.to = "blue-1"
41
+ end
42
+
43
+ create_edge do |edge|
44
+ edge.from = "red-2"
45
+ edge.to = "blue-3"
46
+ end
47
+
48
+ create_edge do |edge|
49
+ edge.from = "red-2"
50
+ edge.to = "blue-4"
51
+ end
52
+
53
+ create_edge do |edge|
54
+ edge.from = "red-3"
55
+ edge.to = "blue-1"
56
+ end
57
+
58
+ create_edge do |edge|
59
+ edge.from = "red-3"
60
+ edge.to = "blue-2"
61
+ end
62
+
63
+ create_edge do |edge|
64
+ edge.from = "red-3"
65
+ edge.to = "blue-5"
66
+ end
67
+
68
+ create_edge do |edge|
69
+ edge.from = "red-4"
70
+ edge.to = "blue-1"
71
+ end
72
+
73
+ create_edge do |edge|
74
+ edge.from = "red-4"
75
+ edge.to = "blue-4"
76
+ end
77
+
78
+ create_edge do |edge|
79
+ edge.from = "red-4"
80
+ edge.to = "blue-5"
81
+ end
82
+
83
+ create_edge do |edge|
84
+ edge.from = "red-5"
85
+ edge.to = "blue-2"
86
+ end
87
+
88
+ create_edge do |edge|
89
+ edge.from = "red-5"
90
+ edge.to = "blue-3"
91
+ end
92
+
93
+ create_edge do |edge|
94
+ edge.from = "red-5"
95
+ edge.to = "blue-5"
96
+ end
97
+
98
+ create_edge do |edge|
99
+ edge.from = "red-6"
100
+ edge.to = "blue-3"
101
+ end
102
+
103
+ create_edge do |edge|
104
+ edge.from = "red-6"
105
+ edge.to = "blue-4"
106
+ end
107
+
108
+ create_edge do |edge|
109
+ edge.from = "red-6"
110
+ edge.to = "blue-5"
111
+ end
112
+ end
113
+ end
114
+ end
115
+ end
116
+ end
@@ -0,0 +1 @@
1
+ require 'mementus/library/herschel_graph'
@@ -1,3 +1,3 @@
1
1
  module Mementus
2
- VERSION = '0.3.6'.freeze
2
+ VERSION = '0.4.0'.freeze
3
3
  end
@@ -0,0 +1,13 @@
1
+ describe Mementus::Library::HerschelGraph do
2
+ let(:graph) do
3
+ Mementus::Library::HerschelGraph.instance
4
+ end
5
+
6
+ it 'has 11 vertices' do
7
+ expect(graph.nodes_count).to eq(11)
8
+ end
9
+
10
+ it 'has 18 edges' do
11
+ expect(graph.edges_count).to eq(18)
12
+ end
13
+ end
data/spec/spec_helper.rb CHANGED
@@ -1,2 +1,3 @@
1
1
  require 'rspec'
2
2
  require 'mementus'
3
+ require 'mementus/library'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mementus
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.6
4
+ version: 0.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - maetl
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-06-13 00:00:00.000000000 Z
11
+ date: 2016-06-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -74,6 +74,8 @@ files:
74
74
  - lib/mementus/graph.rb
75
75
  - lib/mementus/graph_builder.rb
76
76
  - lib/mementus/integer_id.rb
77
+ - lib/mementus/library.rb
78
+ - lib/mementus/library/herschel_graph.rb
77
79
  - lib/mementus/node.rb
78
80
  - lib/mementus/node_builder.rb
79
81
  - lib/mementus/node_proxy.rb
@@ -88,6 +90,7 @@ files:
88
90
  - spec/direction_spec.rb
89
91
  - spec/edge_spec.rb
90
92
  - spec/graph_spec.rb
93
+ - spec/herschel_spec.rb
91
94
  - spec/integer_id_spec.rb
92
95
  - spec/node_proxy_spec.rb
93
96
  - spec/pipeline_spec.rb
@@ -123,6 +126,7 @@ test_files:
123
126
  - spec/direction_spec.rb
124
127
  - spec/edge_spec.rb
125
128
  - spec/graph_spec.rb
129
+ - spec/herschel_spec.rb
126
130
  - spec/integer_id_spec.rb
127
131
  - spec/node_proxy_spec.rb
128
132
  - spec/pipeline_spec.rb