Skip to content

Commit

Permalink
removed "desc" from factory methods
Browse files Browse the repository at this point in the history
  • Loading branch information
FerroO2000 committed Apr 12, 2024
1 parent e158e38 commit 1ecc779
Show file tree
Hide file tree
Showing 19 changed files with 316 additions and 326 deletions.
30 changes: 15 additions & 15 deletions attribute.go
Original file line number Diff line number Diff line change
Expand Up @@ -139,9 +139,9 @@ type attribute struct {
references *set[EntityID, *AttributeRef]
}

func newAttribute(name, desc string, kind AttributeKind) *attribute {
func newAttribute(name string, kind AttributeKind) *attribute {
return &attribute{
entity: newEntity(name, desc),
entity: newEntity(name),

kind: kind,

Expand Down Expand Up @@ -188,11 +188,11 @@ type StringAttribute struct {
defValue string
}

// NewStringAttribute creates a new [StringAttribute] with the given name, description,
// NewStringAttribute creates a new [StringAttribute] with the given name,
// and default value.
func NewStringAttribute(name, desc, defValue string) *StringAttribute {
func NewStringAttribute(name, defValue string) *StringAttribute {
return &StringAttribute{
attribute: newAttribute(name, desc, AttributeKindString),
attribute: newAttribute(name, AttributeKindString),

defValue: defValue,
}
Expand Down Expand Up @@ -245,11 +245,11 @@ type IntegerAttribute struct {
isHexFormat bool
}

// NewIntegerAttribute creates a new [IntegerAttribute] with the given name, description,
// NewIntegerAttribute creates a new [IntegerAttribute] with the given name,
// default value, min, and max.
// It may return an error if the default value is out of the min/max range,
// or if the min value is greater then the max value.
func NewIntegerAttribute(name, desc string, defValue, min, max int) (*IntegerAttribute, error) {
func NewIntegerAttribute(name string, defValue, min, max int) (*IntegerAttribute, error) {
if min > max {
return nil, fmt.Errorf("min value cannot be greater then max value")
}
Expand All @@ -259,7 +259,7 @@ func NewIntegerAttribute(name, desc string, defValue, min, max int) (*IntegerAtt
}

return &IntegerAttribute{
attribute: newAttribute(name, desc, AttributeKindInteger),
attribute: newAttribute(name, AttributeKindInteger),

defValue: defValue,
min: min,
Expand Down Expand Up @@ -337,11 +337,11 @@ type FloatAttribute struct {
max float64
}

// NewFloatAttribute creates a new [FloatAttribute] with the given name, description,
// NewFloatAttribute creates a new [FloatAttribute] with the given name,
// default value, min, and max.
// It may return an error if the default value is out of the min/max range,
// or if the min value is greater then the max value.
func NewFloatAttribute(name, desc string, defValue, min, max float64) (*FloatAttribute, error) {
func NewFloatAttribute(name string, defValue, min, max float64) (*FloatAttribute, error) {
if min > max {
return nil, fmt.Errorf("min value cannot be greater then max value")
}
Expand All @@ -351,7 +351,7 @@ func NewFloatAttribute(name, desc string, defValue, min, max float64) (*FloatAtt
}

return &FloatAttribute{
attribute: newAttribute(name, desc, AttributeKindFloat),
attribute: newAttribute(name, AttributeKindFloat),

defValue: defValue,
min: min,
Expand Down Expand Up @@ -416,10 +416,10 @@ type EnumAttribute struct {
values *set[string, int]
}

// NewEnumAttribute creates a new [EnumAttribute] with the given name, description,
// and values. The first value is always selected as the default one.
// NewEnumAttribute creates a new [EnumAttribute] with the given name and values.
// The first value is always selected as the default one.
// It may return an error if no values are passed.
func NewEnumAttribute(name, desc string, values ...string) (*EnumAttribute, error) {
func NewEnumAttribute(name string, values ...string) (*EnumAttribute, error) {
if len(values) == 0 {
return nil, fmt.Errorf("at least 1 value is required")
}
Expand All @@ -436,7 +436,7 @@ func NewEnumAttribute(name, desc string, values ...string) (*EnumAttribute, erro
}

return &EnumAttribute{
attribute: newAttribute(name, desc, AttributeKindEnum),
attribute: newAttribute(name, AttributeKindEnum),

defValue: values[0],
values: valSet,
Expand Down
24 changes: 10 additions & 14 deletions attribute_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -9,10 +9,9 @@ import (
func Test_StringAttribute(t *testing.T) {
assert := assert.New(t)

strAtt := NewStringAttribute("str_att", "desc", "def_val")
strAtt := NewStringAttribute("str_att", "def_val")
assert.Equal(AttributeKindString, strAtt.Kind())
assert.Equal("str_att", strAtt.Name())
assert.Equal("desc", strAtt.Desc())
assert.Equal("def_val", strAtt.DefValue())

_, err := strAtt.ToString()
Expand All @@ -29,21 +28,20 @@ func Test_StringAttribute(t *testing.T) {
func Test_IntegerAttribute(t *testing.T) {
assert := assert.New(t)

intAtt, err := NewIntegerAttribute("int_att", "desc", 10, 0, 100)
intAtt, err := NewIntegerAttribute("int_att", 10, 0, 100)
assert.NoError(err)
assert.Equal(AttributeKindInteger, intAtt.Kind())
assert.Equal("int_att", intAtt.Name())
assert.Equal("desc", intAtt.Desc())
assert.Equal(10, intAtt.DefValue())
assert.Equal(0, intAtt.Min())
assert.Equal(100, intAtt.Max())

// should return an error because min is greater then max
_, err = NewIntegerAttribute("int_att", "", 0, 100, 0)
_, err = NewIntegerAttribute("int_att", 0, 100, 0)
assert.Error(err)

// should return an error because the default value is out of range
_, err = NewIntegerAttribute("int_att", "", 1000, 0, 100)
_, err = NewIntegerAttribute("int_att", 1000, 0, 100)
assert.Error(err)

_, err = intAtt.ToInteger()
Expand All @@ -60,21 +58,20 @@ func Test_IntegerAttribute(t *testing.T) {
func Test_FloatAttribute(t *testing.T) {
assert := assert.New(t)

floatAtt, err := NewFloatAttribute("float_att", "desc", 10, 0, 100)
floatAtt, err := NewFloatAttribute("float_att", 10, 0, 100)
assert.NoError(err)
assert.Equal(AttributeKindFloat, floatAtt.Kind())
assert.Equal("float_att", floatAtt.Name())
assert.Equal("desc", floatAtt.Desc())
assert.Equal(10.0, floatAtt.DefValue())
assert.Equal(0.0, floatAtt.Min())
assert.Equal(100.0, floatAtt.Max())

// should return an error because min is greater then max
_, err = NewFloatAttribute("float_att", "", 0, 100, 0)
_, err = NewFloatAttribute("float_att", 0, 100, 0)
assert.Error(err)

// should return an error because the default value is out of range
_, err = NewFloatAttribute("float_att", "", 1000, 0, 100)
_, err = NewFloatAttribute("float_att", 1000, 0, 100)
assert.Error(err)

_, err = floatAtt.ToFloat()
Expand All @@ -91,11 +88,10 @@ func Test_FloatAttribute(t *testing.T) {
func Test_EnumAttribute(t *testing.T) {
assert := assert.New(t)

enumAtt, err := NewEnumAttribute("enum_att", "desc", "val_0", "val_1", "val_2")
enumAtt, err := NewEnumAttribute("enum_att", "val_0", "val_1", "val_2")
assert.NoError(err)
assert.Equal(AttributeKindEnum, enumAtt.Kind())
assert.Equal("enum_att", enumAtt.Name())
assert.Equal("desc", enumAtt.Desc())
assert.Equal("val_0", enumAtt.DefValue())
assert.Equal(3, len(enumAtt.Values()))
expectedValues := []string{"val_0", "val_1", "val_2"}
Expand All @@ -104,11 +100,11 @@ func Test_EnumAttribute(t *testing.T) {
}

// should return an error because there are no values defined
_, err = NewEnumAttribute("enum_att", "desc")
_, err = NewEnumAttribute("enum_att")
assert.Error(err)

// should compact the values because val_1 is duplicated
compEnumAtt, err := NewEnumAttribute("enum_att", "desc", "val_0", "val_1", "val_2", "val_1")
compEnumAtt, err := NewEnumAttribute("enum_att", "val_0", "val_1", "val_2", "val_1")
assert.NoError(err)
assert.Equal(3, len(compEnumAtt.Values()))

Expand Down
4 changes: 2 additions & 2 deletions bus.go
Original file line number Diff line number Diff line change
Expand Up @@ -22,9 +22,9 @@ type Bus struct {
}

// NewBus creates a new [Bus] with the given name and description.
func NewBus(name, desc string) *Bus {
func NewBus(name string) *Bus {
return &Bus{
attributeEntity: newAttributeEntity(name, desc, AttributeRefKindBus),
attributeEntity: newAttributeEntity(name, AttributeRefKindBus),

parentNetwork: nil,

Expand Down
38 changes: 19 additions & 19 deletions bus_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -9,11 +9,11 @@ import (
func Test_Bus_AddNode(t *testing.T) {
assert := assert.New(t)

bus := NewBus("bus", "")
bus := NewBus("bus")

node0 := NewNode("node_0", "", 0)
node1 := NewNode("node_1", "", 1)
node2 := NewNode("node_2", "", 2)
node0 := NewNode("node_0", 0)
node1 := NewNode("node_1", 1)
node2 := NewNode("node_2", 2)

// should add node0, node1, and node2 without errors
assert.NoError(bus.AddNode(node0))
Expand All @@ -27,23 +27,23 @@ func Test_Bus_AddNode(t *testing.T) {
}

// should return an error because id 1 is already taken
dupIDNode := NewNode("", "", 2)
dupIDNode := NewNode("", 2)
assert.Error(bus.AddNode(dupIDNode))

// should return an error because name node_1 is already taken
dupNameNode := NewNode("node_1", "", 3)
dupNameNode := NewNode("node_1", 3)
assert.Error(bus.AddNode(dupNameNode))
}

func Test_Bus_RemoveNode(t *testing.T) {
assert := assert.New(t)

bus := NewBus("bus", "")
bus := NewBus("bus")

node0 := NewNode("node_0", "", 0)
node1 := NewNode("node_1", "", 1)
node2 := NewNode("node_2", "", 2)
node3 := NewNode("node_3", "", 3)
node0 := NewNode("node_0", 0)
node1 := NewNode("node_1", 1)
node2 := NewNode("node_2", 2)
node3 := NewNode("node_3", 3)

assert.NoError(bus.AddNode(node0))
assert.NoError(bus.AddNode(node1))
Expand All @@ -66,12 +66,12 @@ func Test_Bus_RemoveNode(t *testing.T) {
func Test_Bus_RemoveAllNodes(t *testing.T) {
assert := assert.New(t)

bus := NewBus("bus", "")
bus := NewBus("bus")

node0 := NewNode("node_0", "", 0)
node1 := NewNode("node_1", "", 1)
node2 := NewNode("node_2", "", 2)
node3 := NewNode("node_3", "", 3)
node0 := NewNode("node_0", 0)
node1 := NewNode("node_1", 1)
node2 := NewNode("node_2", 2)
node3 := NewNode("node_3", 3)

assert.NoError(bus.AddNode(node0))
assert.NoError(bus.AddNode(node1))
Expand All @@ -86,10 +86,10 @@ func Test_Bus_RemoveAllNodes(t *testing.T) {
func Test_Bus_UpdateName(t *testing.T) {
assert := assert.New(t)

net := NewNetwork("proj", "")
net := NewNetwork("net")

bus0 := NewBus("bus_0", "")
bus1 := NewBus("bus_1", "")
bus0 := NewBus("bus_0")
bus1 := NewBus("bus_1")

assert.NoError(net.AddBus(bus0))
assert.NoError(net.AddBus(bus1))
Expand Down
16 changes: 7 additions & 9 deletions entity.go
Original file line number Diff line number Diff line change
Expand Up @@ -42,14 +42,14 @@ type entity struct {
createTime time.Time
}

func newEntity(name, desc string) *entity {
func newEntity(name string) *entity {
id := newEntityID()
createTime := time.Now()

return &entity{
entityID: id,
name: name,
desc: desc,
desc: "",
createTime: createTime,
}
}
Expand All @@ -74,11 +74,9 @@ func (e *entity) CreateTime() time.Time {
return e.createTime
}

// UpdateDesc updates the description of the entity.
func (e *entity) UpdateDesc(desc string) {
if e.desc != desc {
e.desc = desc
}
// SetDesc sets the description of the entity.
func (e *entity) SetDesc(desc string) {
e.desc = desc
}

func (e *entity) stringify(b *strings.Builder, tabs int) {
Expand All @@ -101,9 +99,9 @@ type attributeEntity struct {
attRefKind AttributeRefKind
}

func newAttributeEntity(name, desc string, attRefKind AttributeRefKind) *attributeEntity {
func newAttributeEntity(name string, attRefKind AttributeRefKind) *attributeEntity {
return &attributeEntity{
entity: newEntity(name, desc),
entity: newEntity(name),

attributeValues: newSet[EntityID, *AttributeValue]("attribute value"),
attRefKind: attRefKind,
Expand Down
24 changes: 12 additions & 12 deletions entity_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,9 @@ import (
func Test_attributeEntity_AddAttributeValue(t *testing.T) {
assert := assert.New(t)

e := newAttributeEntity("entity", "", AttributeRefKindBus)
e := newAttributeEntity("entity", AttributeRefKindBus)

intAtt, err := NewIntegerAttribute("int_att", "", 0, 0, 100)
intAtt, err := NewIntegerAttribute("int_att", 0, 0, 100)
assert.NoError(err)

// should not return an error
Expand All @@ -24,7 +24,7 @@ func Test_attributeEntity_AddAttributeValue(t *testing.T) {
// should return an error beacause the value is out of range
assert.Error(e.AddAttributeValue(intAtt, 1000))

floatAtt, err := NewFloatAttribute("float_att", "", 0, 0, 100)
floatAtt, err := NewFloatAttribute("float_att", 0, 0, 100)
assert.NoError(err)

// should not return an error
Expand All @@ -37,7 +37,7 @@ func Test_attributeEntity_AddAttributeValue(t *testing.T) {
// should return an error beacause the value is out of range
assert.Error(e.AddAttributeValue(floatAtt, 1000.0))

strAtt := NewStringAttribute("str_att", "", "")
strAtt := NewStringAttribute("str_att", "")

// should not return an error
assert.NoError(e.AddAttributeValue(strAtt, "string"))
Expand Down Expand Up @@ -71,13 +71,13 @@ func Test_attributeEntity_AddAttributeValue(t *testing.T) {
func Test_attributeEntity_RemoveAttributeValue(t *testing.T) {
assert := assert.New(t)

e := newAttributeEntity("entity", "", AttributeRefKindBus)
e := newAttributeEntity("entity", AttributeRefKindBus)

intAtt0, err := NewIntegerAttribute("int_att_0", "", 0, 0, 100)
intAtt0, err := NewIntegerAttribute("int_att_0", 0, 0, 100)
assert.NoError(err)
intAtt1, err := NewIntegerAttribute("int_att_1", "", 0, 0, 100)
intAtt1, err := NewIntegerAttribute("int_att_1", 0, 0, 100)
assert.NoError(err)
intAtt2, err := NewIntegerAttribute("int_att_2", "", 0, 0, 100)
intAtt2, err := NewIntegerAttribute("int_att_2", 0, 0, 100)
assert.NoError(err)

assert.NoError(e.AddAttributeValue(intAtt0, 10))
Expand All @@ -100,13 +100,13 @@ func Test_attributeEntity_RemoveAttributeValue(t *testing.T) {
func Test_attributeEntity_RemoveAllAttributeValues(t *testing.T) {
assert := assert.New(t)

e := newAttributeEntity("entity", "", AttributeRefKindBus)
e := newAttributeEntity("entity", AttributeRefKindBus)

intAtt0, err := NewIntegerAttribute("int_att_0", "", 0, 0, 100)
intAtt0, err := NewIntegerAttribute("int_att_0", 0, 0, 100)
assert.NoError(err)
intAtt1, err := NewIntegerAttribute("int_att_1", "", 0, 0, 100)
intAtt1, err := NewIntegerAttribute("int_att_1", 0, 0, 100)
assert.NoError(err)
intAtt2, err := NewIntegerAttribute("int_att_2", "", 0, 0, 100)
intAtt2, err := NewIntegerAttribute("int_att_2", 0, 0, 100)
assert.NoError(err)

assert.NoError(e.AddAttributeValue(intAtt0, 10))
Expand Down
Loading

0 comments on commit 1ecc779

Please sign in to comment.