platform/packages/graphql/graphql_schema/test/equality_test.dart
Tobe O 4e69153e3e Add 'packages/graphql/' from commit '33e2f86ba73d559197b6270df036256104726aca'
git-subtree-dir: packages/graphql
git-subtree-mainline: ac29392d7f
git-subtree-split: 33e2f86ba7
2020-02-15 18:22:07 -05:00

113 lines
3 KiB
Dart

import 'package:graphql_schema/graphql_schema.dart';
import 'package:test/test.dart';
/// Note: this doesn't test for scalar types, which are final, and therefore use built-in equality.
void main() {
group('equality', () {
test('enums', () {
expect(enumTypeFromStrings('A', ['B', 'C']),
enumTypeFromStrings('A', ['B', 'C']));
expect(enumTypeFromStrings('A', ['B', 'C']),
isNot(enumTypeFromStrings('B', ['B', 'C'])));
});
test('objects', () {
expect(
objectType('B', fields: [
field('b', graphQLString.nonNullable()),
]),
objectType('B', fields: [
field('b', graphQLString.nonNullable()),
]),
);
expect(
objectType('B', fields: [
field('b', graphQLString.nonNullable()),
]),
isNot(objectType('BD', fields: [
field('b', graphQLString.nonNullable()),
])),
);
expect(
objectType('B', fields: [
field('b', graphQLString.nonNullable()),
]),
isNot(objectType('B', fields: [
field('ba', graphQLString.nonNullable()),
])),
);
expect(
objectType('B', fields: [
field('b', graphQLString.nonNullable()),
]),
isNot(objectType('B', fields: [
field('a', graphQLFloat.nonNullable()),
])),
);
});
test('input type', () {});
test('union type', () {
expect(
new GraphQLUnionType('A', [
objectType('B', fields: [
field('b', graphQLString.nonNullable()),
]),
objectType('C', fields: [
field('c', graphQLString.nonNullable()),
]),
]),
new GraphQLUnionType('A', [
objectType('B', fields: [
field('b', graphQLString.nonNullable()),
]),
objectType('C', fields: [
field('c', graphQLString.nonNullable()),
]),
]),
);
expect(
new GraphQLUnionType('A', [
objectType('B', fields: [
field('b', graphQLString.nonNullable()),
]),
objectType('C', fields: [
field('c', graphQLString.nonNullable()),
]),
]),
isNot(new GraphQLUnionType('AA', [
objectType('B', fields: [
field('b', graphQLString.nonNullable()),
]),
objectType('C', fields: [
field('c', graphQLString.nonNullable()),
]),
])),
);
expect(
new GraphQLUnionType('A', [
objectType('BB', fields: [
field('b', graphQLString.nonNullable()),
]),
objectType('C', fields: [
field('c', graphQLString.nonNullable()),
]),
]),
isNot(new GraphQLUnionType('AA', [
objectType('BDD', fields: [
field('b', graphQLString.nonNullable()),
]),
objectType('C', fields: [
field('c', graphQLString.nonNullable()),
]),
])),
);
});
});
}