github.com/enbility/spine-go@v0.7.0/model/usecaseinformation_additions_test.go_temp (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 TestUsecaseInformationSuite(t *testing.T) {
    12  	suite.Run(t, new(UsecaseInformationSuite))
    13  }
    14  
    15  type UsecaseInformationSuite struct {
    16  	suite.Suite
    17  }
    18  
    19  func (s *UsecaseInformationSuite) Test_UpdateList() {
    20  	sut := UseCaseInformationListDataType{
    21  		UseCaseInformationData: []UseCaseInformationDataType{
    22  			{
    23  				Actor: util.Ptr(UseCaseActorTypeEVSE),
    24  				UseCaseSupport: []UseCaseSupportType{
    25  					{
    26  						UseCaseName:      util.Ptr(UseCaseNameTypeEVSECommissioningAndConfiguration),
    27  						UseCaseVersion:   util.Ptr(SpecificationVersionType("1.0.0")),
    28  						UseCaseAvailable: util.Ptr(true),
    29  						ScenarioSupport: []UseCaseScenarioSupportType{
    30  							1, 2, 3, 4, 5,
    31  						},
    32  					},
    33  				},
    34  			},
    35  		},
    36  	}
    37  
    38  	newData := UseCaseInformationListDataType{
    39  		UseCaseInformationData: []UseCaseInformationDataType{
    40  			{
    41  				Actor: util.Ptr(UseCaseActorTypeEVSE),
    42  				UseCaseSupport: []UseCaseSupportType{
    43  					{
    44  						UseCaseName:      util.Ptr(UseCaseNameTypeEVSECommissioningAndConfiguration),
    45  						UseCaseVersion:   util.Ptr(SpecificationVersionType("1.0.1")),
    46  						UseCaseAvailable: util.Ptr(true),
    47  						ScenarioSupport: []UseCaseScenarioSupportType{
    48  							1, 2, 3, 4, 5,
    49  						},
    50  					},
    51  				},
    52  			},
    53  			{
    54  				Actor: util.Ptr(UseCaseActorTypeEV),
    55  				UseCaseSupport: []UseCaseSupportType{
    56  					{
    57  						UseCaseName:      util.Ptr(UseCaseNameTypeEVCommissioningAndConfiguration),
    58  						UseCaseVersion:   util.Ptr(SpecificationVersionType("1.0.0")),
    59  						UseCaseAvailable: util.Ptr(true),
    60  						ScenarioSupport: []UseCaseScenarioSupportType{
    61  							1, 2, 3, 4, 5,
    62  						},
    63  					},
    64  				},
    65  			},
    66  		},
    67  	}
    68  
    69  	data := sut.UseCaseInformationData
    70  	// check properties of updated item
    71  	item1 := data[0]
    72  	assert.NotNil(s.T(), item1)
    73  
    74  	// Act
    75  	sut.UpdateList(false, &newData, NewFilterTypePartial(), nil)
    76  
    77  	data = sut.UseCaseInformationData
    78  	// check properties of updated item
    79  	item1 = data[0]
    80  	assert.NotNil(s.T(), item1)
    81  }