1
1
mirror of https://github.com/github/semantic.git synced 2024-12-27 17:05:33 +03:00
Commit Graph

335 Commits

Author SHA1 Message Date
Rob Rix
867772d749 Remove the corresponding annotatedToRows test. 2015-12-22 13:04:39 -05:00
Rob Rix
2a8a879590 Remove the hard-coded test. 2015-12-22 13:04:33 -05:00
Rob Rix
c4da8fb229 Generalize the single-line leaf test to arbitrary sources. 2015-12-22 13:04:07 -05:00
Rob Rix
690966086e Remove some redundant parentheses. 2015-12-22 12:54:01 -05:00
Rob Rix
38a317156b Move arbitrary term generation into its own module. 2015-12-22 12:53:31 -05:00
Rob Rix
fbe899be21 Remove the changed flag from Line. 2015-12-22 12:47:12 -05:00
Rob Rix
3b3a62a777 Test that single-line leaves are split correctly. 2015-12-22 12:39:54 -05:00
Rob Rix
597fe099bc Pass an additional open predicate to adjoinRowsBy. 2015-12-21 23:09:14 -05:00
Rob Rix
2c3ff54dc6 Assertive assertions. 2015-12-21 20:23:56 -05:00
Rob Rix
1f6440e7a1 Test that openTerm returns Just for open terms. 2015-12-21 20:08:05 -05:00
Rob Rix
41e03beb85 Tweak the test name’s wording. 2015-12-21 20:07:53 -05:00
Rob Rix
7ee39b2d40 Test that openTerm classifies strings ending with newlines as closed. 2015-12-21 20:06:19 -05:00
Rob Rix
d1abf65cdd Test openLineBy over openTerm. 2015-12-21 20:04:05 -05:00
Rob Rix
60edd3b19a Omit the categories in the splitTermByLines test. 2015-12-21 20:02:17 -05:00
Rob Rix
b45e10eb92 Port the termToLines test to splitTermByLines. 2015-12-21 19:54:40 -05:00
Rob Rix
61067a6f2a Remove the ranges from the annotatedToRows tests. 2015-12-21 19:44:07 -05:00
Rob Rix
cbc1240946 Avoid needless $s. 2015-12-21 13:03:08 -05:00
Rob Rix
671904cf61 Remove redundant parentheses. 2015-12-21 13:01:46 -05:00
Rob Rix
c0a566be4a Eta-reduce the definition of unchanged. 2015-12-21 13:01:38 -05:00
Rob Rix
3c85d4d0af Use Data.Maybe’s isJust & isNothing to test for open elements. 2015-12-21 13:00:46 -05:00
Rob Rix
64362581c4 Rename adjoinBy → adjoinRowsBy. 2015-12-21 12:57:50 -05:00
Rob Rix
d4cfb276a4 Rename adjoin2By → adjoinBy. 2015-12-21 12:57:11 -05:00
Rob Rix
446383565c Test adjoin2By. 2015-12-21 10:04:47 -05:00
Rob Rix
9404ee75c3 Test openLineBy, not openLine. 2015-12-21 10:01:00 -05:00
Rob Rix
c9f13f2f41 Define the arbitrary instances for Row and Line in terms of an Arbitrary type a. 2015-12-21 09:58:20 -05:00
Rob Rix
7964727da6 Add a type parameter to Line. 2015-12-18 16:41:50 -05:00
Rob Rix
eb89e828bb Add a type parameter to Row.
Currently it’s a phantom type.
2015-12-18 16:37:16 -05:00
joshvera
9617e7a842 import Data.Text.Arbitrary in SplitSpec/TermSpec 2015-12-18 15:03:54 -05:00
joshvera
c5e214a5d2 Use Text.mempty in RangeSpec 2015-12-18 15:03:36 -05:00
Rob Rix
e8f57d6b27 Remove the redundant test. 2015-12-18 13:58:13 -05:00
Rob Rix
60edfc661a Test promotion through empty lines. 2015-12-18 13:58:02 -05:00
Rob Rix
de456dfe49 Remove the redundant test. 2015-12-18 13:40:54 -05:00
Rob Rix
e1cc29e032 Don’t expect empty rows to be elided. 2015-12-18 13:27:16 -05:00
Rob Rix
963887a115 Test the property that we don’t promote through empty lines onto closed lines.
This is falsified by empty row elision.
2015-12-18 13:27:03 -05:00
Rob Rix
7e67a6a490 Remove a redundant test. 2015-12-18 13:22:30 -05:00
Rob Rix
0b4aeb06af Remove the redundant test. 2015-12-18 13:19:51 -05:00
Rob Rix
d699adc714 Test the property that closed rows are closed. 2015-12-18 13:19:40 -05:00
Rob Rix
c02bd6e11a EmptyLines are not closed. 2015-12-18 13:19:05 -05:00
Rob Rix
8bb258a8e6 Add a predicate for closed rows. 2015-12-18 13:17:03 -05:00
Rob Rix
8f2473fd48 Remove a redundant test. 2015-12-18 13:05:08 -05:00
Rob Rix
6ffe3719d0 Reformat. 2015-12-18 13:04:52 -05:00
Rob Rix
595293e1a5 Actually test the property. 2015-12-18 13:02:46 -05:00
Rob Rix
e49715dd86 Use forAll to stub in the test. 2015-12-18 12:28:57 -05:00
Rob Rix
a549354030 Stub in a property test of appending onto open rows. 2015-12-18 12:11:01 -05:00
Rob Rix
013ed0e227 Add a predicate for open rows. 2015-12-18 12:10:46 -05:00
Rob Rix
d1020f4ca3 Tweak some test names. 2015-12-18 11:05:41 -05:00
Rob Rix
099096b409 Spacing. 2015-12-18 11:04:49 -05:00
Rob Rix
dd924c68dd Test that empty diffs have no hunks. 2015-12-18 09:49:33 -05:00
Rob Rix
bf8de73934 Stub in a PatchOutput spec. 2015-12-18 09:49:21 -05:00
Josh Vera
a124943822 Update Spec.hs 2015-12-17 13:35:18 -05:00
joshvera
09faaf9b4e clean up 2015-12-17 13:10:12 -05:00
joshvera
0223de4145 Enable autodiscovery of tests
Also splits up tests into different specs
2015-12-17 13:08:47 -05:00
Rob Rix
b4bfac45ce Correct the tests. 2015-12-16 23:27:00 -05:00
joshvera
fe38ebe548 Test unicode equivalent terms are replacements 2015-12-16 14:18:09 -05:00
joshvera
c71c9fd4fd Write out code points in test 2015-12-16 13:09:07 -05:00
joshvera
b4fb04fccc Test equivalent precomposed/decomposed unicode is not equal 2015-12-16 11:58:52 -05:00
Rob Rix
9604238c02 Test the asymmetry of intersectionWith. 2015-12-14 18:20:21 -05:00
Rob Rix
a357c155f8 Test the ordering of keys. 2015-12-14 18:18:40 -05:00
Rob Rix
ae298f287a Test that unions does not duplicate elements. 2015-12-14 18:17:48 -05:00
Rob Rix
b2cceea842 Rename the unions test. 2015-12-14 18:16:22 -05:00
Rob Rix
e9cac45f65 Test union asymmetry. 2015-12-14 18:15:56 -05:00
Rob Rix
79d5e38b26 Use distinct elements in a and b. 2015-12-14 18:15:14 -05:00
Rob Rix
4fd12e7223 Test unions. 2015-12-14 18:13:19 -05:00
Rob Rix
62a4327bda Test the asymmetry of difference. 2015-12-14 18:11:42 -05:00
Rob Rix
1d7dced61f Test keys. 2015-12-14 18:10:20 -05:00
Rob Rix
2ee77fe490 Import OrderedMap instead of Data.Map. 2015-12-14 17:57:24 -05:00
Rob Rix
e96a77aa1a Test the intersection. 2015-12-14 17:54:22 -05:00
Rob Rix
aeb99b54a0 Test the union. 2015-12-14 17:53:05 -05:00
Rob Rix
ab6658edc8 Extract the fixtures. 2015-12-14 17:51:15 -05:00
Rob Rix
26400a24a8 Import & run the OrderedMapSpec spec. 2015-12-14 17:49:40 -05:00
Rob Rix
0401bcb83d Rename the spec function. 2015-12-14 17:48:59 -05:00
Rob Rix
7f488bb351 Knock the nesting out. 2015-12-14 17:47:42 -05:00
Rob Rix
2dbf0fc7c3 OrderedMapSpec imports hspec. 2015-12-14 17:44:42 -05:00
Rob Rix
aebf6dd488 Add a spec testing difference. 2015-12-14 17:43:49 -05:00
Rob Rix
205a885305 Stub in an OrderedMapSpec module. 2015-12-14 17:42:57 -05:00
Rob Rix
40f6df8b5d Merge branch 'master' into ordered-map 2015-12-14 17:35:08 -05:00
Josh Vera
6850b402d4 Merge pull request #326 from github/post-process-leaf-nodes-in-terms
Post process leaf nodes in terms
2015-12-14 17:20:16 -05:00
Rob Rix
86cf5df9e7 Merge pull request #327 from github/remove-info-line-range
Remove line range from Info
2015-12-14 17:20:12 -05:00
Rob Rix
2cdbc9ad5e Update the tests to point at OrderedMap. 2015-12-14 17:15:44 -05:00
joshvera
f5dadfd964 fix tests 2015-12-14 16:09:12 -05:00
Rob Rix
cded6c0d7d Get the substrings out at the same time as computing the ranges. 2015-12-14 15:37:30 -05:00
Rob Rix
fdb1a6a9f7 Correct the tests. 2015-12-14 15:33:16 -05:00
Rob Rix
06a826c5f0 Merge branch 'master' into post-process-leaf-nodes-in-terms 2015-12-14 15:28:04 -05:00
Rob Rix
9d61286d81 Take only maxLength elements for keyed nodes. 2015-12-14 15:18:56 -05:00
Rob Rix
32d460bce7 Rename n to maxDepth. 2015-12-14 15:18:16 -05:00
Rob Rix
686325bf4c Rename m to maxLength. 2015-12-14 15:17:26 -05:00
Rob Rix
5c90ecde8e Use the cube of the max length, not the square.
I.e. shrink the produces lists.
2015-12-14 15:15:56 -05:00
Rob Rix
33c0dacd55 Take m, not n. 2015-12-14 15:13:32 -05:00
Rob Rix
2f726d4ba6 🔥 ArbitraryDiff. 2015-12-14 15:12:07 -05:00
Rob Rix
a93908a5f8 Test the reflexivity of Diff equality by generating a pair of terms and diffing them. 2015-12-14 15:11:59 -05:00
Rob Rix
2e5d85748b Capture the construction of strictly smaller terms in the where clause. 2015-12-14 15:08:32 -05:00
Rob Rix
3e22121d66 Test that the offset is applied. 2015-12-14 12:53:14 -05:00
Rob Rix
48464ac552 Test that we skip whitespace at the end. 2015-12-14 12:52:37 -05:00
Rob Rix
bfdf388b5c Test that we skip whitespace at the start. 2015-12-14 12:52:01 -05:00
Rob Rix
7bf7d22d8e Test that multiple whitespace characters are skipped. 2015-12-14 12:51:23 -05:00
Rob Rix
1bdfa51702 Test that multiple words → multiple ranges. 2015-12-14 12:49:01 -05:00
Rob Rix
da6995ae54 Test that a single word string is covered by the returned range. 2015-12-14 12:48:04 -05:00
Rob Rix
fca022109c Uh, ok. 2015-12-14 12:47:51 -05:00
Rob Rix
ce5854e019 Test that the empty string doesn’t have any word ranges in it. 2015-12-14 12:46:53 -05:00
Rob Rix
8951bebfa7 Test that rangesOfWordsFrom doesn’t produce words for whitespace. 2015-12-14 12:46:20 -05:00
Rob Rix
7bc4c62151 Increase the probability of leaves as a cheap way speed up the tests. 2015-12-11 16:11:10 -05:00
Rob Rix
14e861da35 Test that diffing a term against itself produces a zero-cost diff. 2015-12-11 16:10:22 -05:00
Rob Rix
3bb9e704bf Remove the Arbitrary instance for Diff. 2015-12-11 16:07:11 -05:00
Rob Rix
0aa3154434 Test properties over ArbitraryDiff. 2015-12-11 16:07:06 -05:00
Rob Rix
c79113c18c ArbitraryDiff is Arbitrary. 2015-12-11 16:06:14 -05:00
Rob Rix
86d95d1d86 unDiff interprets diffs. 2015-12-11 16:04:41 -05:00
Rob Rix
21b2d7fdfd Stub in an ArbitraryDiff type. 2015-12-11 16:03:04 -05:00
Rob Rix
fa4e5011ac Test diff equality reflexivity. 2015-12-11 16:02:08 -05:00
Rob Rix
f9a72f75e1 Add a silly Arbitrary instance for Diff. 2015-12-11 16:02:02 -05:00
Rob Rix
d07cd36e40 CategorySet is Arbitrary. 2015-12-11 16:01:46 -05:00
Rob Rix
64c4787d81 CategorySet is Categorizable. 2015-12-11 16:01:40 -05:00
Rob Rix
90b3da2291 Add a fixed-member CategorySet type. 2015-12-11 16:01:28 -05:00
Rob Rix
f667109c28 Test _Term_ equality, not ArbitraryTerm equality. 2015-12-11 15:51:25 -05:00
Rob Rix
97ff45bd28 Remove an obsolete import. 2015-12-11 15:50:35 -05:00
Rob Rix
066e0511d1 🔥 arbitraryBounded. 2015-12-11 15:47:43 -05:00
Rob Rix
50090dd73a Make leaves likelier. 2015-12-11 15:47:23 -05:00
Rob Rix
91317207fe Resume generating arbitrary keyed nodes. 2015-12-11 15:47:19 -05:00
Rob Rix
9ece0af975 Bound depth by the cube root of the size parameter, and length by the square root. 2015-12-11 15:41:35 -05:00
Rob Rix
d9bb395f2c Remove the Arbitrary instance for Syntax. 2015-12-11 15:03:30 -05:00
Rob Rix
2646ebf4ae We need this import for liftM. 2015-12-11 15:03:19 -05:00
Rob Rix
77c9970f25 Don’t bind a variable for n. 2015-12-11 15:03:03 -05:00
Rob Rix
3efa6e6ff4 Recur into arbitrary, and produce arbitrary Keyed nodes. 2015-12-11 15:02:29 -05:00
Rob Rix
76f78234aa Define shrink by case analysis. 2015-12-11 15:01:44 -05:00
Rob Rix
2e97bf44fc Generate arbitrary Fixed terms with bounds &c. 2015-12-11 14:40:29 -05:00
Rob Rix
c4326d54a0 Composition 🎉 2015-12-11 14:39:56 -05:00
Rob Rix
2764c34b8d Generate arbitrary terms using frequency & sized bounds. 2015-12-11 14:38:57 -05:00
Rob Rix
046c3d1813 Try to simplify syntax shrinking in terms. 2015-12-11 14:38:52 -05:00
Rob Rix
ed929f07a0 Bind in the opposite direction. 2015-12-11 14:17:04 -05:00
Rob Rix
02c19d1d93 Shrink Keyed syntax values to subsequences. 2015-12-11 14:14:58 -05:00
Rob Rix
b643e9ce5a Shrink indexed/fixed nodes to subsequences. 2015-12-11 14:07:31 -05:00
Rob Rix
68bf2cecfc Add an Arbitrary instance for Syntax. 2015-12-11 14:05:59 -05:00
Rob Rix
913d484a67 Hide Fixed. 2015-12-11 14:05:46 -05:00
Rob Rix
46dfff2b7c Derive the genericity of ArbitraryTerm. 2015-12-11 13:37:42 -05:00
Rob Rix
f983ec0cc3 Shrink Keyed subterms recursively. 2015-12-11 11:19:13 -05:00
Rob Rix
e1161b46db Shrink Fixed subterms recursively. 2015-12-11 11:17:51 -05:00
Rob Rix
39cfe5f96f Remove a redundant permutation of Fixed terms. 2015-12-11 11:17:39 -05:00
Rob Rix
d5041aaf5e Shrink subterms recursively. 2015-12-11 11:17:20 -05:00
Rob Rix
65bd8b19c8 Remove a redundant variation. 2015-12-11 11:16:52 -05:00
Rob Rix
1cb56f5eb3 Make sure never to shrink to the argument. 2015-12-11 11:16:02 -05:00
Rob Rix
6383404fc4 Shrink subsequences of Fixed terms. 2015-12-11 11:15:39 -05:00
Rob Rix
dacb2dba48 Shrink subsequences of Indexed terms. 2015-12-11 11:15:21 -05:00
Rob Rix
8d0272bdac Implement shrinking over ArbitraryTerm. 2015-12-11 11:14:33 -05:00
Rob Rix
7dd4631053 Remove ArbitrarySyntax. 2015-12-11 11:00:52 -05:00
Rob Rix
40eafd315d Remove the arbitrary instance for ArbitrarySyntax. 2015-12-11 11:00:26 -05:00
Rob Rix
dbbada55da Construct bounded terms. 2015-12-11 11:00:18 -05:00
Rob Rix
e6bddf1cf1 Bound arbitrary Keyed nodes.
I really hope we can clean this up.
2015-12-11 11:00:06 -05:00
Rob Rix
a7c959db6c Use the ordinary ArbitraryTerm constructor. 2015-12-11 10:34:43 -05:00
Rob Rix
2cbe8959fe We don’t need to use ArbitrarySyntax for this. 2015-12-11 10:33:46 -05:00
Rob Rix
fd0c1e7abe Attempt to define the selection of an arbitrary bounded term. 2015-12-11 10:32:31 -05:00
Rob Rix
fda61b074f ArbitraryTerm → Term eliminator. 2015-12-11 09:14:54 -05:00