Skip to content

Commit e5c3c6e

Browse files
kytrinyxkotp
authored andcommitted
Get rid of scale name in scale-generator
The code does nothing interesting with the name of the scale. It's accepted as an argument to the initialize method, and then gets assigned to a value so that it can be read by the test.
1 parent 0fb4bb7 commit e5c3c6e

File tree

2 files changed

+18
-38
lines changed

2 files changed

+18
-38
lines changed

exercises/practice/scale-generator/.meta/example.rb

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -4,17 +4,12 @@ class Scale
44
FLAT_CHROMATIC_SCALE = %w(C Db D Eb E F Gb G Ab A Bb B)
55
FLAT_KEYS = %w(F Bb Eb Ab Db Gb d g c f bb eb)
66

7-
def initialize(tonic, scale_name, pattern = nil)
7+
def initialize(tonic, pattern = nil)
88
@tonic = tonic.capitalize
9-
@scale_name = scale_name
109
@pattern = pattern
1110
@chromatic_scale = FLAT_KEYS.include?(tonic) ? FLAT_CHROMATIC_SCALE : CHROMATIC_SCALE
1211
end
1312

14-
def name
15-
"#{tonic} #{scale_name}"
16-
end
17-
1813
def pitches
1914
return reorder_chromatic_scale unless pattern
2015
last_index = 0
@@ -26,7 +21,7 @@ def pitches
2621

2722
private
2823

29-
attr_reader :tonic, :scale_name, :pattern, :chromatic_scale
24+
attr_reader :tonic, :pattern, :chromatic_scale
3025

3126
def reorder_chromatic_scale
3227
return chromatic_scale if tonic == 'C'

exercises/practice/scale-generator/scale_generator_test.rb

Lines changed: 16 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -2,144 +2,129 @@
22
require_relative 'scale_generator'
33

