finitio 0.7.0.pre.rc2 → 0.9.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (111) hide show
  1. checksums.yaml +5 -5
  2. data/CHANGELOG.md +29 -0
  3. data/Gemfile +1 -1
  4. data/Gemfile.lock +40 -41
  5. data/README.md +88 -12
  6. data/lib/finitio.rb +37 -5
  7. data/lib/finitio/generation.rb +106 -0
  8. data/lib/finitio/generation/ad_type.rb +10 -0
  9. data/lib/finitio/generation/alias_type.rb +9 -0
  10. data/lib/finitio/generation/any_type.rb +11 -0
  11. data/lib/finitio/generation/builtin_type.rb +9 -0
  12. data/lib/finitio/generation/hash_based_type.rb +15 -0
  13. data/lib/finitio/generation/heuristic.rb +8 -0
  14. data/lib/finitio/generation/heuristic/constant.rb +30 -0
  15. data/lib/finitio/generation/heuristic/random.rb +52 -0
  16. data/lib/finitio/generation/rel_based_type.rb +13 -0
  17. data/lib/finitio/generation/seq_type.rb +13 -0
  18. data/lib/finitio/generation/set_type.rb +13 -0
  19. data/lib/finitio/generation/sub_type.rb +9 -0
  20. data/lib/finitio/generation/union_type.rb +10 -0
  21. data/lib/finitio/inference.rb +51 -0
  22. data/lib/finitio/json_schema.rb +16 -0
  23. data/lib/finitio/json_schema/ad_type.rb +11 -0
  24. data/lib/finitio/json_schema/alias_type.rb +9 -0
  25. data/lib/finitio/json_schema/any_type.rb +9 -0
  26. data/lib/finitio/json_schema/builtin_type.rb +27 -0
  27. data/lib/finitio/json_schema/hash_based_type.rb +25 -0
  28. data/lib/finitio/json_schema/rel_based_type.rb +13 -0
  29. data/lib/finitio/json_schema/seq_type.rb +12 -0
  30. data/lib/finitio/json_schema/set_type.rb +13 -0
  31. data/lib/finitio/json_schema/struct_type.rb +12 -0
  32. data/lib/finitio/json_schema/sub_type.rb +10 -0
  33. data/lib/finitio/json_schema/union_type.rb +11 -0
  34. data/lib/finitio/support.rb +19 -0
  35. data/lib/finitio/support/attribute.rb +8 -0
  36. data/lib/finitio/support/compilation.rb +18 -18
  37. data/lib/finitio/support/contract.rb +23 -0
  38. data/lib/finitio/support/fetch_scope.rb +19 -0
  39. data/lib/finitio/support/heading.rb +36 -1
  40. data/lib/finitio/support/proc_with_code.rb +34 -0
  41. data/lib/finitio/syntax.rb +1 -1
  42. data/lib/finitio/syntax/import.rb +1 -1
  43. data/lib/finitio/syntax/lexer.citrus +1 -1
  44. data/lib/finitio/syntax/type.rb +2 -0
  45. data/lib/finitio/syntax/type/expression.rb +1 -2
  46. data/lib/finitio/syntax/type/high_order_type_instantiation.rb +29 -0
  47. data/lib/finitio/syntax/type/high_order_vars.rb +16 -0
  48. data/lib/finitio/syntax/type/type_def.rb +11 -1
  49. data/lib/finitio/syntax/types.citrus +14 -1
  50. data/lib/finitio/system.rb +20 -4
  51. data/lib/finitio/type.rb +19 -0
  52. data/lib/finitio/type/ad_type.rb +21 -0
  53. data/lib/finitio/type/alias_type.rb +8 -0
  54. data/lib/finitio/type/any_type.rb +12 -0
  55. data/lib/finitio/type/builtin_type.rb +4 -0
  56. data/lib/finitio/type/collection_type.rb +15 -0
  57. data/lib/finitio/type/heading_based_type.rb +17 -0
  58. data/lib/finitio/type/high_order_type.rb +39 -0
  59. data/lib/finitio/type/multi_relation_type.rb +4 -0
  60. data/lib/finitio/type/multi_tuple_type.rb +4 -0
  61. data/lib/finitio/type/proxy_type.rb +10 -20
  62. data/lib/finitio/type/relation_type.rb +4 -0
  63. data/lib/finitio/type/seq_type.rb +1 -1
  64. data/lib/finitio/type/struct_type.rb +8 -0
  65. data/lib/finitio/type/sub_type.rb +8 -0
  66. data/lib/finitio/type/tuple_type.rb +4 -0
  67. data/lib/finitio/type/union_type.rb +19 -0
  68. data/lib/finitio/version.rb +2 -2
  69. data/spec/finitio/test_stdlib_memoization.rb +22 -0
  70. data/spec/finitio/test_system.rb +0 -8
  71. data/spec/generation/test_generation.rb +169 -0
  72. data/spec/heading/test_looks_similar.rb +45 -0
  73. data/spec/heading/test_suppremum.rb +56 -0
  74. data/spec/inference/test_inference.rb +42 -0
  75. data/spec/json_schema/test_ad_type.rb +20 -0
  76. data/spec/json_schema/test_alias_type.rb +15 -0
  77. data/spec/json_schema/test_any_type.rb +11 -0
  78. data/spec/json_schema/test_builtin_type.rb +51 -0
  79. data/spec/json_schema/test_multi_relation_type.rb +58 -0
  80. data/spec/json_schema/test_multi_tuple_type.rb +50 -0
  81. data/spec/json_schema/test_relation_type.rb +30 -0
  82. data/spec/json_schema/test_seq_type.rb +18 -0
  83. data/spec/json_schema/test_set_type.rb +19 -0
  84. data/spec/json_schema/test_struct_type.rb +18 -0
  85. data/spec/json_schema/test_sub_type.rb +17 -0
  86. data/spec/json_schema/test_tuple_type.rb +26 -0
  87. data/spec/json_schema/test_union_type.rb +17 -0
  88. data/spec/spec_helper.rb +32 -6
  89. data/spec/support/test_compare_attrs.rb +67 -0
  90. data/spec/support/test_proc_with_code.rb +27 -0
  91. data/spec/syntax/nodes/test_ad_type.rb +6 -0
  92. data/spec/syntax/nodes/test_contract.rb +5 -0
  93. data/spec/syntax/nodes/test_expression.rb +5 -0
  94. data/spec/syntax/nodes/test_sub_type.rb +5 -0
  95. data/spec/syntax/test_compile.rb +57 -0
  96. data/spec/system/fixtures/system.fio +2 -0
  97. data/spec/system/fixtures/with-duplicates.fio +6 -0
  98. data/spec/system/test_check_and_warn.rb +55 -0
  99. data/spec/type/ad_type/test_initialize.rb +1 -8
  100. data/spec/type/relation_type/test_suppremum.rb +104 -0
  101. data/spec/type/seq_type/test_suppremum.rb +54 -0
  102. data/spec/type/set_type/test_suppremum.rb +54 -0
  103. data/spec/type/test_suppremum.rb +49 -0
  104. data/spec/type/test_unconstrained.rb +150 -0
  105. data/spec/type/tuple_type/test_suppremum.rb +119 -0
  106. data/spec/type/union_type/test_suppremum.rb +51 -0
  107. data/tasks/test.rake +1 -1
  108. metadata +230 -145
  109. data/spec/finitio/with-duplicates.fio +0 -3
  110. data/spec/type/proxy_type/test_delegation.rb +0 -37
  111. data/spec/type/proxy_type/test_resolve.rb +0 -29
