First major code push

Preparing for version 0.1.0
Contains a real README, the test framework, and the API implementation
This commit is contained in:
densestvoid
2020-07-29 22:20:57 -04:00
parent d015059acc
commit 31885d2726
32 changed files with 4555 additions and 2 deletions

60
data_types_test.go Normal file
View File

@ -0,0 +1,60 @@
package groupme
import (
"testing"
"time"
"github.com/stretchr/testify/suite"
)
type DataTypesSuite struct {
suite.Suite
}
func (s *DataTypesSuite) TestID_Valid_True() {
var id ID = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
s.Assert().True(id.Valid())
}
func (s *DataTypesSuite) TestID_Valid_False() {
var id ID = "`~!@#$%^&*()_-+={[}]:;\"'<,>.?/|\\"
s.Assert().False(id.Valid())
}
func (s *DataTypesSuite) TestTimestamp_FromTime() {
t := time.Date(1970, time.January, 1, 0, 0, 0, 0, time.UTC)
expected := Timestamp(0)
actual := FromTime(t)
s.Assert().EqualValues(expected, actual)
}
func (s *DataTypesSuite) TestTimestamp_ToTime() {
t := Timestamp(0)
expected := time.Date(1970, time.January, 1, 0, 0, 0, 0, time.UTC)
actual := t.ToTime()
s.Assert().EqualValues(expected, actual)
}
func (s *DataTypesSuite) TestPhoneNumber_Valid_True() {
var pn PhoneNumber = "+1 0123456789"
s.Assert().True(pn.Valid())
}
func (s *DataTypesSuite) TestPhoneNumber_Valid_NoPlus() {
var pn PhoneNumber = "1 0123456789"
s.Assert().False(pn.Valid())
}
func (s *DataTypesSuite) TestPhoneNumber_Valid_NoSpace() {
var pn PhoneNumber = "+10123456789"
s.Assert().False(pn.Valid())
}
func (s *DataTypesSuite) TestPhoneNumber_Valid_BadLength() {
var pn PhoneNumber = "+1 01234567890"
s.Assert().False(pn.Valid())
}
func TestDataTypesSuite(t *testing.T) {
suite.Run(t, new(DataTypesSuite))
}