src.dualinventive.com/go/lib/cp3000/cp3000_internal_test.go

42 lines
1.4 KiB
Go

package cp3000
import (
"bytes"
"fmt"
"testing"
"github.com/stretchr/testify/assert"
)
func TestCalcChecksum(t *testing.T) {
var buffer bytes.Buffer
fmt.Fprintf(&buffer, `$00`)
assert.Equal(t, uint8(0x00), calcChecksum(buffer), `Expected checksum of $00 equals to 00`)
buffer.Reset()
fmt.Fprintf(&buffer, `$SENDSMS,"0655866244","I still know what you did last summer"`)
assert.Equal(t, uint8(0x5C), calcChecksum(buffer), `Expected checksum of \"$SENDSMS,"0655866244","I still know what you
did last summer"\" equals to 5C`)
buffer.Reset()
fmt.Fprintf(&buffer, `$SENDSMS,"I still know what you did last summer","0629584133"`)
assert.Equal(t, uint8(0x55), calcChecksum(buffer), `Expected checksum of \"$SENDSMS,"0629584133","I still know what you
did last summer"\" equals to 55.`)
buffer.Reset()
fmt.Fprintf(&buffer, `$SENDSMS,"0629584133","Rik is cool"`)
assert.Equal(t, uint8(0x11), calcChecksum(buffer), `Expected checksum of \"$SENDSMS,"0629584133","Rik is cool"\"
equals to 11.`)
buffer.Reset()
fmt.Fprintf(&buffer, `SENDSMS,"0629584133","Rik is cool"*`)
assert.Equal(t, uint8(0x11), calcChecksum(buffer), `Expected checksum of \"SENDSMS,"0629584133","Rik is cool*"\"
equals to 11.`)
buffer.Reset()
fmt.Fprintf(&buffer, `SENDSMS,"0629584133","Rik i*s cool"*`)
assert.Equal(t, uint8(0x3b), calcChecksum(buffer), `Expected checksum of \"SENDSMS,"0629584133","Rik i*s cool*"\"
equals to 3b.`)
}