@@ -0,0 +1,51 @@
1
+ require 'spec_helper'
2
+ module Finitio
3
+ describe UnionType, "suppremum" do
4
+
5
+ subject{
6
+ left.suppremum(right)
7
+ }
8
+
9
+ let(:left){
10
+ UnionType.new([intType, nilType])
11
+ }
12
+
13
+ context 'when right is not a union type' do
14
+ let(:right){
15
+ stringType
16
+ }
17
+
18
+ it 'works' do
19
+ expect(subject).to be_a(UnionType)
20
+ expect(subject.candidates).to eql(left.candidates + [right])
21
+ end
22
+ end
23
+
24
+ context 'when right is a union type' do
25
+ let(:right){
26
+ UnionType.new([stringType, nilType])
27
+ }
28
+
29
+ it 'works' do
30
+ expect(subject).to be_a(UnionType)
31
+ expect(subject.candidates).to eql([intType, nilType, stringType])
32
+ end
33
+ end
34
+
35
+ context 'when union type is on the right' do
36
+ let(:left){
37
+ stringType
38
+ }
39
+
40
+ let(:right){
41
+ UnionType.new([intType, nilType])
42
+ }
43
+
44
+ it 'works' do
45
+ expect(subject).to be_a(UnionType)
46
+ expect(subject.candidates).to eql([intType, nilType, stringType])
47
+ end
48
+ end
49
+
50
+ end
51
+ end
@@ -18,7 +18,7 @@ namespace :test do
18
18
  require 'cucumber/rake/task'
19
19
 
20
20
  Cucumber::Rake::Task.new(:cucumber) do |t|
21
- t.cucumber_opts = "features --format pretty"
21
+ t.cucumber_opts = "features --format progress"
22
22
  end
23
23
  rescue LoadError => ex
24
24
  task :unit do
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: finitio
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.0.pre.rc2
4
+ version: 0.9.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Bernard Lambeau
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-02-21 00:00:00.000000000 Z
11
+ date: 2020-12-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: citrus
@@ -50,6 +50,33 @@ files:
50
50
  - finitio.gemspec
