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.`) }