github.com/enbility/spine-go@v0.7.0/model/usecaseinformation_additions_test.go (about) 1 package model 2 3 import ( 4 "testing" 5 6 "github.com/enbility/spine-go/util" 7 "github.com/stretchr/testify/assert" 8 "github.com/stretchr/testify/suite" 9 ) 10 11 func TestUseCaseInformationDataTypeSuite(t *testing.T) { 12 suite.Run(t, new(UseCaseInformationDataTypeSuite)) 13 } 14 15 type UseCaseInformationDataTypeSuite struct { 16 suite.Suite 17 } 18 19 func (s *UseCaseInformationDataTypeSuite) Test_AdditionsAndRemovals() { 20 ucs := &UseCaseInformationDataType{} 21 assert.NotNil(s.T(), ucs) 22 assert.Equal(s.T(), 0, len(ucs.UseCaseSupport)) 23 24 uc := UseCaseSupportType{} 25 ucs.Add(uc) 26 assert.Equal(s.T(), 0, len(ucs.UseCaseSupport)) 27 28 uc = UseCaseSupportType{ 29 UseCaseName: util.Ptr(UseCaseNameTypeControlOfBattery), 30 } 31 ucs.Add(uc) 32 assert.Equal(s.T(), 1, len(ucs.UseCaseSupport)) 33 34 ucs.Add(uc) 35 assert.Equal(s.T(), 1, len(ucs.UseCaseSupport)) 36 37 ucs.Remove(UseCaseNameTypeCoordinatedEVCharging) 38 assert.Equal(s.T(), 1, len(ucs.UseCaseSupport)) 39 40 ucs.Remove(UseCaseNameTypeControlOfBattery) 41 assert.Equal(s.T(), 0, len(ucs.UseCaseSupport)) 42 }