51
51
  - lib/finitio.rb
52
52
  - lib/finitio/errors.rb
53
+ - lib/finitio/generation.rb
54
+ - lib/finitio/generation/ad_type.rb
55
+ - lib/finitio/generation/alias_type.rb
56
+ - lib/finitio/generation/any_type.rb
57
+ - lib/finitio/generation/builtin_type.rb
58
+ - lib/finitio/generation/hash_based_type.rb
59
+ - lib/finitio/generation/heuristic.rb
60
+ - lib/finitio/generation/heuristic/constant.rb
61
+ - lib/finitio/generation/heuristic/random.rb
62
+ - lib/finitio/generation/rel_based_type.rb
63
+ - lib/finitio/generation/seq_type.rb
64
+ - lib/finitio/generation/set_type.rb
65
+ - lib/finitio/generation/sub_type.rb
66
+ - lib/finitio/generation/union_type.rb
67
+ - lib/finitio/inference.rb
68
+ - lib/finitio/json_schema.rb
69
+ - lib/finitio/json_schema/ad_type.rb
70
+ - lib/finitio/json_schema/alias_type.rb
71
+ - lib/finitio/json_schema/any_type.rb
72
+ - lib/finitio/json_schema/builtin_type.rb
73
+ - lib/finitio/json_schema/hash_based_type.rb
74
+ - lib/finitio/json_schema/rel_based_type.rb
75
+ - lib/finitio/json_schema/seq_type.rb
76
+ - lib/finitio/json_schema/set_type.rb
77
+ - lib/finitio/json_schema/struct_type.rb
78
+ - lib/finitio/json_schema/sub_type.rb
79
+ - lib/finitio/json_schema/union_type.rb
53
80
  - lib/finitio/stdlib/finitio/data.fio
54
81
  - lib/finitio/support.rb
55
82
  - lib/finitio/support/attribute.rb
@@ -57,8 +84,10 @@ files:
57
84
  - lib/finitio/support/constraint.rb
58
85
  - lib/finitio/support/contract.rb
59
86
  - lib/finitio/support/dress_helper.rb
87
+ - lib/finitio/support/fetch_scope.rb
60
88
  - lib/finitio/support/heading.rb
61
89
  - lib/finitio/support/metadata.rb
90
+ - lib/finitio/support/proc_with_code.rb
62
91
  - lib/finitio/support/type_factory.rb
63
92
  - lib/finitio/syntax.rb
64
93
  - lib/finitio/syntax/definitions.rb
@@ -99,6 +128,8 @@ files:
99
128
  - lib/finitio/syntax/type/external_pair.rb
100
129
  - lib/finitio/syntax/type/heading.rb
101
130
  - lib/finitio/syntax/type/heading_extra.rb
131
+ - lib/finitio/syntax/type/high_order_type_instantiation.rb
132
+ - lib/finitio/syntax/type/high_order_vars.rb
102
133
  - lib/finitio/syntax/type/inline_pair.rb
103
134
  - lib/finitio/syntax/type/lambda_expr.rb
104
135
  - lib/finitio/syntax/type/main_type.rb
@@ -125,6 +156,7 @@ files:
125
156
  - lib/finitio/type/collection_type.rb
126
157
  - lib/finitio/type/hash_based_type.rb
127
158
  - lib/finitio/type/heading_based_type.rb
159
+ - lib/finitio/type/high_order_type.rb
128
160
  - lib/finitio/type/multi_relation_type.rb
129
161
  - lib/finitio/type/multi_tuple_type.rb
130
162
  - lib/finitio/type/proxy_type.rb
@@ -151,18 +183,37 @@ files:
151
183
  - spec/finitio/system.fio
152
184
  - spec/finitio/test_ast.rb
153
185
  - spec/finitio/test_parse.rb
186
+ - spec/finitio/test_stdlib_memoization.rb
154
187
  - spec/finitio/test_system.rb
155
- - spec/finitio/with-duplicates.fio
188
+ - spec/generation/test_generation.rb
156
189
  - spec/heading/test_allow_extra.rb
157
190
  - spec/heading/test_each.rb
158
191
  - spec/heading/test_equality.rb
159
192
  - spec/heading/test_hash.rb
160
193
  - spec/heading/test_hash_get.rb
161
194
  - spec/heading/test_initialize.rb
195
+ - spec/heading/test_looks_similar.rb
162
196
  - spec/heading/test_multi.rb
163
197
  - spec/heading/test_size.rb
198
+ - spec/heading/test_suppremum.rb
164
199
  - spec/heading/test_to_name.rb
