123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687 |
- #include <ArduinoUnit.h>
- #include <OSCMessage.h>
- test(message_address_match){
- OSCMessage msg("/a/0");
- assertEqual(msg.match("/a"), 2);
- assertEqual(msg.match("/a/0"), 4);
- }
- test(message_address_match_offset){
- OSCMessage msg("/a/0");
- assertEqual(msg.match("/0", 2), 2);
- assertEqual(msg.match("/1", 2), 0);
- }
- test(message_address_match_range){
- OSCMessage msg("/[a-z]/0");
- assertEqual(msg.match("/a"), 6);
- assertEqual(msg.match("/b/0"), 8);
- }
- test(message_address_match_or){
- OSCMessage msg("/{a,b}/0");
- assertEqual(msg.match("/a/0"), 8);
- assertEqual(msg.match("/b/0"), 8);
- assertEqual(msg.match("/c/0"), 0);
- }
- test(message_address_match_char){
- OSCMessage msg("/a/?");
- assertEqual(msg.match("/a/0"), 4);
- assertEqual(msg.match("/a/1"), 4);
- assertEqual(msg.match("/a/10"), 0);
- }
- test(message_address_match_star){
- OSCMessage msg("/a/*");
- assertEqual(msg.match("/a/0"), 4);
- assertEqual(msg.match("/a/10"), 4);
- assertEqual(msg.match("/a/100"), 4);
- }
- test(message_address_fullMatch){
- OSCMessage msg("/a/0");
- assertTrue(msg.fullMatch("/a/0"));
- assertFalse(msg.fullMatch("/a/1"));
- assertTrue(msg.fullMatch("/0", 2));
- }
- void dispatchMsg(OSCMessage &m){
- assertTrue(m.isInt(0));
- assertEqual(m.getInt(0), 1);
- }
- test(message_address_dispatch){
- OSCMessage msg("/a/[0-9]");
- msg.add(1);
- assertTrue(msg.dispatch("/a/0", dispatchMsg));
- assertTrue(msg.dispatch("/1", dispatchMsg, 2));
- }
- void routeMsg(OSCMessage &m, int offset){
- assertTrue(m.isInt(0));
- assertEqual(m.getInt(0), 2);
- assertEqual(offset, 2);
- }
- test(message_address_route){
- OSCMessage msg("/?/[0-9]");
- msg.add(2);
- assertTrue(msg.route("/a", routeMsg));
- assertTrue(msg.route("/b", routeMsg));
- }
- void setup()
- {
- Serial.begin(9600);
- while(!Serial); // for the Arduino Leonardo/Micro only
- }
- void loop()
- {
- Test::run();
- }
|