midi-message 0.4.8 → 0.4.9
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/midi-message.rb +1 -1
- data/lib/midi-message/channel_message.rb +76 -53
- data/lib/midi-message/constant.rb +34 -7
- data/lib/midi-message/context.rb +11 -1
- data/lib/midi-message/message.rb +11 -3
- data/lib/midi-message/messages.rb +45 -15
- data/lib/midi-message/parser.rb +65 -22
- data/lib/midi-message/system_exclusive.rb +42 -22
- data/lib/midi-message/system_message.rb +3 -1
- data/test/constant_test.rb +81 -3
- data/test/context_test.rb +86 -82
- data/test/message_test.rb +28 -122
- data/test/messages_test.rb +139 -0
- data/test/parser_test.rb +1 -1
- data/test/system_exclusive_test.rb +245 -98
- data/test/system_message_test.rb +95 -55
- metadata +3 -3
- data/test/mutability_test.rb +0 -23
data/test/system_message_test.rb
CHANGED
@@ -1,65 +1,105 @@
|
|
1
1
|
require "helper"
|
2
2
|
|
3
|
-
class SystemMessageTest < Minitest::Test
|
4
|
-
|
5
|
-
def test_system_common
|
6
|
-
msg = MIDIMessage::SystemCommon.new(0x2, 0x00, 0x08)
|
7
|
-
assert_equal("Song Position Pointer", msg.name)
|
8
|
-
assert_equal(0xF, msg.status[0])
|
9
|
-
assert_equal(0x2, msg.status[1])
|
10
|
-
assert_equal(0x00, msg.data[0])
|
11
|
-
assert_equal(0x08, msg.data[1])
|
12
|
-
assert_equal([0xF2, 0x00, 0x08], msg.to_a)
|
13
|
-
assert_equal("F20008", msg.to_bytestr)
|
14
|
-
end
|
3
|
+
class MIDIMessage::SystemMessageTest < Minitest::Test
|
15
4
|
|
16
|
-
|
17
|
-
msg = MIDIMessage::SystemCommon.new(0xF2, 0x00, 0x08)
|
18
|
-
assert_equal("Song Position Pointer", msg.name)
|
19
|
-
assert_equal(0xF, msg.status[0])
|
20
|
-
assert_equal(0x2, msg.status[1])
|
21
|
-
assert_equal(0x00, msg.data[0])
|
22
|
-
assert_equal(0x08, msg.data[1])
|
23
|
-
assert_equal([0xF2, 0x00, 0x08], msg.to_a)
|
24
|
-
assert_equal("F20008", msg.to_bytestr)
|
25
|
-
end
|
5
|
+
context "SystemMessage" do
|
26
6
|
|
27
|
-
|
28
|
-
msg = MIDIMessage::SystemCommon["Song Position Pointer"].new(0x00, 0x08)
|
29
|
-
assert_equal("Song Position Pointer", msg.name)
|
30
|
-
assert_equal(0xF, msg.status[0])
|
31
|
-
assert_equal(0x2, msg.status[1])
|
32
|
-
assert_equal(0x00, msg.data[0])
|
33
|
-
assert_equal(0x08, msg.data[1])
|
34
|
-
assert_equal([0xF2, 0x00, 0x08], msg.to_a)
|
35
|
-
assert_equal("F20008", msg.to_bytestr)
|
36
|
-
end
|
7
|
+
context "#initialize" do
|
37
8
|
|
38
|
-
|
39
|
-
msg = MIDIMessage::SystemRealtime.new(0x8)
|
40
|
-
assert_equal("Clock", msg.name)
|
41
|
-
assert_equal(0xF, msg.status[0])
|
42
|
-
assert_equal(0x8, msg.status[1])
|
43
|
-
assert_equal([0xF8], msg.to_a)
|
44
|
-
assert_equal("F8", msg.to_bytestr)
|
45
|
-
end
|
9
|
+
context "common" do
|
46
10
|
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
11
|
+
context "normal" do
|
12
|
+
|
13
|
+
should "construct message" do
|
14
|
+
@message = MIDIMessage::SystemCommon.new(0x2, 0x00, 0x08)
|
15
|
+
assert_equal("Song Position Pointer", @message.name)
|
16
|
+
assert_equal(0xF, @message.status[0])
|
17
|
+
assert_equal(0x2, @message.status[1])
|
18
|
+
assert_equal(0x00, @message.data[0])
|
19
|
+
assert_equal(0x08, @message.data[1])
|
20
|
+
assert_equal([0xF2, 0x00, 0x08], @message.to_a)
|
21
|
+
assert_equal("F20008", @message.to_bytestr)
|
22
|
+
end
|
23
|
+
|
24
|
+
end
|
25
|
+
|
26
|
+
context "redundant" do
|
27
|
+
|
28
|
+
should "construct message" do
|
29
|
+
@message = MIDIMessage::SystemCommon.new(0xF2, 0x00, 0x08)
|
30
|
+
assert_equal("Song Position Pointer", @message.name)
|
31
|
+
assert_equal(0xF, @message.status[0])
|
32
|
+
assert_equal(0x2, @message.status[1])
|
33
|
+
assert_equal(0x00, @message.data[0])
|
34
|
+
assert_equal(0x08, @message.data[1])
|
35
|
+
assert_equal([0xF2, 0x00, 0x08], @message.to_a)
|
36
|
+
assert_equal("F20008", @message.to_bytestr)
|
37
|
+
end
|
38
|
+
|
39
|
+
end
|
40
|
+
|
41
|
+
context "with constant" do
|
42
|
+
|
43
|
+
should "construct message" do
|
44
|
+
@message = MIDIMessage::SystemCommon["Song Position Pointer"].new(0x00, 0x08)
|
45
|
+
assert_equal("Song Position Pointer", @message.name)
|
46
|
+
assert_equal(0xF, @message.status[0])
|
47
|
+
assert_equal(0x2, @message.status[1])
|
48
|
+
assert_equal(0x00, @message.data[0])
|
49
|
+
assert_equal(0x08, @message.data[1])
|
50
|
+
assert_equal([0xF2, 0x00, 0x08], @message.to_a)
|
51
|
+
assert_equal("F20008", @message.to_bytestr)
|
52
|
+
end
|
53
|
+
|
54
|
+
end
|
55
|
+
|
56
|
+
end
|
57
|
+
|
58
|
+
context "realtime" do
|
59
|
+
|
60
|
+
context "normal" do
|
61
|
+
|
62
|
+
should "construct message" do
|
63
|
+
@message = MIDIMessage::SystemRealtime.new(0x8)
|
64
|
+
assert_equal("Clock", @message.name)
|
65
|
+
assert_equal(0xF, @message.status[0])
|
66
|
+
assert_equal(0x8, @message.status[1])
|
67
|
+
assert_equal([0xF8], @message.to_a)
|
68
|
+
assert_equal("F8", @message.to_bytestr)
|
69
|
+
end
|
70
|
+
|
71
|
+
end
|
72
|
+
|
73
|
+
context "redundant" do
|
74
|
+
|
75
|
+
should "construct message" do
|
76
|
+
@message = MIDIMessage::SystemRealtime.new(0xF8)
|
77
|
+
assert_equal("Clock", @message.name)
|
78
|
+
assert_equal(0xF, @message.status[0])
|
79
|
+
assert_equal(0x8, @message.status[1])
|
80
|
+
assert_equal([0xF8], @message.to_a)
|
81
|
+
assert_equal("F8", @message.to_bytestr)
|
82
|
+
end
|
83
|
+
|
84
|
+
end
|
85
|
+
|
86
|
+
context "with constant" do
|
87
|
+
|
88
|
+
should "construct message" do
|
89
|
+
@message = MIDIMessage::SystemRealtime["Clock"].new
|
90
|
+
assert_equal("Clock", @message.name)
|
91
|
+
assert_equal(0xF, @message.status[0])
|
92
|
+
assert_equal(0x8, @message.status[1])
|
93
|
+
assert_equal([0xF8], @message.to_a)
|
94
|
+
assert_equal("F8", @message.to_bytestr)
|
95
|
+
end
|
96
|
+
|
97
|
+
end
|
98
|
+
|
99
|
+
end
|
100
|
+
|
101
|
+
end
|
55
102
|
|
56
|
-
def test_system_realtime_constant
|
57
|
-
msg = MIDIMessage::SystemRealtime["Clock"].new
|
58
|
-
assert_equal("Clock", msg.name)
|
59
|
-
assert_equal(0xF, msg.status[0])
|
60
|
-
assert_equal(0x8, msg.status[1])
|
61
|
-
assert_equal([0xF8], msg.to_a)
|
62
|
-
assert_equal("F8", msg.to_bytestr)
|
63
103
|
end
|
64
104
|
|
65
105
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: midi-message
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.4.
|
4
|
+
version: 0.4.9
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ari Russo
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-05-
|
11
|
+
date: 2015-05-05 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: minitest
|
@@ -115,7 +115,7 @@ files:
|
|
115
115
|
- test/context_test.rb
|
116
116
|
- test/helper.rb
|
117
117
|
- test/message_test.rb
|
118
|
-
- test/
|
118
|
+
- test/messages_test.rb
|
119
119
|
- test/parser_test.rb
|
120
120
|
- test/system_exclusive_test.rb
|
121
121
|
- test/system_message_test.rb
|
data/test/mutability_test.rb
DELETED
@@ -1,23 +0,0 @@
|
|
1
|
-
require "helper"
|
2
|
-
|
3
|
-
class MutabilityTest < Minitest::Test
|
4
|
-
|
5
|
-
def test_note
|
6
|
-
msg = MIDIMessage::NoteOn["E4"].new(0, 100)
|
7
|
-
assert_equal(0x40, msg.note)
|
8
|
-
assert_equal("E4", msg.name)
|
9
|
-
msg.note += 5
|
10
|
-
assert_equal(0x45, msg.note)
|
11
|
-
assert_equal("A4", msg.name)
|
12
|
-
end
|
13
|
-
|
14
|
-
def test_octave
|
15
|
-
msg = MIDIMessage::NoteOn["E4"].new(0, 100)
|
16
|
-
assert_equal(0x40, msg.note)
|
17
|
-
assert_equal("E4", msg.name)
|
18
|
-
msg.octave += 1
|
19
|
-
assert_equal(0x4C, msg.note)
|
20
|
-
assert_equal("E5", msg.name)
|
21
|
-
end
|
22
|
-
|
23
|
-
end
|