200
+ - spec/inference/test_inference.rb
201
+ - spec/json_schema/test_ad_type.rb
202
+ - spec/json_schema/test_alias_type.rb
203
+ - spec/json_schema/test_any_type.rb
204
+ - spec/json_schema/test_builtin_type.rb
205
+ - spec/json_schema/test_multi_relation_type.rb
206
+ - spec/json_schema/test_multi_tuple_type.rb
207
+ - spec/json_schema/test_relation_type.rb
208
+ - spec/json_schema/test_seq_type.rb
209
+ - spec/json_schema/test_set_type.rb
210
+ - spec/json_schema/test_struct_type.rb
211
+ - spec/json_schema/test_sub_type.rb
212
+ - spec/json_schema/test_tuple_type.rb
213
+ - spec/json_schema/test_union_type.rb
165
214
  - spec/spec_helper.rb
215
+ - spec/support/test_compare_attrs.rb
216
+ - spec/support/test_proc_with_code.rb
166
217
  - spec/syntax/expr/test_free_variables.rb
167
218
  - spec/syntax/expr/test_to_proc_source.rb
168
219
  - spec/syntax/nodes/imported.fio
@@ -193,7 +244,10 @@ files:
193
244
  - spec/syntax/nodes/test_unnamed_constraint.rb
194
245
  - spec/syntax/test_compile.rb
195
246
  - spec/syntax/test_compile_type.rb
247
+ - spec/system/fixtures/system.fio
248
+ - spec/system/fixtures/with-duplicates.fio
196
249
  - spec/system/test_add_type.rb
250
+ - spec/system/test_check_and_warn.rb
197
251
  - spec/system/test_dsl.rb
198
252
  - spec/system/test_dup.rb
199
253
  - spec/system/test_fetch.rb
@@ -232,26 +286,27 @@ files:
232
286
  - spec/type/multi_tuple_type/test_include.rb
233
287
  - spec/type/multi_tuple_type/test_initialize.rb
234
288
  - spec/type/multi_tuple_type/test_name.rb
235
- - spec/type/proxy_type/test_delegation.rb
236
- - spec/type/proxy_type/test_resolve.rb
237
289
  - spec/type/relation_type/test_default_name.rb
238
290
  - spec/type/relation_type/test_dress.rb
239
291
  - spec/type/relation_type/test_equality.rb
240
292
  - spec/type/relation_type/test_include.rb
241
293
  - spec/type/relation_type/test_initialize.rb
242
294
  - spec/type/relation_type/test_name.rb
295
+ - spec/type/relation_type/test_suppremum.rb
243
296
  - spec/type/seq_type/test_default_name.rb
244
297
  - spec/type/seq_type/test_dress.rb
245
298
  - spec/type/seq_type/test_equality.rb
246
299
  - spec/type/seq_type/test_include.rb
247
300
  - spec/type/seq_type/test_initialize.rb
248
301
  - spec/type/seq_type/test_name.rb
302
+ - spec/type/seq_type/test_suppremum.rb
249
303
  - spec/type/set_type/test_default_name.rb
250
304
  - spec/type/set_type/test_dress.rb
251
305
  - spec/type/set_type/test_equality.rb
252
306
  - spec/type/set_type/test_include.rb
253
307
  - spec/type/set_type/test_initialize.rb
254
308
  - spec/type/set_type/test_name.rb
309
+ - spec/type/set_type/test_suppremum.rb
255
310
  - spec/type/struct_type/test_default_name.rb
256
311
  - spec/type/struct_type/test_dress.rb
257
312
  - spec/type/struct_type/test_equality.rb
@@ -264,18 +319,22 @@ files:
264
319
  - spec/type/sub_type/test_include.rb
265
320
  - spec/type/sub_type/test_initialize.rb
266
321
  - spec/type/sub_type/test_name.rb
322
+ - spec/type/test_suppremum.rb
323
+ - spec/type/test_unconstrained.rb
267
324
  - spec/type/tuple_type/test_default_name.rb
268
325
  - spec/type/tuple_type/test_dress.rb
269
326
  - spec/type/tuple_type/test_equality.rb
270
327
  - spec/type/tuple_type/test_include.rb
271
328
  - spec/type/tuple_type/test_initialize.rb
272
329
  - spec/type/tuple_type/test_name.rb
330
+ - spec/type/tuple_type/test_suppremum.rb
273
331
  - spec/type/union_type/test_default_name.rb
274
332
  - spec/type/union_type/test_dress.rb
275
333
  - spec/type/union_type/test_equality.rb
276
334
  - spec/type/union_type/test_include.rb
277
335
  - spec/type/union_type/test_initialize.rb
278
336
  - spec/type/union_type/test_name.rb
337
+ - spec/type/union_type/test_suppremum.rb
279
338
  - spec/type_factory/dsl/test_adt.rb
280
339
  - spec/type_factory/dsl/test_any.rb
281
340
  - spec/type_factory/dsl/test_attribute.rb