44
class ScaleGeneratorTest < Minitest::Test
5-
def test_naming_scale
6-
chromatic = Scale.new('c', :chromatic)
7-
expected = 'C chromatic'
8-
actual = chromatic.name
9-
assert_equal expected, actual
10-
end
11-
125
def test_chromatic_scale
136
skip
14-
chromatic = Scale.new('C', :chromatic)
7+
chromatic = Scale.new('C')
158
expected = %w[C C# D D# E F F# G G# A A# B]
169
actual = chromatic.pitches
1710
assert_equal expected, actual
1811
end
1912

2013
def test_another_chromatic_scale
2114
skip
22-
chromatic = Scale.new('F', :chromatic)
15+
chromatic = Scale.new('F')
2316
expected = %w[F Gb G Ab A Bb B C Db D Eb E]
2417
actual = chromatic.pitches
2518
assert_equal expected, actual
2619
end
2720

28-
def test_naming_major_scale
29-
skip
30-
major = Scale.new('G', :major, 'MMmMMMm')
31-
expected = 'G major'
32-
actual = major.name
33-
assert_equal expected, actual
34-
end
35-
3621
def test_major_scale
3722
skip
38-
major = Scale.new('C', :major, 'MMmMMMm')
23+
major = Scale.new('C', 'MMmMMMm')
3924
expected = %w[C D E F G A B]
4025
actual = major.pitches
4126
assert_equal expected, actual
4227
end
4328

4429
def test_another_major_scale
4530
skip
46-
major = Scale.new('G', :major, 'MMmMMMm')
31+
major = Scale.new('G', 'MMmMMMm')
4732
expected = %w[G A B C D E F#]
4833
actual = major.pitches
4934
assert_equal expected, actual
5035
end
5136

5237
def test_minor_scale
5338
skip
54-
minor = Scale.new('f#', :minor, 'MmMMmMM')
39+
minor = Scale.new('f#', 'MmMMmMM')
5540
expected = %w[F# G# A B C# D E]
5641
actual = minor.pitches
5742
assert_equal expected, actual
5843
end
5944

6045
def test_another_minor_scale
6146
skip
62-
minor = Scale.new('bb', :minor, 'MmMMmMM')
47+
minor = Scale.new('bb', 'MmMMmMM')
6348
expected = %w[Bb C Db Eb F Gb Ab]
6449
actual = minor.pitches
6550
assert_equal expected, actual
6651
end
6752

6853
def test_dorian_mode
6954
skip
70-
dorian = Scale.new('d', :dorian, 'MmMMMmM')
55+
dorian = Scale.new('d', 'MmMMMmM')
7156
expected = %w[D E F G A B C]
7257
actual = dorian.pitches
7358
assert_equal expected, actual
7459
end
7560

7661
def test_mixolydian_mode
7762
skip
78-
mixolydian = Scale.new('Eb', :mixolydian, 'MMmMMmM')
63+
mixolydian = Scale.new('Eb', 'MMmMMmM')
7964
expected = %w[Eb F G Ab Bb C Db]
8065
actual = mixolydian.pitches
8166
assert_equal expected, actual
8267
end
8368

8469
def test_lydian_mode
8570
skip
86-
lydian = Scale.new('a', :lydian, 'MMMmMMm')
71+
lydian = Scale.new('a', 'MMMmMMm')
8772
expected = %w[A B C# D# E F# G#]
8873
actual = lydian.pitches
8974
assert_equal expected, actual
9075
end
9176

9277
def test_phrygian_mode
9378
skip
94-
phrygian = Scale.new('e', :phrygian, 'mMMMmMM')
79+
phrygian = Scale.new('e', 'mMMMmMM')
9580
expected = %w[E F G A B C D]
9681
actual = phrygian.pitches
9782
assert_equal expected, actual
9883
end
9984

10085
def test_locrian_mode
10186
skip
102-
locrian = Scale.new('g', :locrian, 'mMMmMMM')
87+
locrian = Scale.new('g', 'mMMmMMM')
10388
expected = %w[G Ab Bb C Db Eb F]
10489
actual = locrian.pitches
10590
assert_equal expected, actual
10691
end
10792

10893
def test_harmonic_minor
10994
skip
110-
harmonic_minor = Scale.new('d', :harmonic_minor, 'MmMMmAm')
95+
harmonic_minor = Scale.new('d', 'MmMMmAm')
11196
expected = %w[D E F G A Bb Db]
11297
actual = harmonic_minor.pitches
11398
assert_equal expected, actual
11499
end
115100

116101
def test_octatonic
117102
skip
118-
octatonic = Scale.new('C', :octatonic, 'MmMmMmMm')
103+
octatonic = Scale.new('C', 'MmMmMmMm')
119104
expected = %w[C D D# F F# G# A B]
120105
actual = octatonic.pitches
121106
assert_equal expected, actual
122107
end
123108

124109
def test_hexatonic
125110
skip
126-
hexatonic = Scale.new('Db', :hexatonic, 'MMMMMM')
111+
hexatonic = Scale.new('Db', 'MMMMMM')
127112
expected = %w[Db Eb F G A B]
128113
actual = hexatonic.pitches
129114
assert_equal expected, actual
130115
end
131116

132117
def test_pentatonic
133118
skip
134-
pentatonic = Scale.new('A', :pentatonic, 'MMAMA')
119+
pentatonic = Scale.new('A', 'MMAMA')
135120
expected = %w[A B C# E F#]
136121
actual = pentatonic.pitches
137122
assert_equal expected, actual
138123
end
139124

140125
def test_enigmatic
141126
skip
142-
enigmatic = Scale.new('G', :enigma, 'mAMMMmM')
127+
enigmatic = Scale.new('G', 'mAMMMmM')
143128
expected = %w[G G# B C# D# F F#]
144129
actual = enigmatic.pitches
145130
assert_equal expected, actual

0 commit comments

Comments
 (0)