uss-enterprise 0.0.3.2 → 0.0.3.5
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 +4 -4
- data/lib/uss-enterprise/ship_builders.rb +1 -1
- data/lib/uss-enterprise/ship_chooser.rb +2 -0
- data/readme.md +1 -0
- data/tests/test_blueprint.rb +46 -0
- data/tests/test_interactions.rb +1 -0
- data/tests/test_ship_builders.rb +85 -0
- data/tests/test_ship_chooser.rb +58 -0
- data/tests/test_uss-enterprise.rb +1 -0
- metadata +17 -8
- data/lib/test.rb +0 -18
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b4562e0ee087b5a2b3bd0151e60974698ce64581
|
4
|
+
data.tar.gz: 0127c1fbcd608ab63de12a07c0489f0be9c81101
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: fa70b862a50d1d1460e00e53f64e35b35aebcae6e22b5c4cab87d10fe2277c87189cf7a975d01f99f6189a96659c0441dda79ffcbf7ed1c05edfdd364b197172
|
7
|
+
data.tar.gz: d00428531eeb7841a42bc8e3b55887f040e68509cbdd1f3e7e3bd48ae68ffd7b3b74318411c6dee618c58e5e521eb8265778b4bc15ac03b51e02f4ecb2145dc6
|
data/readme.md
CHANGED
@@ -0,0 +1,46 @@
|
|
1
|
+
require 'test/unit'
|
2
|
+
require 'uss-enterprise/blueprint.rb'
|
3
|
+
require 'uss-enterprise/schematics.rb'
|
4
|
+
|
5
|
+
class TestBlueprints < Test::Unit::TestCase
|
6
|
+
include ShipSchematics
|
7
|
+
include Blueprints
|
8
|
+
|
9
|
+
def test_sea_ship_blueprints
|
10
|
+
schematics = Schematics.new
|
11
|
+
|
12
|
+
expectation = {
|
13
|
+
'Sloop' => schematics.sloop,
|
14
|
+
'Carrier' => schematics.carrier
|
15
|
+
}
|
16
|
+
|
17
|
+
assert_equal(expectation, SeaShipBlueprints.new.gimme)
|
18
|
+
end
|
19
|
+
|
20
|
+
def test_orbital_ship_blueprints
|
21
|
+
schematics = Schematics.new
|
22
|
+
|
23
|
+
expectation = {
|
24
|
+
'Spaceshuttle' => schematics.spaceshuttle
|
25
|
+
}
|
26
|
+
|
27
|
+
assert_equal(expectation, OrbitalShipBlueprints.new.gimme)
|
28
|
+
end
|
29
|
+
|
30
|
+
def test_star_ship_blueprints
|
31
|
+
schematics = Schematics.new
|
32
|
+
|
33
|
+
expectation = {
|
34
|
+
'NX' => schematics.ss_nx,
|
35
|
+
'Constitution' => schematics.ss_constitution,
|
36
|
+
'Constitution - refit' => schematics.ss_const_refit,
|
37
|
+
'Excelsior' => schematics.ss_excelsior,
|
38
|
+
'Ambassador' => schematics.ss_ambassador,
|
39
|
+
'Galaxy' => schematics.ss_galaxy,
|
40
|
+
'Sovereign' => schematics.ss_sovereign,
|
41
|
+
'Intrepid' => schematics.ss_intrepid
|
42
|
+
}
|
43
|
+
|
44
|
+
assert_equal(expectation, StarShipBlueprints.new.gimme)
|
45
|
+
end
|
46
|
+
end
|
@@ -0,0 +1 @@
|
|
1
|
+
# TODO
|
@@ -0,0 +1,85 @@
|
|
1
|
+
require 'test/unit'
|
2
|
+
require 'uss-enterprise/blueprint.rb' # has its own test
|
3
|
+
|
4
|
+
# testing this
|
5
|
+
require 'uss-enterprise/ship_builders.rb'
|
6
|
+
|
7
|
+
class TestShipBuilder < Test::Unit::TestCase
|
8
|
+
include Blueprints
|
9
|
+
|
10
|
+
def test_initialize
|
11
|
+
|
12
|
+
#test initializing ShipBuilder with each of its possible inputs
|
13
|
+
expected_types = {
|
14
|
+
nil => Blueprints.new.gimme,
|
15
|
+
'SeaShip' => SeaShipBlueprints.new.gimme,
|
16
|
+
'OrbitalShip' => OrbitalShipBlueprints.new.gimme,
|
17
|
+
'StarShip' => StarShipBlueprints.new.gimme
|
18
|
+
}
|
19
|
+
|
20
|
+
expected_types.each do |type, b_prints|
|
21
|
+
ship_builder = ShipBuilder.new(type)
|
22
|
+
|
23
|
+
assert_equal(b_prints, ship_builder.available_blueprints)
|
24
|
+
end
|
25
|
+
|
26
|
+
# test bad input
|
27
|
+
ship_builder = ShipBuilder.new('foo')
|
28
|
+
assert_equal(nil, ship_builder.available_blueprints)
|
29
|
+
end
|
30
|
+
|
31
|
+
def test_define_blueprint
|
32
|
+
|
33
|
+
# test on sea subtype
|
34
|
+
sea_possible_prints = SeaShipBlueprints.new.gimme
|
35
|
+
sea_possible_prints.each do |name, b_print|
|
36
|
+
|
37
|
+
ship_builder = SeaShipBuilder.new
|
38
|
+
ship_builder.define_blueprint(name)
|
39
|
+
|
40
|
+
assert_equal(b_print, ship_builder.blueprint)
|
41
|
+
end
|
42
|
+
|
43
|
+
# test on orbital subtype
|
44
|
+
orb_possible_prints = OrbitalShipBlueprints.new.gimme
|
45
|
+
orb_possible_prints.each do |name, b_print|
|
46
|
+
|
47
|
+
ship_builder = OrbitalShipBuilder.new
|
48
|
+
ship_builder.define_blueprint(name)
|
49
|
+
|
50
|
+
assert_equal(b_print, ship_builder.blueprint)
|
51
|
+
end
|
52
|
+
|
53
|
+
# test on star subtype
|
54
|
+
star_possible_prints = StarShipBlueprints.new.gimme
|
55
|
+
star_possible_prints.each do |name, b_print|
|
56
|
+
|
57
|
+
ship_builder = StarShipBuilder.new
|
58
|
+
ship_builder.define_blueprint(name)
|
59
|
+
|
60
|
+
assert_equal(b_print, ship_builder.blueprint)
|
61
|
+
end
|
62
|
+
end
|
63
|
+
|
64
|
+
def test_build_it
|
65
|
+
expected_prints = {
|
66
|
+
'SeaShip' => SeaShipBlueprints.new.gimme,
|
67
|
+
'OrbitalShip' => OrbitalShipBlueprints.new.gimme,
|
68
|
+
'StarShip' => StarShipBlueprints.new.gimme
|
69
|
+
}
|
70
|
+
|
71
|
+
expected_prints.each do |type, possible_prints|
|
72
|
+
ship_builder = ShipBuilder.new(type)
|
73
|
+
|
74
|
+
possible_prints.each do |s_class, b_print|
|
75
|
+
ship_builder.define_blueprint(s_class)
|
76
|
+
|
77
|
+
out = capture_output do
|
78
|
+
ship_builder.build_it
|
79
|
+
end
|
80
|
+
|
81
|
+
assert_equal(b_print.chomp, out[0].chomp)
|
82
|
+
end
|
83
|
+
end
|
84
|
+
end
|
85
|
+
end
|
@@ -0,0 +1,58 @@
|
|
1
|
+
require 'test/unit'
|
2
|
+
require 'uss-enterprise/ship_builders.rb'
|
3
|
+
|
4
|
+
require 'uss-enterprise/ship_chooser.rb'
|
5
|
+
|
6
|
+
class TestShipChooser < Test::Unit::TestCase
|
7
|
+
|
8
|
+
def setup
|
9
|
+
@chooser = ShipChooser.new
|
10
|
+
end
|
11
|
+
|
12
|
+
def test_choose_ship_group
|
13
|
+
|
14
|
+
requests = {
|
15
|
+
#'random' => , # not sure how to test this
|
16
|
+
'StarShip' => StarShipBuilder.new,
|
17
|
+
'SeaShip' => SeaShipBuilder.new,
|
18
|
+
'OrbitalShip' => OrbitalShipBuilder.new
|
19
|
+
}
|
20
|
+
|
21
|
+
requests.each do |group, builder|
|
22
|
+
# assert against the available_blueprints attribute, because we don't want to assert that the addresses in memory are equal, just the values chosen by the choose_ship_group method
|
23
|
+
assert_equal(builder.available_blueprints, @chooser.choose_ship_group(group).available_blueprints)
|
24
|
+
end
|
25
|
+
|
26
|
+
# assert_include(requests.values, @chooser.choose_ship_group('random'))
|
27
|
+
end
|
28
|
+
|
29
|
+
def test_choose_ship_class
|
30
|
+
sea_classes = ['Sloop', 'Carrier']
|
31
|
+
orbital_classes = ['Spaceshuttle']
|
32
|
+
star_classes = ['NX', 'Constitution', 'Constitution - refit', 'Excelsior', 'Ambassador', 'Galaxy', 'Sovereign', 'Intrepid']
|
33
|
+
|
34
|
+
ship_groups = {
|
35
|
+
'SeaShip' => sea_classes,
|
36
|
+
'OrbitalShip' => orbital_classes,
|
37
|
+
'StarShip' => star_classes
|
38
|
+
}
|
39
|
+
|
40
|
+
ship_groups.each do |group, classes|
|
41
|
+
@chooser.choose_ship_group(group)
|
42
|
+
classes.each do |c|
|
43
|
+
@chooser.choose_ship_class(c)
|
44
|
+
|
45
|
+
assert_equal(c, @chooser.ship_class)
|
46
|
+
end
|
47
|
+
end
|
48
|
+
|
49
|
+
# test random ship class
|
50
|
+
ship_groups.each do |group, classes|
|
51
|
+
@chooser.choose_ship_group(group)
|
52
|
+
@chooser.choose_ship_class('random')
|
53
|
+
|
54
|
+
assert_include(classes, @chooser.ship_class)
|
55
|
+
end
|
56
|
+
end
|
57
|
+
|
58
|
+
end
|
@@ -0,0 +1 @@
|
|
1
|
+
# TODO
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: uss-enterprise
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.3.
|
4
|
+
version: 0.0.3.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Sean DMR
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-02-
|
11
|
+
date: 2017-02-10 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
13
|
description: Outputs ASCII art of different Enterprises
|
14
14
|
email:
|
@@ -19,14 +19,18 @@ extensions: []
|
|
19
19
|
extra_rdoc_files: []
|
20
20
|
files:
|
21
21
|
- bin/enterprise
|
22
|
-
- lib/
|
22
|
+
- lib/uss-enterprise.rb
|
23
23
|
- lib/uss-enterprise/blueprint.rb
|
24
24
|
- lib/uss-enterprise/interactions.rb
|
25
25
|
- lib/uss-enterprise/schematics.rb
|
26
26
|
- lib/uss-enterprise/ship_builders.rb
|
27
27
|
- lib/uss-enterprise/ship_chooser.rb
|
28
|
-
- lib/uss-enterprise.rb
|
29
28
|
- readme.md
|
29
|
+
- tests/test_blueprint.rb
|
30
|
+
- tests/test_interactions.rb
|
31
|
+
- tests/test_ship_builders.rb
|
32
|
+
- tests/test_ship_chooser.rb
|
33
|
+
- tests/test_uss-enterprise.rb
|
30
34
|
homepage: https://github.com/flyinggrizzly/uss-enterprise
|
31
35
|
licenses:
|
32
36
|
- GPL-3.0
|
@@ -37,18 +41,23 @@ require_paths:
|
|
37
41
|
- lib
|
38
42
|
required_ruby_version: !ruby/object:Gem::Requirement
|
39
43
|
requirements:
|
40
|
-
- -
|
44
|
+
- - ">="
|
41
45
|
- !ruby/object:Gem::Version
|
42
46
|
version: '0'
|
43
47
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
44
48
|
requirements:
|
45
|
-
- -
|
49
|
+
- - ">="
|
46
50
|
- !ruby/object:Gem::Version
|
47
51
|
version: '0'
|
48
52
|
requirements: []
|
49
53
|
rubyforge_project:
|
50
|
-
rubygems_version: 2.
|
54
|
+
rubygems_version: 2.6.8
|
51
55
|
signing_key:
|
52
56
|
specification_version: 4
|
53
57
|
summary: Outputs ASCII art of different Enterprises
|
54
|
-
test_files:
|
58
|
+
test_files:
|
59
|
+
- tests/test_blueprint.rb
|
60
|
+
- tests/test_ship_builders.rb
|
61
|
+
- tests/test_interactions.rb
|
62
|
+
- tests/test_ship_chooser.rb
|
63
|
+
- tests/test_uss-enterprise.rb
|
data/lib/test.rb
DELETED
@@ -1,18 +0,0 @@
|
|
1
|
-
ship = <<HEREDOC
|
2
|
-
__
|
3
|
-
_.-~` `~-.
|
4
|
-
_.--~~~---,.__ _.,;; . -=(@'`\\
|
5
|
-
.-` ``~~~~--~~` ';;; ____)
|
6
|
-
_.' '. ';;;;; '`_.'
|
7
|
-
.-~;` `\\ ' ';;;;;__.~`
|
8
|
-
.' .' `'. | / /;''
|
9
|
-
\\/ .---'''``) /'-._____.--'\\ \\
|
10
|
-
_/| (` / /` `\\ \\__
|
11
|
-
', `/- \\ \\ __/ (_ /-\\-\\-`
|
12
|
-
`;'-..___) | `/-\\-\\-`
|
13
|
-
`-. .'
|
14
|
-
`~~~~``
|
15
|
-
HEREDOC
|
16
|
-
|
17
|
-
|
18
|
-
puts ship
|