@@ -312,172 +371,198 @@ required_ruby_version: !ruby/object:Gem::Requirement
312
371
  version: '0'
313
372
  required_rubygems_version: !ruby/object:Gem::Requirement
314
373
  requirements:
315
- - - ">"
374
+ - - ">="
316
375
  - !ruby/object:Gem::Version
317
- version: 1.3.1
376
+ version: '0'
318
377
  requirements: []
319
- rubyforge_project:
320
- rubygems_version: 2.5.2
378
+ rubygems_version: 3.1.2
321
379
  signing_key:
322
380
  specification_version: 4
323
381
  summary: Finitio - in Ruby
324
382
  test_files:
325
- - spec/spec_helper.rb
326
- - spec/type_factory/factory/test_tuple_type.rb
327
- - spec/type_factory/factory/test_builtin.rb
328
- - spec/type_factory/factory/test_set_type.rb
329
- - spec/type_factory/factory/test_struct_type.rb
330
- - spec/type_factory/factory/test_sub_type.rb
331
- - spec/type_factory/factory/test_seq_type.rb
383
+ - spec/inference/test_inference.rb
384
+ - spec/json_schema/test_union_type.rb
385
+ - spec/json_schema/test_alias_type.rb
386
+ - spec/json_schema/test_builtin_type.rb
387
+ - spec/json_schema/test_set_type.rb
388
+ - spec/json_schema/test_multi_tuple_type.rb
389
+ - spec/json_schema/test_sub_type.rb
390
+ - spec/json_schema/test_relation_type.rb
391
+ - spec/json_schema/test_multi_relation_type.rb
392
+ - spec/json_schema/test_any_type.rb
393
+ - spec/json_schema/test_ad_type.rb
394
+ - spec/json_schema/test_seq_type.rb
395
+ - spec/json_schema/test_tuple_type.rb
396
+ - spec/json_schema/test_struct_type.rb
397
+ - spec/syntax/nodes/test_system.rb
398
+ - spec/syntax/nodes/test_union_type.rb
399
+ - spec/syntax/nodes/test_constraints.rb
400
+ - spec/syntax/nodes/test_builtin_type.rb
401
+ - spec/syntax/nodes/test_set_type.rb
402
+ - spec/syntax/nodes/test_unnamed_constraint.rb
403
+ - spec/syntax/nodes/test_type_ref.rb
404
+ - spec/syntax/nodes/test_constraint_def.rb
405
+ - spec/syntax/nodes/imported.fio
406
+ - spec/syntax/nodes/test_sub_type.rb
407
+ - spec/syntax/nodes/test_contract.rb
408
+ - spec/syntax/nodes/test_relation_type.rb
409
+ - spec/syntax/nodes/test_attribute.rb
410
+ - spec/syntax/nodes/test_any_type.rb
411
+ - spec/syntax/nodes/test_spacing.rb
412
+ - spec/syntax/nodes/test_import.rb
413
+ - spec/syntax/nodes/test_metadata.rb
414
+ - spec/syntax/nodes/test_ad_type.rb
415
+ - spec/syntax/nodes/test_named_constraint.rb
416
+ - spec/syntax/nodes/test_expression.rb
417
+ - spec/syntax/nodes/test_seq_type.rb
418
+ - spec/syntax/nodes/test_tuple_type.rb
419
+ - spec/syntax/nodes/test_comment.rb
420
+ - spec/syntax/nodes/test_type_def.rb
421
+ - spec/syntax/nodes/test_struct_type.rb
422
+ - spec/syntax/nodes/test_heading.rb
423
+ - spec/syntax/test_compile.rb
424
+ - spec/syntax/expr/test_free_variables.rb
425
+ - spec/syntax/expr/test_to_proc_source.rb
426
+ - spec/syntax/test_compile_type.rb
427
+ - spec/support/test_proc_with_code.rb
428
+ - spec/support/test_compare_attrs.rb
429
+ - spec/type_factory/dsl/test_struct.rb
430
+ - spec/type_factory/dsl/test_set.rb
332
431
  - spec/type_factory/dsl/test_attributes.rb
432
+ - spec/type_factory/dsl/test_seq.rb
333
433
  - spec/type_factory/dsl/test_builtin.rb
434
+ - spec/type_factory/dsl/test_multi_relation.rb
435
+ - spec/type_factory/dsl/test_union.rb
334
436
  - spec/type_factory/dsl/test_adt.rb
437
+ - spec/type_factory/dsl/test_attribute.rb
438
+ - spec/type_factory/dsl/test_subtype.rb
335
439
  - spec/type_factory/dsl/test_multi_tuple.rb
336
- - spec/type_factory/dsl/test_seq.rb
337
- - spec/type_factory/dsl/test_multi_relation.rb
440
+ - spec/type_factory/dsl/test_relation.rb
338
441
  - spec/type_factory/dsl/test_tuple.rb
