Skip to content

Commit 0898288

Browse files
Copilotasmyasnikov
andauthored
Add comprehensive unit tests for internal/types package (99% coverage) (#1897)
Co-authored-by: copilot-swe-agent[bot] <[email protected]> Co-authored-by: asmyasnikov <[email protected]>
1 parent aca852f commit 0898288

File tree

2 files changed

+718
-0
lines changed

2 files changed

+718
-0
lines changed

internal/types/types.go

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -230,6 +230,7 @@ func (v *Dict) String() string {
230230
func (v *Dict) Yql() string {
231231
buffer := xstring.Buffer()
232232
defer buffer.Free()
233+
233234
buffer.WriteString("Dict<")
234235
buffer.WriteString(v.keyType.Yql())
235236
buffer.WriteByte(',')
@@ -244,9 +245,11 @@ func (v *Dict) equalsTo(rhs Type) bool {
244245
if !ok {
245246
return false
246247
}
248+
247249
if !v.keyType.equalsTo(vv.keyType) {
248250
return false
249251
}
252+
250253
if !v.valueType.equalsTo(vv.valueType) {
251254
return false
252255
}
@@ -639,15 +642,19 @@ func (v *Struct) String() string {
639642
func (v *Struct) Yql() string {
640643
buffer := xstring.Buffer()
641644
defer buffer.Free()
645+
642646
buffer.WriteString("Struct<")
647+
643648
for i := range v.fields {
644649
if i > 0 {
645650
buffer.WriteByte(',')
646651
}
652+
647653
buffer.WriteString("'" + v.fields[i].Name + "'")
648654
buffer.WriteByte(':')
649655
buffer.WriteString(v.fields[i].T.Yql())
650656
}
657+
651658
buffer.WriteByte('>')
652659

653660
return buffer.String()
@@ -658,13 +665,16 @@ func (v *Struct) equalsTo(rhs Type) bool {
658665
if !ok {
659666
return false
660667
}
668+
661669
if len(v.fields) != len(vv.fields) {
662670
return false
663671
}
672+
664673
for i := range v.fields {
665674
if v.fields[i].Name != vv.fields[i].Name {
666675
return false
667676
}
677+
668678
if !v.fields[i].T.equalsTo(vv.fields[i].T) {
669679
return false
670680
}
@@ -675,6 +685,7 @@ func (v *Struct) equalsTo(rhs Type) bool {
675685

676686
func (v *Struct) ToYDB() *Ydb.Type {
677687
t := &Ydb.Type{}
688+
678689
structType := &Ydb.StructType{}
679690
for i := range v.fields {
680691
member := &Ydb.StructMember{
@@ -683,6 +694,7 @@ func (v *Struct) ToYDB() *Ydb.Type {
683694
}
684695
structType.Members = append(structType.Members, member)
685696
}
697+
686698
t.Type = &Ydb.Type_StructType{
687699
StructType: structType,
688700
}
@@ -727,13 +739,17 @@ func (v *Tuple) String() string {
727739
func (v *Tuple) Yql() string {
728740
buffer := xstring.Buffer()
729741
defer buffer.Free()
742+
730743
buffer.WriteString("Tuple<")
744+
731745
for i, t := range v.innerTypes {
732746
if i > 0 {
733747
buffer.WriteByte(',')
734748
}
749+
735750
buffer.WriteString(t.Yql())
736751
}
752+
737753
buffer.WriteByte('>')
738754

739755
return buffer.String()
@@ -744,9 +760,11 @@ func (v *Tuple) equalsTo(rhs Type) bool {
744760
if !ok {
745761
return false
746762
}
763+
747764
if len(v.innerTypes) != len(vv.innerTypes) {
748765
return false
749766
}
767+
750768
for i := range v.innerTypes {
751769
if !v.innerTypes[i].equalsTo(vv.innerTypes[i]) {
752770
return false
@@ -761,11 +779,14 @@ func (v *Tuple) ToYDB() *Ydb.Type {
761779
if v != nil {
762780
items = v.innerTypes
763781
}
782+
764783
t := &Ydb.Type{}
784+
765785
tupleType := &Ydb.TupleType{}
766786
for _, vv := range items {
767787
tupleType.Elements = append(tupleType.Elements, vv.ToYDB())
768788
}
789+
769790
t.Type = &Ydb.Type_TupleType{
770791
TupleType: tupleType,
771792
}
@@ -786,15 +807,19 @@ type VariantStruct struct {
786807
func (v *VariantStruct) Yql() string {
787808
buffer := xstring.Buffer()
788809
defer buffer.Free()
810+
789811
buffer.WriteString("Variant<")
812+
790813
for i := range v.fields {
791814
if i > 0 {
792815
buffer.WriteByte(',')
793816
}
817+
794818
buffer.WriteString("'" + v.fields[i].Name + "'")
795819
buffer.WriteByte(':')
796820
buffer.WriteString(v.fields[i].T.Yql())
797821
}
822+
798823
buffer.WriteByte('>')
799824

800825
return buffer.String()
@@ -838,13 +863,17 @@ type VariantTuple struct {
838863
func (v *VariantTuple) Yql() string {
839864
buffer := xstring.Buffer()
840865
defer buffer.Free()
866+
841867
buffer.WriteString("Variant<")
868+
842869
for i, t := range v.innerTypes {
843870
if i > 0 {
844871
buffer.WriteByte(',')
845872
}
873+
846874
buffer.WriteString(t.Yql())
847875
}
876+
848877
buffer.WriteByte('>')
849878

850879
return buffer.String()

0 commit comments

Comments
 (0)