package communication import ( "reflect" "testing" ) func TestUnslip(t *testing.T) { input := []byte{ 0xFF, 0x12, SLIP_END, } bytes := make(chan byte) frames := make(chan []byte) go func() { for _, v := range input { bytes <- v } }() go func() { for { frames <- unslip(bytes) } }() frame := <-frames expected := []byte{0xFF, 0x12} if !reflect.DeepEqual(frame, expected) { t.Fatalf("Frame '%v' does not match expected '%v'\n", frame, expected) } }