339
- - spec/type_factory/dsl/test_set.rb
340
- - spec/type_factory/dsl/test_attribute.rb
341
442
  - spec/type_factory/dsl/test_any.rb
342
- - spec/type_factory/dsl/test_union.rb
343
- - spec/type_factory/dsl/test_struct.rb
344
- - spec/type_factory/dsl/test_relation.rb
345
- - spec/type_factory/dsl/test_subtype.rb
346
- - spec/attribute/test_initialize.rb
347
- - spec/attribute/test_equality.rb
348
- - spec/attribute/test_to_name.rb
349
- - spec/attribute/test_fetch_on.rb
350
- - spec/attribute/test_optional.rb
351
- - spec/attribute/test_required.rb
443
+ - spec/type_factory/factory/test_set_type.rb
444
+ - spec/type_factory/factory/test_sub_type.rb
445
+ - spec/type_factory/factory/test_builtin.rb
446
+ - spec/type_factory/factory/test_seq_type.rb
447
+ - spec/type_factory/factory/test_tuple_type.rb
448
+ - spec/type_factory/factory/test_struct_type.rb
352
449
  - spec/heading/test_hash_get.rb
450
+ - spec/heading/test_multi.rb
451
+ - spec/heading/test_to_name.rb
452
+ - spec/heading/test_looks_similar.rb
453
+ - spec/heading/test_each.rb
353
454
  - spec/heading/test_initialize.rb
455
+ - spec/heading/test_size.rb
456
+ - spec/heading/test_suppremum.rb
354
457
  - spec/heading/test_equality.rb
355
- - spec/heading/test_to_name.rb
356
- - spec/heading/test_multi.rb
357
458
  - spec/heading/test_hash.rb
358
459
  - spec/heading/test_allow_extra.rb
359
- - spec/heading/test_size.rb
360
- - spec/heading/test_each.rb
361
- - spec/test_finitio.rb
362
- - spec/finitio/test_ast.rb
363
- - spec/finitio/with-duplicates.fio
364
- - spec/finitio/system.fio
365
- - spec/finitio/test_system.rb
366
- - spec/finitio/test_parse.rb
367
- - spec/system/test_initialize.rb
368
- - spec/system/test_get_type.rb
369
- - spec/system/test_fetch.rb
460
+ - spec/generation/test_generation.rb
370
461
  - spec/system/test_dup.rb
371
- - spec/system/test_add_type.rb
462
+ - spec/system/fixtures/system.fio
463
+ - spec/system/fixtures/with-duplicates.fio
372
464
  - spec/system/test_dsl.rb
373
- - spec/type/multi_relation_type/test_name.rb
374
- - spec/type/multi_relation_type/test_initialize.rb
375
- - spec/type/multi_relation_type/test_equality.rb
376
- - spec/type/multi_relation_type/test_include.rb
377
- - spec/type/multi_relation_type/test_default_name.rb
378
- - spec/type/multi_relation_type/test_dress.rb
379
- - spec/type/sub_type/test_name.rb
380
- - spec/type/sub_type/test_initialize.rb
381
- - spec/type/sub_type/test_equality.rb
382
- - spec/type/sub_type/test_include.rb
383
- - spec/type/sub_type/test_default_name.rb
384
- - spec/type/sub_type/test_dress.rb
385
- - spec/type/proxy_type/test_resolve.rb
386
- - spec/type/proxy_type/test_delegation.rb
387
- - spec/type/ad_type/test_name.rb
388
- - spec/type/ad_type/test_initialize.rb
389
- - spec/type/ad_type/test_include.rb
390
- - spec/type/ad_type/test_default_name.rb
391
- - spec/type/ad_type/test_dress.rb
392
- - spec/type/struct_type/test_name.rb
393
- - spec/type/struct_type/test_initialize.rb
394
- - spec/type/struct_type/test_equality.rb
395
- - spec/type/struct_type/test_include.rb
396
- - spec/type/struct_type/test_default_name.rb
397
- - spec/type/struct_type/test_dress.rb
398
- - spec/type/set_type/test_name.rb
465
+ - spec/system/test_initialize.rb
466
+ - spec/system/test_add_type.rb
467
+ - spec/system/test_check_and_warn.rb
468
+ - spec/system/test_fetch.rb
469
+ - spec/system/test_get_type.rb
470
+ - spec/test_finitio.rb
471
+ - spec/spec_helper.rb
472
+ - spec/type/union_type/test_dress.rb
473
+ - spec/type/union_type/test_default_name.rb
474
+ - spec/type/union_type/test_initialize.rb
475
+ - spec/type/union_type/test_suppremum.rb
476
+ - spec/type/union_type/test_include.rb
477
+ - spec/type/union_type/test_equality.rb
478
+ - spec/type/union_type/test_name.rb
479
+ - spec/type/set_type/test_dress.rb
480
+ - spec/type/set_type/test_default_name.rb
399
481
  - spec/type/set_type/test_initialize.rb
