FazBrowse GitHub Viewer
|
Trending
|
URL:
|
Home
Tools:
[Download Repo ZIP]
[View Raw Code]
[Original HTTPS Page]
python-osc/pythonosc/test/test_osc_message_builder.py at main · Ifytech18/python-osc · GitHub
Ifytech18
/
python-osc
Public
forked from
attwad/python-osc
Notifications
You must be signed in to change notification settings
Fork
0
Star
1
Code
Pull requests
0
Actions
Projects
Security and quality
0
Insights
Additional navigation options
Code
Pull requests
Actions
Projects
Security and quality
Insights
Expand file tree
Breadcrumbs
python-osc
/
pythonosc
/
test
/
test_osc_message_builder.py
Copy path
More file actions
More file actions
Latest commit
History
History
History
102 lines (89 loc) · 3.89 KB
Breadcrumbs
python-osc
/
pythonosc
/
test
/
test_osc_message_builder.py
Copy path
File metadata and controls
102 lines (89 loc) · 3.89 KB
Raw
Copy raw file
Download raw file
Open symbols panel
Edit and raw actions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
import
unittest
from
pythonosc
import
osc_message_builder
class
TestOscMessageBuilder
(
unittest
.
TestCase
):
def
test_just_address
(
self
):
msg
=
osc_message_builder
.
OscMessageBuilder
(
"/a/b/c"
).
build
()
self
.
assertEqual
(
"/a/b/c"
,
msg
.
address
)
self
.
assertEqual
([],
msg
.
params
)
# Messages with just an address should still contain the ",".
self
.
assertEqual
(
b"/a/b/c
\x00
\x00
,
\x00
\x00
\x00
"
,
msg
.
dgram
)
def
test_no_address_raises
(
self
):
builder
=
osc_message_builder
.
OscMessageBuilder
(
""
)
self
.
assertRaises
(
osc_message_builder
.
BuildError
,
builder
.
build
)
def
test_wrong_param_raise
(
self
):
builder
=
osc_message_builder
.
OscMessageBuilder
(
""
)
self
.
assertRaises
(
ValueError
,
builder
.
add_arg
,
"what?"
,
1
)
def
test_add_arg_invalid_inferred_type
(
self
):
builder
=
osc_message_builder
.
OscMessageBuilder
(
""
)
self
.
assertRaises
(
ValueError
,
builder
.
add_arg
, {
"name"
:
"John"
})
def
test_all_param_types
(
self
):
builder
=
osc_message_builder
.
OscMessageBuilder
(
address
=
"/SYNC"
)
builder
.
add_arg
(
4.0
)
builder
.
add_arg
(
2
)
builder
.
add_arg
(
1099511627776
)
builder
.
add_arg
(
"value"
)
builder
.
add_arg
(
True
)
builder
.
add_arg
(
False
)
builder
.
add_arg
(
b"
\x01
\x02
\x03
"
)
builder
.
add_arg
([
1
, [
"abc"
]])
builder
.
add_arg
(
None
)
# The same args but with explicit types.
builder
.
add_arg
(
4.0
,
builder
.
ARG_TYPE_FLOAT
)
builder
.
add_arg
(
2
,
builder
.
ARG_TYPE_INT
)
builder
.
add_arg
(
1099511627776
,
builder
.
ARG_TYPE_INT64
)
builder
.
add_arg
(
"value"
,
builder
.
ARG_TYPE_STRING
)
builder
.
add_arg
(
True
)
builder
.
add_arg
(
False
)
builder
.
add_arg
(
b"
\x01
\x02
\x03
"
,
builder
.
ARG_TYPE_BLOB
)
builder
.
add_arg
([
1
, [
"abc"
]], [
builder
.
ARG_TYPE_INT
, [
builder
.
ARG_TYPE_STRING
]])
builder
.
add_arg
(
None
,
builder
.
ARG_TYPE_NIL
)
builder
.
add_arg
(
4278255360
,
builder
.
ARG_TYPE_RGBA
)
builder
.
add_arg
((
1
,
145
,
36
,
125
),
builder
.
ARG_TYPE_MIDI
)
builder
.
add_arg
(
1e-9
,
builder
.
ARG_TYPE_DOUBLE
)
self
.
assertEqual
(
len
(
"fihsTFb[i[s]]N"
)
*
2
+
3
,
len
(
builder
.
args
))
self
.
assertEqual
(
"/SYNC"
,
builder
.
address
)
builder
.
address
=
"/SEEK"
msg
=
builder
.
build
()
self
.
assertEqual
(
"/SEEK"
,
msg
.
address
)
self
.
assertSequenceEqual
(
[
4.0
,
2
,
1099511627776
,
"value"
,
True
,
False
,
b"
\x01
\x02
\x03
"
,
[
1
, [
"abc"
]],
None
,
]
*
2
+
[
4278255360
, (
1
,
145
,
36
,
125
),
1e-9
],
msg
.
params
,
)
def
test_long_list
(
self
):
huge_list
=
list
(
range
(
512
))
builder
=
osc_message_builder
.
OscMessageBuilder
(
address
=
"/SYNC"
)
builder
.
add_arg
(
huge_list
)
msg
=
builder
.
build
()
print
(
msg
.
_dgram
)
self
.
assertSequenceEqual
([
huge_list
],
msg
.
params
)
def
test_build_wrong_type_raises
(
self
):
builder
=
osc_message_builder
.
OscMessageBuilder
(
address
=
"/SYNC"
)
builder
.
add_arg
(
"this is not a float"
,
builder
.
ARG_TYPE_FLOAT
)
self
.
assertRaises
(
osc_message_builder
.
BuildError
,
builder
.
build
)
def
test_build_noarg_message
(
self
):
msg
=
osc_message_builder
.
OscMessageBuilder
(
address
=
"/SYNC"
).
build
()
# This reference message was generated with Cycling 74's Max software
# and then was intercepted with Wireshark
reference
=
bytearray
.
fromhex
(
"2f53594e430000002c000000"
)
self
.
assertSequenceEqual
(
msg
.
_dgram
,
reference
)
def
test_bool_encoding
(
self
):
builder
=
osc_message_builder
.
OscMessageBuilder
(
""
)
builder
.
add_arg
(
0
)
builder
.
add_arg
(
1
)
builder
.
add_arg
(
False
)
builder
.
add_arg
(
True
)
self
.
assertEqual
(
builder
.
args
, [(
"i"
,
0
), (
"i"
,
1
), (
"F"
,
False
), (
"T"
,
True
)])
if
__name__
==
"__main__"
:
unittest
.
main
()
Back
|
FazBrowse Home
|
New Git URL