Skip to content

Commit

Permalink
Use some syntactic sugar on disjunction unit tests
Browse files Browse the repository at this point in the history
  • Loading branch information
K-Phoen committed Sep 21, 2023
1 parent 581cfea commit 7129109
Showing 1 changed file with 48 additions and 48 deletions.
96 changes: 48 additions & 48 deletions internal/ast/compiler/disjunctions_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -11,21 +11,21 @@ import (
func TestDisjunctionToType_WithNonDisjunctionObjects_HasNoImpact(t *testing.T) {
// Prepare test input
objects := []ast.Object{
ast.NewObject("AMap", ast.NewMap(ast.NewScalar(ast.KindString), ast.NewScalar(ast.KindString))),
ast.NewObject("AMap", ast.NewMap(ast.String(), ast.String())),
ast.NewObject("ARef", ast.NewRef("AMap")),
ast.NewObject("AnEnum", ast.NewEnum([]ast.EnumValue{
{
Name: "Foo",
Type: ast.NewScalar(ast.KindString),
Type: ast.String(),
Value: "foo",
},
{
Name: "Bar",
Type: ast.NewScalar(ast.KindString),
Type: ast.String(),
Value: "bar",
},
})),
ast.NewObject("AnArray", ast.NewArray(ast.NewScalar(ast.KindString))),
ast.NewObject("AnArray", ast.NewArray(ast.String())),
ast.NewObject("AScalar", ast.NewScalar(ast.KindInt8)),
ast.NewObject("AStruct", ast.NewStruct(
ast.NewStructField("SomeNonDisjunctionField", ast.NewScalar(ast.KindInt8)),
Expand All @@ -40,15 +40,15 @@ func TestDisjunctionToType_WithDisjunctionOfScalars_AsAnObject(t *testing.T) {
// Prepare test input
objects := []ast.Object{
ast.NewObject("ADisjunctionOfScalars", ast.NewDisjunction([]ast.Type{
ast.NewScalar(ast.KindString),
ast.NewScalar(ast.KindBool),
ast.String(),
ast.Bool(),
})),
}

// Prepare expected output
disjunctionStructType := ast.NewStruct(
ast.NewStructField("ValString", ast.NewScalar(ast.KindString, ast.Nullable())),
ast.NewStructField("ValBool", ast.NewScalar(ast.KindBool, ast.Nullable())),
ast.NewStructField("ValString", ast.String(ast.Nullable())),
ast.NewStructField("ValBool", ast.Bool(ast.Nullable())),
)
// The original disjunction definition is preserved as a hint
disjunctionStructType.Struct.Hint[ast.HintDisjunctionOfScalars] = objects[0].Type.AsDisjunction()
Expand All @@ -65,8 +65,8 @@ func TestDisjunctionToType_WithDisjunctionOfScalars_AsAnObject(t *testing.T) {
func TestDisjunctionToType_WithDisjunctionOfScalars_AsAStructField(t *testing.T) {
// Prepare test input
disjunctionType := ast.NewDisjunction([]ast.Type{
ast.NewScalar(ast.KindString),
ast.NewScalar(ast.KindBool),
ast.String(),
ast.Bool(),
})
objects := []ast.Object{
ast.NewObject("AStructWithADisjunctionOfScalars", ast.NewStruct(
Expand All @@ -76,8 +76,8 @@ func TestDisjunctionToType_WithDisjunctionOfScalars_AsAStructField(t *testing.T)

// Prepare expected output
disjunctionStructType := ast.NewStruct(
ast.NewStructField("ValString", ast.NewScalar(ast.KindString, ast.Nullable())),
ast.NewStructField("ValBool", ast.NewScalar(ast.KindBool, ast.Nullable())),
ast.NewStructField("ValString", ast.String(ast.Nullable())),
ast.NewStructField("ValBool", ast.Bool(ast.Nullable())),
)
// The original disjunction definition is preserved as a hint
disjunctionStructType.Struct.Hint[ast.HintDisjunctionOfScalars] = disjunctionType.AsDisjunction()
Expand All @@ -96,17 +96,17 @@ func TestDisjunctionToType_WithDisjunctionOfScalars_AsAStructField(t *testing.T)
func TestDisjunctionToType_WithDisjunctionOfScalars_AsAnArrayValueType(t *testing.T) {
// Prepare test input
disjunctionType := ast.NewDisjunction([]ast.Type{
ast.NewScalar(ast.KindString),
ast.NewScalar(ast.KindBool),
ast.String(),
ast.Bool(),
})
objects := []ast.Object{
ast.NewObject("AnArrayWithADisjunctionOfScalars", ast.NewArray(disjunctionType)),
}

// Prepare expected output
disjunctionStructType := ast.NewStruct(
ast.NewStructField("ValString", ast.NewScalar(ast.KindString, ast.Nullable())),
ast.NewStructField("ValBool", ast.NewScalar(ast.KindBool, ast.Nullable())),
ast.NewStructField("ValString", ast.String(ast.Nullable())),
ast.NewStructField("ValBool", ast.Bool(ast.Nullable())),
)
// The original disjunction definition is preserved as a hint
disjunctionStructType.Struct.Hint[ast.HintDisjunctionOfScalars] = disjunctionType.AsDisjunction()
Expand All @@ -131,12 +131,12 @@ func TestDisjunctionToType_WithDisjunctionOfRefs_AsAnObject_NoDiscriminatorMetad
})),

ast.NewObject("SomeStruct", ast.NewStruct(
ast.NewStructField("Kind", ast.NewScalar(ast.KindString, ast.Value("some-struct"))), // No equivalent in OtherStruct
ast.NewStructField("FieldFoo", ast.NewScalar(ast.KindString)),
ast.NewStructField("Kind", ast.String(ast.Value("some-struct"))), // No equivalent in OtherStruct
ast.NewStructField("FieldFoo", ast.String()),
)),
ast.NewObject("OtherStruct", ast.NewStruct(
ast.NewStructField("Type", ast.NewScalar(ast.KindString, ast.Value("other-struct"))),
ast.NewStructField("FieldBar", ast.NewScalar(ast.KindBool)),
ast.NewStructField("Type", ast.String(ast.Value("other-struct"))),
ast.NewStructField("FieldBar", ast.Bool()),
)),
}

Expand All @@ -163,12 +163,12 @@ func TestDisjunctionToType_WithDisjunctionOfRefs_AsAnObject_NoDiscriminatorMetad
ast.NewObject("ADisjunctionOfRefs", disjunctionType),

ast.NewObject("SomeStruct", ast.NewStruct(
ast.NewStructField("FieldFoo", ast.NewScalar(ast.KindString)),
ast.NewStructField("MapOfString", ast.NewMap(ast.NewScalar(ast.KindString), ast.NewScalar(ast.KindString))),
ast.NewStructField("FieldFoo", ast.String()),
ast.NewStructField("MapOfString", ast.NewMap(ast.String(), ast.String())),
)),
ast.NewObject("OtherStruct", ast.NewStruct(
ast.NewStructField("FieldBar", ast.NewScalar(ast.KindBool)),
ast.NewStructField("MapOfString", ast.NewMap(ast.NewScalar(ast.KindString), ast.NewScalar(ast.KindString))),
ast.NewStructField("FieldBar", ast.Bool()),
ast.NewStructField("MapOfString", ast.NewMap(ast.String(), ast.String())),
)),
}

Expand All @@ -195,12 +195,12 @@ func TestDisjunctionToType_WithDisjunctionOfRefs_AsAnObject_NoDiscriminatorMetad
ast.NewObject("ADisjunctionOfRefs", disjunctionType),

ast.NewObject("SomeStruct", ast.NewStruct(
ast.NewStructField("Type", ast.NewScalar(ast.KindString)), // Not a concrete scalar
ast.NewStructField("FieldFoo", ast.NewScalar(ast.KindString)),
ast.NewStructField("Type", ast.String()), // Not a concrete scalar
ast.NewStructField("FieldFoo", ast.String()),
)),
ast.NewObject("OtherStruct", ast.NewStruct(
ast.NewStructField("Type", ast.NewScalar(ast.KindString, ast.Value("other-struct"))),
ast.NewStructField("FieldBar", ast.NewScalar(ast.KindBool)),
ast.NewStructField("Type", ast.String(ast.Value("other-struct"))),
ast.NewStructField("FieldBar", ast.Bool()),
)),
}

Expand All @@ -227,12 +227,12 @@ func TestDisjunctionToType_WithDisjunctionOfRefs_AsAnObject_NoDiscriminatorMetad
ast.NewObject("ADisjunctionOfRefs", disjunctionType),

ast.NewObject("SomeStruct", ast.NewStruct(
ast.NewStructField("Type", ast.NewScalar(ast.KindString, ast.Value("some-struct"))),
ast.NewStructField("FieldFoo", ast.NewScalar(ast.KindString)),
ast.NewStructField("Type", ast.String(ast.Value("some-struct"))),
ast.NewStructField("FieldFoo", ast.String()),
)),
ast.NewObject("OtherStruct", ast.NewStruct(
ast.NewStructField("Type", ast.NewScalar(ast.KindString, ast.Value("other-struct"))),
ast.NewStructField("FieldBar", ast.NewScalar(ast.KindBool)),
ast.NewStructField("Type", ast.String(ast.Value("other-struct"))),
ast.NewStructField("FieldBar", ast.Bool()),
)),
}

Expand All @@ -254,12 +254,12 @@ func TestDisjunctionToType_WithDisjunctionOfRefs_AsAnObject_NoDiscriminatorMetad
})),

ast.NewObject("SomeStruct", ast.NewStruct(
ast.NewStructField("Type", ast.NewScalar(ast.KindString, ast.Value("some-struct"))),
ast.NewStructField("FieldFoo", ast.NewScalar(ast.KindString)),
ast.NewStructField("Type", ast.String(ast.Value("some-struct"))),
ast.NewStructField("FieldFoo", ast.String()),
)),
ast.NewObject("OtherStruct", ast.NewStruct(
ast.NewStructField("FieldBar", ast.NewMap(ast.NewScalar(ast.KindString), ast.NewScalar(ast.KindString))),
ast.NewStructField("Type", ast.NewScalar(ast.KindString, ast.Value("other-struct"))),
ast.NewStructField("FieldBar", ast.NewMap(ast.String(), ast.String())),
ast.NewStructField("Type", ast.String(ast.Value("other-struct"))),
)),
}

Expand Down Expand Up @@ -305,14 +305,14 @@ func TestDisjunctionToType_WithDisjunctionOfRefs_AsAnObject_WithDiscriminatorFie
ast.NewObject("ADisjunctionOfRefs", disjunctionType),

ast.NewObject("SomeStruct", ast.NewStruct(
ast.NewStructField("Type", ast.NewScalar(ast.KindString, ast.Value("some-struct"))),
ast.NewStructField("Kind", ast.NewScalar(ast.KindString, ast.Value("some-kind"))),
ast.NewStructField("FieldFoo", ast.NewScalar(ast.KindString)),
ast.NewStructField("Type", ast.String(ast.Value("some-struct"))),
ast.NewStructField("Kind", ast.String(ast.Value("some-kind"))),
ast.NewStructField("FieldFoo", ast.String()),
)),
ast.NewObject("OtherStruct", ast.NewStruct(
ast.NewStructField("Type", ast.NewScalar(ast.KindString, ast.Value("other-struct"))),
ast.NewStructField("Kind", ast.NewScalar(ast.KindString, ast.Value("other-kind"))),
ast.NewStructField("FieldBar", ast.NewScalar(ast.KindBool)),
ast.NewStructField("Type", ast.String(ast.Value("other-struct"))),
ast.NewStructField("Kind", ast.String(ast.Value("other-kind"))),
ast.NewStructField("FieldBar", ast.Bool()),
)),
}