400
- - spec/type/set_type/test_equality.rb
482
+ - spec/type/set_type/test_suppremum.rb
401
483
  - spec/type/set_type/test_include.rb
402
- - spec/type/set_type/test_default_name.rb
403
- - spec/type/set_type/test_dress.rb
404
- - spec/type/relation_type/test_name.rb
405
- - spec/type/relation_type/test_initialize.rb
406
- - spec/type/relation_type/test_equality.rb
407
- - spec/type/relation_type/test_include.rb
408
- - spec/type/relation_type/test_default_name.rb
409
- - spec/type/relation_type/test_dress.rb
410
- - spec/type/any_type/test_name.rb
411
- - spec/type/any_type/test_initialize.rb
412
- - spec/type/any_type/test_equality.rb
413
- - spec/type/any_type/test_include.rb
414
- - spec/type/any_type/test_default_name.rb
415
- - spec/type/any_type/test_dress.rb
416
- - spec/type/builtin_type/test_name.rb
484
+ - spec/type/set_type/test_equality.rb
485
+ - spec/type/set_type/test_name.rb
486
+ - spec/type/alias_type/test_default_name.rb
487
+ - spec/type/alias_type/test_delegation.rb
488
+ - spec/type/alias_type/test_name.rb
489
+ - spec/type/multi_tuple_type/test_dress.rb
490
+ - spec/type/multi_tuple_type/test_default_name.rb
491
+ - spec/type/multi_tuple_type/test_initialize.rb
492
+ - spec/type/multi_tuple_type/test_include.rb
493
+ - spec/type/multi_tuple_type/test_equality.rb
494
+ - spec/type/multi_tuple_type/test_name.rb
495
+ - spec/type/struct_type/test_dress.rb
496
+ - spec/type/struct_type/test_default_name.rb
497
+ - spec/type/struct_type/test_initialize.rb
498
+ - spec/type/struct_type/test_include.rb
499
+ - spec/type/struct_type/test_equality.rb
500
+ - spec/type/struct_type/test_name.rb
501
+ - spec/type/builtin_type/test_dress.rb
502
+ - spec/type/builtin_type/test_default_name.rb
417
503
  - spec/type/builtin_type/test_initialize.rb
418
- - spec/type/builtin_type/test_equality.rb
419
504
  - spec/type/builtin_type/test_include.rb
420
- - spec/type/builtin_type/test_default_name.rb
421
- - spec/type/builtin_type/test_dress.rb
422
- - spec/type/union_type/test_name.rb
423
- - spec/type/union_type/test_initialize.rb
424
- - spec/type/union_type/test_equality.rb
425
- - spec/type/union_type/test_include.rb
426
- - spec/type/union_type/test_default_name.rb
427
- - spec/type/union_type/test_dress.rb
428
- - spec/type/tuple_type/test_name.rb
505
+ - spec/type/builtin_type/test_equality.rb
506
+ - spec/type/builtin_type/test_name.rb
507
+ - spec/type/multi_relation_type/test_dress.rb
508
+ - spec/type/multi_relation_type/test_default_name.rb
509
+ - spec/type/multi_relation_type/test_initialize.rb
510
+ - spec/type/multi_relation_type/test_include.rb
511
+ - spec/type/multi_relation_type/test_equality.rb
512
+ - spec/type/multi_relation_type/test_name.rb
513
+ - spec/type/any_type/test_dress.rb
514
+ - spec/type/any_type/test_default_name.rb
515
+ - spec/type/any_type/test_initialize.rb
516
+ - spec/type/any_type/test_include.rb
517
+ - spec/type/any_type/test_equality.rb
518
+ - spec/type/any_type/test_name.rb
519
+ - spec/type/relation_type/test_dress.rb
520
+ - spec/type/relation_type/test_default_name.rb
521
+ - spec/type/relation_type/test_initialize.rb
522
+ - spec/type/relation_type/test_suppremum.rb
523
+ - spec/type/relation_type/test_include.rb
524
+ - spec/type/relation_type/test_equality.rb
525
+ - spec/type/relation_type/test_name.rb
526
+ - spec/type/test_unconstrained.rb
527
+ - spec/type/tuple_type/test_dress.rb
528
+ - spec/type/tuple_type/test_default_name.rb
429
529
  - spec/type/tuple_type/test_initialize.rb
430
- - spec/type/tuple_type/test_equality.rb
530
+ - spec/type/tuple_type/test_suppremum.rb
431
531
  - spec/type/tuple_type/test_include.rb
