github.com/evanlouie/fabrikate@v0.17.4/cmd/remove_test.go (about) 1 package cmd 2 3 import ( 4 "testing" 5 6 "github.com/evanlouie/fabrikate/core" 7 "github.com/stretchr/testify/assert" 8 ) 9 10 func TestRemove(t *testing.T) { 11 root := core.Component{ 12 Name: "root", 13 } 14 subcomponentC := core.Component{ 15 Name: "subcomponentC", 16 } 17 subcomponentA := core.Component{ 18 Name: "subcomponentA", 19 } 20 subcomponentB := core.Component{ 21 Name: "subcomponentB", 22 } 23 24 assert.Nil(t, root.AddSubcomponent(subcomponentC, subcomponentA, subcomponentB)) 25 assert.True(t, len(root.Subcomponents) == 3) // There should be 3 subcomponents 26 27 assert.Nil(t, root.RemoveSubcomponent(subcomponentB)) 28 assert.True(t, len(root.Subcomponents) == 2) // There should be 2 subcomponents 29 assert.True(t, root.Subcomponents[0].Name == "subcomponentA") // "subcomponentA" should be first after sorting 30 assert.True(t, root.Subcomponents[1].Name == "subcomponentC") // "subcomponentC" should be second after sorting 31 }