add bracket syntax replace tests
This commit is contained in:
69
lang/test_field_comparisons.go
Normal file
69
lang/test_field_comparisons.go
Normal file
@ -0,0 +1,69 @@
|
||||
package lang
|
||||
|
||||
// Field and validation comparison functions for parser tests
|
||||
|
||||
func fieldEqual(got, want Field) bool {
|
||||
if got.Name != want.Name || got.Type != want.Type {
|
||||
return false
|
||||
}
|
||||
|
||||
if got.Required != want.Required || got.Unique != want.Unique || got.Index != want.Index {
|
||||
return false
|
||||
}
|
||||
|
||||
if !stringPtrEqual(got.Default, want.Default) {
|
||||
return false
|
||||
}
|
||||
|
||||
if len(got.Validations) != len(want.Validations) {
|
||||
return false
|
||||
}
|
||||
|
||||
for i, validation := range got.Validations {
|
||||
if !validationEqual(validation, want.Validations[i]) {
|
||||
return false
|
||||
}
|
||||
}
|
||||
|
||||
if (got.Relationship == nil) != (want.Relationship == nil) {
|
||||
return false
|
||||
}
|
||||
if got.Relationship != nil && want.Relationship != nil {
|
||||
if !relationshipEqual(*got.Relationship, *want.Relationship) {
|
||||
return false
|
||||
}
|
||||
}
|
||||
|
||||
return true
|
||||
}
|
||||
|
||||
func validationEqual(got, want Validation) bool {
|
||||
return got.Type == want.Type && stringPtrEqual(got.Value, want.Value)
|
||||
}
|
||||
|
||||
func relationshipEqual(got, want Relationship) bool {
|
||||
return got.Type == want.Type &&
|
||||
got.Cardinality == want.Cardinality &&
|
||||
stringPtrEqual(got.ForeignKey, want.ForeignKey) &&
|
||||
stringPtrEqual(got.Through, want.Through)
|
||||
}
|
||||
|
||||
func fieldRelationEqual(got, want *FieldRelation) bool {
|
||||
if (got == nil) != (want == nil) {
|
||||
return false
|
||||
}
|
||||
if got != nil && want != nil {
|
||||
return got.Type == want.Type
|
||||
}
|
||||
return true
|
||||
}
|
||||
|
||||
func componentValidationEqual(got, want *ComponentValidation) bool {
|
||||
if (got == nil) != (want == nil) {
|
||||
return false
|
||||
}
|
||||
if got != nil && want != nil {
|
||||
return got.Type == want.Type && stringPtrEqual(got.Value, want.Value)
|
||||
}
|
||||
return true
|
||||
}
|
Reference in New Issue
Block a user