432
- - spec/type/tuple_type/test_default_name.rb
433
- - spec/type/tuple_type/test_dress.rb
434
- - spec/type/alias_type/test_name.rb
435
- - spec/type/alias_type/test_default_name.rb
436
- - spec/type/alias_type/test_delegation.rb
437
- - spec/type/seq_type/test_name.rb
532
+ - spec/type/tuple_type/test_equality.rb
533
+ - spec/type/tuple_type/test_name.rb
534
+ - spec/type/sub_type/test_dress.rb
535
+ - spec/type/sub_type/test_default_name.rb
536
+ - spec/type/sub_type/test_initialize.rb
537
+ - spec/type/sub_type/test_include.rb
538
+ - spec/type/sub_type/test_equality.rb
539
+ - spec/type/sub_type/test_name.rb
540
+ - spec/type/seq_type/test_dress.rb
541
+ - spec/type/seq_type/test_default_name.rb
438
542
  - spec/type/seq_type/test_initialize.rb
439
- - spec/type/seq_type/test_equality.rb
543
+ - spec/type/seq_type/test_suppremum.rb
440
544
  - spec/type/seq_type/test_include.rb
441
- - spec/type/seq_type/test_default_name.rb
442
- - spec/type/seq_type/test_dress.rb
443
- - spec/type/multi_tuple_type/test_name.rb
444
- - spec/type/multi_tuple_type/test_initialize.rb
445
- - spec/type/multi_tuple_type/test_equality.rb
446
- - spec/type/multi_tuple_type/test_include.rb
447
- - spec/type/multi_tuple_type/test_default_name.rb
448
- - spec/type/multi_tuple_type/test_dress.rb
449
- - spec/syntax/nodes/test_tuple_type.rb
450
- - spec/syntax/nodes/test_set_type.rb
451
- - spec/syntax/nodes/test_union_type.rb
452
- - spec/syntax/nodes/test_heading.rb
453
- - spec/syntax/nodes/test_builtin_type.rb
454
- - spec/syntax/nodes/imported.fio
455
- - spec/syntax/nodes/test_import.rb
456
- - spec/syntax/nodes/test_constraints.rb
457
- - spec/syntax/nodes/test_type_ref.rb
458
- - spec/syntax/nodes/test_system.rb
459
- - spec/syntax/nodes/test_attribute.rb
460
- - spec/syntax/nodes/test_contract.rb
461
- - spec/syntax/nodes/test_named_constraint.rb
462
- - spec/syntax/nodes/test_metadata.rb
463
- - spec/syntax/nodes/test_type_def.rb
464
- - spec/syntax/nodes/test_struct_type.rb
465
- - spec/syntax/nodes/test_sub_type.rb
466
- - spec/syntax/nodes/test_any_type.rb
467
- - spec/syntax/nodes/test_constraint_def.rb
468
- - spec/syntax/nodes/test_ad_type.rb
469
- - spec/syntax/nodes/test_expression.rb
470
- - spec/syntax/nodes/test_relation_type.rb
471
- - spec/syntax/nodes/test_spacing.rb
472
- - spec/syntax/nodes/test_comment.rb
473
- - spec/syntax/nodes/test_seq_type.rb
474
- - spec/syntax/nodes/test_unnamed_constraint.rb
475
- - spec/syntax/expr/test_to_proc_source.rb
476
- - spec/syntax/expr/test_free_variables.rb
477
- - spec/syntax/test_compile.rb
478
- - spec/syntax/test_compile_type.rb
479
- - spec/constraint/test_name.rb
480
- - spec/constraint/test_equality.rb
481
- - spec/constraint/test_anonymous.rb
545
+ - spec/type/seq_type/test_equality.rb
546
+ - spec/type/seq_type/test_name.rb
547
+ - spec/type/test_suppremum.rb
548
+ - spec/type/ad_type/test_dress.rb
549
+ - spec/type/ad_type/test_default_name.rb
550
+ - spec/type/ad_type/test_initialize.rb
551
+ - spec/type/ad_type/test_include.rb
552
+ - spec/type/ad_type/test_name.rb
553
+ - spec/finitio/test_system.rb
554
+ - spec/finitio/test_stdlib_memoization.rb
555
+ - spec/finitio/system.fio
556
+ - spec/finitio/test_parse.rb
557
+ - spec/finitio/test_ast.rb
558
+ - spec/attribute/test_to_name.rb
559
+ - spec/attribute/test_required.rb
560
+ - spec/attribute/test_initialize.rb
561
+ - spec/attribute/test_fetch_on.rb
562
+ - spec/attribute/test_optional.rb
563
+ - spec/attribute/test_equality.rb
482
564
  - spec/constraint/test_named.rb
565
+ - spec/constraint/test_anonymous.rb
566
+ - spec/constraint/test_equality.rb
483
567
  - spec/constraint/test_triple_equal.rb
568
+ - spec/constraint/test_name.rb