Expand Down Expand Up @@ -360,14 +360,14 @@ func TestDisjunctionToType_WithDisjunctionOfRefs_AsAnObject_WithDiscriminatorFie
ast.NewObject("ADisjunctionOfRefs", disjunctionType),

ast.NewObject("SomeStruct", ast.NewStruct(
ast.NewStructField("Type", ast.NewScalar(ast.KindString, ast.Value("some-struct"))),
ast.NewStructField("Kind", ast.NewScalar(ast.KindString, ast.Value("some-kind"))),
ast.NewStructField("FieldFoo", ast.NewScalar(ast.KindString)),
ast.NewStructField("Type", ast.String(ast.Value("some-struct"))),
ast.NewStructField("Kind", ast.String(ast.Value("some-kind"))),
ast.NewStructField("FieldFoo", ast.String()),
)),
ast.NewObject("OtherStruct", ast.NewStruct(
ast.NewStructField("Type", ast.NewScalar(ast.KindString, ast.Value("other-struct"))),
ast.NewStructField("Kind", ast.NewScalar(ast.KindString, ast.Value("other-kind"))),
ast.NewStructField("FieldBar", ast.NewScalar(ast.KindBool)),
ast.NewStructField("Type", ast.String(ast.Value("other-struct"))),
ast.NewStructField("Kind", ast.String(ast.Value("other-kind"))),
ast.NewStructField("FieldBar", ast.Bool()),
)),
}

Expand Down

0 comments on commit 7129109

Please sign in to comment.