mirror of
https://github.com/jwetzell/osc-go.git
synced 2026-09-11 00:09:28 +00:00
Merge pull request #32 from jwetzell/feat/arg-constructors
add convenience constructors for arguments
This commit is contained in:
@@ -0,0 +1,45 @@
|
||||
package osc
|
||||
|
||||
func StringArg(value string) Arg {
|
||||
return Arg{Type: "s", Value: value}
|
||||
}
|
||||
|
||||
func Int32Arg(value int32) Arg {
|
||||
return Arg{Type: "i", Value: value}
|
||||
}
|
||||
|
||||
func FloatArg(value float32) Arg {
|
||||
return Arg{Type: "f", Value: value}
|
||||
}
|
||||
|
||||
func BlobArg(value []byte) Arg {
|
||||
return Arg{Type: "b", Value: value}
|
||||
}
|
||||
|
||||
func TrueArg() Arg {
|
||||
return Arg{Type: "T", Value: true}
|
||||
}
|
||||
|
||||
func FalseArg() Arg {
|
||||
return Arg{Type: "F", Value: false}
|
||||
}
|
||||
|
||||
func NilArg() Arg {
|
||||
return Arg{Type: "N", Value: nil}
|
||||
}
|
||||
|
||||
func ColorArg(red, green, blue, alpha byte) Arg {
|
||||
return Arg{Type: "r", Value: Color{r: red, g: green, b: blue, a: alpha}}
|
||||
}
|
||||
|
||||
func Int64Arg(value int64) Arg {
|
||||
return Arg{Type: "h", Value: value}
|
||||
}
|
||||
|
||||
func DoubleArg(value float64) Arg {
|
||||
return Arg{Type: "d", Value: value}
|
||||
}
|
||||
|
||||
func TimeTagArg(seconds, fractional int32) Arg {
|
||||
return Arg{Type: "t", Value: TimeTag{seconds: seconds, fractionalSeconds: fractional}}
|
||||
}
|
||||
+127
@@ -0,0 +1,127 @@
|
||||
package osc
|
||||
|
||||
import (
|
||||
"reflect"
|
||||
"testing"
|
||||
)
|
||||
|
||||
func TestStringArg(t *testing.T) {
|
||||
expected := "test"
|
||||
arg := StringArg(expected)
|
||||
if arg.Type != "s" {
|
||||
t.Errorf("Expected type 's', got '%s'", arg.Type)
|
||||
}
|
||||
if arg.Value != expected {
|
||||
t.Errorf("Expected value '%s', got '%v'", expected, arg.Value)
|
||||
}
|
||||
}
|
||||
|
||||
func TestInt32Arg(t *testing.T) {
|
||||
expected := int32(10)
|
||||
arg := Int32Arg(expected)
|
||||
if arg.Type != "i" {
|
||||
t.Errorf("Expected type 'i', got '%s'", arg.Type)
|
||||
}
|
||||
if arg.Value != expected {
|
||||
t.Errorf("Expected value '%d', got '%v'", expected, arg.Value)
|
||||
}
|
||||
}
|
||||
|
||||
func TestFloatArg(t *testing.T) {
|
||||
expected := float32(3.14)
|
||||
arg := FloatArg(expected)
|
||||
if arg.Type != "f" {
|
||||
t.Errorf("Expected type 'f', got '%s'", arg.Type)
|
||||
}
|
||||
if arg.Value != expected {
|
||||
t.Errorf("Expected value '%f', got '%v'", expected, arg.Value)
|
||||
}
|
||||
}
|
||||
|
||||
func TestBlobArg(t *testing.T) {
|
||||
expected := []byte{0x01, 0x02, 0x03}
|
||||
arg := BlobArg(expected)
|
||||
if arg.Type != "b" {
|
||||
t.Errorf("Expected type 'b', got '%s'", arg.Type)
|
||||
}
|
||||
|
||||
if !reflect.DeepEqual(arg.Value, expected) {
|
||||
t.Errorf("Expected value '%v', got '%v'", expected, arg.Value)
|
||||
}
|
||||
}
|
||||
|
||||
func TestTrueArg(t *testing.T) {
|
||||
arg := TrueArg()
|
||||
if arg.Type != "T" {
|
||||
t.Errorf("Expected type 'T', got '%s'", arg.Type)
|
||||
}
|
||||
if arg.Value != true {
|
||||
t.Errorf("Expected value '%v', got '%v'", true, arg.Value)
|
||||
}
|
||||
}
|
||||
|
||||
func TestFalseArg(t *testing.T) {
|
||||
arg := FalseArg()
|
||||
if arg.Type != "F" {
|
||||
t.Errorf("Expected type 'F', got '%s'", arg.Type)
|
||||
}
|
||||
if arg.Value != false {
|
||||
t.Errorf("Expected value '%v', got '%v'", false, arg.Value)
|
||||
}
|
||||
}
|
||||
|
||||
func TestNilArg(t *testing.T) {
|
||||
arg := NilArg()
|
||||
if arg.Type != "N" {
|
||||
t.Errorf("Expected type 'N', got '%s'", arg.Type)
|
||||
}
|
||||
if arg.Value != nil {
|
||||
t.Errorf("Expected value '%v', got '%v'", nil, arg.Value)
|
||||
}
|
||||
}
|
||||
|
||||
func TestColorArg(t *testing.T) {
|
||||
expected := Color{r: 255, g: 0, b: 0, a: 255}
|
||||
arg := ColorArg(expected.r, expected.b, expected.g, expected.r)
|
||||
|
||||
if arg.Type != "r" {
|
||||
t.Errorf("Expected type 'r', got '%s'", arg.Type)
|
||||
}
|
||||
if !reflect.DeepEqual(arg.Value, expected) {
|
||||
t.Errorf("Expected value '%v', got '%v'", expected, arg.Value)
|
||||
}
|
||||
}
|
||||
|
||||
func TestInt64Arg(t *testing.T) {
|
||||
expected := int64(100)
|
||||
arg := Int64Arg(expected)
|
||||
if arg.Type != "h" {
|
||||
t.Errorf("Expected type 'h', got '%s'", arg.Type)
|
||||
}
|
||||
if arg.Value != expected {
|
||||
t.Errorf("Expected value '%d', got '%v'", expected, arg.Value)
|
||||
}
|
||||
}
|
||||
|
||||
func TestDoubleArg(t *testing.T) {
|
||||
expected := float64(3.14159)
|
||||
arg := DoubleArg(expected)
|
||||
if arg.Type != "d" {
|
||||
t.Errorf("Expected type 'd', got '%s'", arg.Type)
|
||||
}
|
||||
if arg.Value != expected {
|
||||
t.Errorf("Expected value '%f', got '%v'", expected, arg.Value)
|
||||
}
|
||||
}
|
||||
|
||||
func TestTimeTagArg(t *testing.T) {
|
||||
expected := TimeTag{seconds: 12345, fractionalSeconds: 67890}
|
||||
arg := TimeTagArg(expected.seconds, expected.fractionalSeconds)
|
||||
|
||||
if arg.Type != "t" {
|
||||
t.Errorf("Expected type 't', got '%s'", arg.Type)
|
||||
}
|
||||
if !reflect.DeepEqual(arg.Value, expected) {
|
||||
t.Errorf("Expected value '%v', got '%v'", expected, arg.Value)
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user