Skip to content

Commit

Permalink
Improved Sample tests
Browse files Browse the repository at this point in the history
  • Loading branch information
Struan Judd committed Dec 26, 2023
1 parent 5ab4848 commit f79df58
Show file tree
Hide file tree
Showing 18 changed files with 742 additions and 618 deletions.
Original file line number Diff line number Diff line change
@@ -1,7 +1,12 @@
output _Categories {
| _Category
| _Type
}

output _Category {
: _Aliased
resolution: _Resolution
type: _Type[String]
output: String
}

enum _Resolution { Parallel Sequential Single }
Original file line number Diff line number Diff line change
@@ -1,7 +1,9 @@
output _Schema {
category(_CategoryFilter): _Category[String]
directive(_Filter): _Directive[String]
type(_TypeFilter): _Type[String]
: _Named
categories(_CategoryFilter): _Categories[String]
directives(_Filter): _Directives[String]
types(_TypeFilter): _Type[String]
settings(_Filter): _Setting[String]
}

input _Filter {
Expand Down Expand Up @@ -29,13 +31,23 @@ output _Named {
name: String
description: String?
}
output _Categories {
| _Category
| _Type
}

output _Category {
: _Aliased
resolution: _Resolution
type: _Type[String]
output: String
}

enum _Resolution { Parallel Sequential Single }
output _Directives {
| _Directive
| _Type
}

output _Directive {
: _Aliased
parameters: _Parameter[]
Expand All @@ -45,6 +57,10 @@ output _Directive {

enum _Location { Operation Variable Field Inline Spread Fragment }

output _Setting {
: _Named
value: _Constant
}
output _Type {
| _BaseType<_TypeKind.Basic>
| _BaseType<_TypeKind.Internal>
Expand All @@ -66,41 +82,6 @@ output _TypeSimple {
| _BaseType<_TypeKind.Scalar>
| _BaseType<_TypeKind.Enum>
}
output _TypeEnum {
: _BaseType<_TypeKind.Enum>
base: String?
values: _Aliased[]
}
output _TypeObject<$kind $base $field> {
: _BaseType<$kind>
typeParameters: _Named[]
base: $base?
fields: $field[]
alternates: _Alternate<$base>[]
}

output _Ref<$base> {
| _BaseType<_TypeKind.Internal>
| _TypeSimple
| $base
}

output _Alternate<$base> {
type: _Ref<$base>
modifiers: _Modifier[]
}

output _Field<$base> {
: _Aliased
type: _Ref<$base>
modifiers: _Modifier[]
}

output _Parameter {
: _Ref<_InputBase>
modifiers: _Modifier[]
default: _Constant?
}
output _Constant {
enum: _BaseType<_TypeKind.Enum>
value: String
Expand Down Expand Up @@ -134,38 +115,10 @@ output _ModifierDictionary {
: _BaseModifier<_ModifierKind.Dictionary>
by: _TypeSimple
}
output _InputBase {
input: String
arguments: _Ref<_InputBase>[]
| "TypeParameter" String
}

output _InputField {
: _Field<_InputBase>
default: _Constant?
}
output _OutputBase {
output: String
arguments: _OutputArgument[]
| "TypeParameter" String
}

output _OutputField {
: _Field<_OutputBase>
parameter: _Parameter[]
| _OutputEnum
}

output _OutputArgument {
: _BaseType<_TypeKind.Enum>
value: String
| _Ref<_OutputBase>
}

output _OutputEnum {
output _TypeEnum {
: _BaseType<_TypeKind.Enum>
field: String
value: String
base: String?
values: _Aliased[]
}
enum _Scalar { Number String Union }

Expand Down Expand Up @@ -206,3 +159,65 @@ output _ScalarUnion {
: _BaseScalar<_Scalar.Union>
references: _TypeSimple[]
}
output _TypeObject<$kind $base $field> {
: _BaseType<$kind>
typeParameters: _Named[]
base: $base?
fields: $field[]
alternates: _Alternate<$base>[]
}

output _Ref<$base> {
| _BaseType<_TypeKind.Internal>
| _TypeSimple
| $base
}

output _Alternate<$base> {
type: _Ref<$base>
modifiers: _Modifier[]
}

output _Field<$base> {
: _Aliased
type: _Ref<$base>
modifiers: _Modifier[]
}

output _Parameter {
: _Alternate<_InputBase>
default: _Constant?
}
output _InputBase {
input: String
arguments: _Ref<_InputBase>[]
| "TypeParameter" String
}

output _InputField {
: _Field<_InputBase>
default: _Constant?
}
output _OutputBase {
output: String
arguments: _OutputArgument[]
| "TypeParameter" String
}

output _OutputField {
: _Field<_OutputBase>
parameter: _Parameter[]
| _OutputEnum
}

output _OutputArgument {
: _BaseType<_TypeKind.Enum>
value: String
| _Ref<_OutputBase>
}

output _OutputEnum {
: _BaseType<_TypeKind.Enum>
field: String
value: String
}
Original file line number Diff line number Diff line change
@@ -1,3 +1,8 @@
output _Directives {
| _Directive
| _Type
}

output _Directive {
: _Aliased
parameters: _Parameter[]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,6 @@ output _Field<$base> {
}

output _Parameter {
: _Ref<_InputBase>
modifiers: _Modifier[]
: _Alternate<_InputBase>
default: _Constant?
}
Original file line number Diff line number Diff line change
@@ -1,7 +1,9 @@
output _Schema {
category(_CategoryFilter): _Category[String]
directive(_Filter): _Directive[String]
type(_TypeFilter): _Type[String]
: _Named
categories(_CategoryFilter): _Categories[String]
directives(_Filter): _Directives[String]
types(_TypeFilter): _Type[String]
settings(_Filter): _Setting[String]
}

input _Filter {
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
output _Setting {
: _Named
value: _Constant
}
3 changes: 2 additions & 1 deletion test/GqlPlus.Verifier.ComponentTests/SampleTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -96,10 +96,11 @@ public SampleSchemaData()
Add("Intro_Schema");
Add("Intro_Category");
Add("Intro_Directive");
Add("Intro_Setting");
Add("Intro_Types");
Add("Intro_Common");
Add("Intro_Enum");
Add("Intro_Object");
Add("Intro_Common");
Add("Intro_Input");
Add("Intro_Output");
Add("Intro_Scalar");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,31 +2,41 @@
Success
{
!O I@8/1
_Categories
|
!AO
I@7/2
_Category
!AO
I@7/3
_Type
}
{
!O I@8/6
_Category
:
I@7/2
I@7/7
_Aliased
{
!OF I@9/3
!OF I@9/8
resolution
:
I@21/3
I@21/8
_Resolution
!OF I@9/4
type
!OF I@9/9
output
:
I@15/4
_Type
[String]
I@17/9
String
}
}
{
!E I@6/7
!E I@6/12
_Resolution
!EV I@20/7
!EV I@20/12
Parallel
!EV I@29/7
!EV I@29/12
Sequential
!EV I@40/7
!EV I@40/12
Single
}
Loading

0 comments on commit f79df58

Please sign in to comment.