joshvera
|
28e5b60bbc
|
fix tests
|
2015-12-29 15:24:13 -05:00 |
|
joshvera
|
a3051c531d
|
Merge remote-tracking branch 'origin/master' into use-text
|
2015-12-29 15:13:57 -05:00 |
|
Rob Rix
|
7342c93038
|
Revert "Extend Row’s Arbitrary instance to two parameters."
This reverts commit 8d48b02705633ee97aa894b1ca5b3af043b3422c.
|
2015-12-29 14:58:06 -05:00 |
|
Rob Rix
|
ee3c3c8bd0
|
Extend Row’s Arbitrary instance to two parameters.
|
2015-12-29 14:42:35 -05:00 |
|
Rob Rix
|
5416edbcc4
|
Generate syntax with String leaves.
This reverts commit 3c4056c094f88daf1b6aa5c7f41799aa595ccdce.
|
2015-12-29 10:21:09 -05:00 |
|
Rob Rix
|
c9ab8a131d
|
Correct the tests.
|
2015-12-24 16:38:50 -05:00 |
|
Rob Rix
|
0866ef52bd
|
Merge branch 'diff-performance' into patch
|
2015-12-24 16:33:24 -05:00 |
|
Rob Rix
|
7a49534034
|
Use makeLine as appropriate in the tests.
|
2015-12-24 10:44:40 -05:00 |
|
Rob Rix
|
d355f268e6
|
Hide ++ in the tests.
|
2015-12-23 23:44:02 -05:00 |
|
Rob Rix
|
69aadf4ec5
|
Rename makeSource → fromList .
|
2015-12-23 23:37:51 -05:00 |
|
Rob Rix
|
b138864068
|
Correct the tests.
|
2015-12-23 23:36:49 -05:00 |
|
Rob Rix
|
0bb6462fad
|
Rename unSource to toList.
|
2015-12-23 23:26:37 -05:00 |
|
Rob Rix
|
e9449fccb8
|
Move Source & its API to the Source module.
|
2015-12-23 22:38:20 -05:00 |
|
Rob Rix
|
d7ad161495
|
Build leaves from the sources on either side.
|
2015-12-23 22:34:27 -05:00 |
|
Rob Rix
|
2e823392d1
|
Filter the strings in the sources.
|
2015-12-23 22:30:11 -05:00 |
|
Rob Rix
|
f1ab391423
|
arbitraryLeaf produces a Source.
|
2015-12-23 22:27:48 -05:00 |
|
Rob Rix
|
5e8e9bda5f
|
Construct leaves with subsources.
|
2015-12-23 22:27:42 -05:00 |
|
Rob Rix
|
7b6bc623c9
|
Get some more total ranges from sources.
|
2015-12-23 22:27:30 -05:00 |
|
Rob Rix
|
adc850f328
|
Unwrap the source before filtering.
|
2015-12-23 22:27:21 -05:00 |
|
Rob Rix
|
75ead61274
|
Move getTotalRange into the tests.
It’s kind of a lie.
|
2015-12-23 22:20:35 -05:00 |
|
Rob Rix
|
99b04b4038
|
isOnSingleLine takes a Source.
|
2015-12-23 22:19:29 -05:00 |
|
Rob Rix
|
e0560d272b
|
Use getTotalRange in the tests.
|
2015-12-23 22:18:10 -05:00 |
|
Rob Rix
|
60aecae119
|
Add an Arbitrary instance over Source.
|
2015-12-23 22:18:01 -05:00 |
|
Rob Rix
|
4219f438be
|
Make sources in the openLineBy tests.
|
2015-12-23 22:10:30 -05:00 |
|
Rob Rix
|
6049a99ed7
|
Merge branch 'split-refactoring' into patch
|
2015-12-22 19:01:50 -05:00 |
|
Rob Rix
|
e2cc92bdf7
|
Move Row into the Row module.
|
2015-12-22 17:24:58 -05:00 |
|
Rob Rix
|
4c395ff1d1
|
Import the Line module in the tests.
|
2015-12-22 17:22:07 -05:00 |
|
Rob Rix
|
1621dca3bc
|
Remove the offset functions.
|
2015-12-22 17:12:08 -05:00 |
|
Rob Rix
|
08d03e933c
|
Remove the term construction helpers.
|
2015-12-22 17:11:49 -05:00 |
|
Rob Rix
|
ddf4ccd141
|
Remove the row text functions.
|
2015-12-22 17:10:57 -05:00 |
|
Rob Rix
|
3d1fb64cbc
|
Remove span .
|
2015-12-22 17:10:49 -05:00 |
|
Rob Rix
|
52a057b577
|
Remove the Arbitrary instance for HTML.
|
2015-12-22 17:08:50 -05:00 |
|
Rob Rix
|
6663dfe87b
|
openMaybe is defined over Maybe Bool.
|
2015-12-22 17:08:02 -05:00 |
|
Rob Rix
|
b121ee54e3
|
Remove openString.
|
2015-12-22 17:06:55 -05:00 |
|
Rob Rix
|
821ee2e792
|
Test the identity case via openMaybe.
|
2015-12-22 17:06:51 -05:00 |
|
Rob Rix
|
cf00dcd95e
|
Test appending onto open rows via openMaybe.
|
2015-12-22 17:06:45 -05:00 |
|
Rob Rix
|
cfee3a90fc
|
Test promoting onto open lines via openMaybe.
|
2015-12-22 17:06:09 -05:00 |
|
Rob Rix
|
8f34f04dae
|
Test not promoting onto closed lines via openMaybe.
|
2015-12-22 17:05:35 -05:00 |
|
Rob Rix
|
7b2ac76422
|
Test not appending onto closed rows by means of openMaybe.
This is much faster.
|
2015-12-22 17:05:02 -05:00 |
|
Rob Rix
|
208df10e1a
|
Add an openMaybe function for quicker open/closed tests.
|
2015-12-22 17:02:34 -05:00 |
|
Rob Rix
|
c643f2ed58
|
Test not appending onto closed rows over strings.
|
2015-12-22 16:56:22 -05:00 |
|
Rob Rix
|
8c71fff97a
|
Test appending onto open rows over strings.
|
2015-12-22 16:55:53 -05:00 |
|
Rob Rix
|
cfa82876c1
|
Generalize the isOpen predicate.
|
2015-12-22 16:55:18 -05:00 |
|
Rob Rix
|
631e572ab3
|
Generalize the isClosed predicate.
|
2015-12-22 16:55:13 -05:00 |
|
Rob Rix
|
8599fd46d9
|
Test adjoinRowsBy using openString.
|
2015-12-22 16:52:36 -05:00 |
|
Rob Rix
|
3adfd06d5a
|
Add an open string selector.
|
2015-12-22 16:52:20 -05:00 |
|
Rob Rix
|
bbbd874722
|
Remove the openLineBy tests using openElement.
|
2015-12-22 16:35:23 -05:00 |
|
Rob Rix
|
bd3bee668a
|
Generalize the splitTermByLines test across arbitrary strings.
|
2015-12-22 16:34:32 -05:00 |
|
Rob Rix
|
ebb843ef4d
|
Remove the termToLines test.
|
2015-12-22 16:29:14 -05:00 |
|
Rob Rix
|
c41364a743
|
Remove the remaining annotatedToRows tests.
|
2015-12-22 16:28:49 -05:00 |
|
Rob Rix
|
9a496a6be5
|
Populate the indexed term with leaves.
|
2015-12-22 16:26:24 -05:00 |
|
Rob Rix
|
1b90bc0291
|
Add a function to construct a leaf from a pair of line ranges.
|
2015-12-22 16:26:07 -05:00 |
|
Rob Rix
|
6510e95526
|
Test that we always produce the maximum of the lines in two sources.
|
2015-12-22 16:10:05 -05:00 |
|
Rob Rix
|
603e750d67
|
Remove an unused let binding.
|
2015-12-22 15:55:59 -05:00 |
|
Rob Rix
|
ef027dba36
|
Test that we preserve the line counts in equal diffs.
|
2015-12-22 15:48:37 -05:00 |
|
Rob Rix
|
9e6f415dc6
|
Port the single-line empty unchanged indexed diff test to splitAnnotatedByLines.
|
2015-12-22 15:38:18 -05:00 |
|
Rob Rix
|
b3c0802e55
|
Use the abstracted predicate.
|
2015-12-22 14:44:57 -05:00 |
|
Rob Rix
|
780c8247a3
|
Abstract out a predicate for terms on a single line.
|
2015-12-22 14:44:49 -05:00 |
|
Rob Rix
|
b970f02c1d
|
Don’t offset arbitrary leaves.
|
2015-12-22 13:38:44 -05:00 |
|
Rob Rix
|
bf05d63401
|
Rename the tripling function.
|
2015-12-22 13:31:31 -05:00 |
|
Rob Rix
|
5a552dc97c
|
Simplify the single-line unchanged leaf property.
|
2015-12-22 13:29:36 -05:00 |
|
Rob Rix
|
0422098f9b
|
arbitraryLeaf doesn’t construct terms.
|
2015-12-22 13:29:12 -05:00 |
|
Rob Rix
|
aaaf8f27a4
|
Stub in a function to make arbitrary leaves & sources in some type.
|
2015-12-22 13:16:03 -05:00 |
|
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 |
|
Rob Rix
|
bc47d2743f
|
Represent ArbitraryTerm as an annotation/Term pair.
Capturing the recursive structure in `ArbitraryTerm` instead of
deferring it to `Term` allows us to simplify construction of arbitrary
inhabitants.
|
2015-12-11 09:14:43 -05:00 |
|
Rob Rix
|
6799d5eba1
|
Use record notation to unwrap ArbitrarySyntax.
|
2015-12-11 09:12:49 -05:00 |
|
Rob Rix
|
0c23f11d01
|
Abstract ArbitraryTerm over its annotation type.
|
2015-12-11 00:35:00 -05:00 |
|
Rob Rix
|
de9aa14da4
|
ArbitraryTerm is parameterized by its leaf type.
|
2015-12-11 00:33:43 -05:00 |
|
Rob Rix
|
2f744cd769
|
ArbitrarySyntax is Arbitrary.
|
2015-12-11 00:32:59 -05:00 |
|
Rob Rix
|
c7dbd6e79b
|
Add an ArbitrarySyntax type.
|
2015-12-11 00:32:46 -05:00 |
|
Rob Rix
|
a71a4d2e36
|
Adjoining onto no rows is also identity.
|
2015-12-11 00:24:37 -05:00 |
|
Rob Rix
|
de75e838d0
|
Test that adjoining onto empty rows is identity.
|
2015-12-11 00:23:57 -05:00 |
|
Rob Rix
|
390fa5ee73
|
Test that adjoining mempty is idempotent.
|
2015-12-11 00:22:21 -05:00 |
|
Rob Rix
|
9d71aefd04
|
Add an Arbitrary instance for Row.
|
2015-12-11 00:20:25 -05:00 |
|
Rob Rix
|
91140aa8fa
|
Add an Arbitrary instance for Line.
|
2015-12-11 00:19:48 -05:00 |
|
Rob Rix
|
e84d8804bf
|
Add an Arbitrary instance for HTML.
|
2015-12-11 00:19:07 -05:00 |
|
Rob Rix
|
06d9a7ef04
|
mempty!
|
2015-12-11 00:13:17 -05:00 |
|
Rob Rix
|
23d11c1cc8
|
adjoin2 is idempotent for additions of and onto empty rows.
|
2015-12-11 00:12:28 -05:00 |
|
Rob Rix
|
bec2f01f02
|
Reflexivity requires a == a.
|
2015-12-11 00:05:23 -05:00 |
|
Rob Rix
|
873441efde
|
Generate an arbitrary leaf.
|
2015-12-11 00:05:01 -05:00 |
|
Rob Rix
|
f59f92e1d4
|
Use the prop shorthand.
|
2015-12-10 23:59:19 -05:00 |
|
Rob Rix
|
9b2fda2a49
|
Test that equality is reflexive.
|
2015-12-10 23:55:31 -05:00 |
|
Rob Rix
|
aa9f1d6b23
|
Derive Show and Eq.
|
2015-12-10 23:55:21 -05:00 |
|
Rob Rix
|
9589264745
|
ArbitraryTerm is an instance of Arbitrary.
|
2015-12-10 23:45:14 -05:00 |
|
Rob Rix
|
54166e7662
|
Add an ArbitraryTerm newtype.
|
2015-12-10 23:45:05 -05:00 |
|
Rob Rix
|
60791ffc15
|
import QuickCheck.
|
2015-12-10 23:40:42 -05:00 |
|
Rob Rix
|
a9bb3583e7
|
Fix a faulty test.
|
2015-12-10 16:47:10 -05:00 |
|
Rob Rix
|
85d141e924
|
Test that openLine returns Nothing for closed lines.
|
2015-12-10 16:31:00 -05:00 |
|
Rob Rix
|
d9e63c0331
|
Clarify a test name.
|
2015-12-10 16:30:52 -05:00 |
|
Rob Rix
|
6a73248a46
|
Test that openLine will produce open lines.
|
2015-12-10 16:29:18 -05:00 |
|
Rob Rix
|
15f27c5faa
|
We have a leaf for the purposes of this test.
|
2015-12-10 15:48:23 -05:00 |
|
Rob Rix
|
9619d2fa7f
|
That is not how any of this works.
|
2015-12-10 15:47:34 -05:00 |
|
Rob Rix
|
46bd5bc545
|
Test that termToLines produces complete lines.
|
2015-12-10 15:41:02 -05:00 |
|
Rob Rix
|
325d6e6a73
|
Add a test of multi-line patches.
|
2015-12-10 15:11:56 -05:00 |
|
joshvera
|
1b370a059d
|
rename some tests
|
2015-12-10 14:26:49 -05:00 |
|
joshvera
|
2b0c9dc4e2
|
Fix some of the tests
|
2015-12-10 14:21:52 -05:00 |
|
Rob Rix
|
0c9308b6ae
|
Use Break to represent newlines.
|
2015-12-10 11:35:46 -05:00 |
|
joshvera
|
eecfd4ff6d
|
promotes HTML through empty lines
|
2015-12-09 17:38:40 -05:00 |
|
joshvera
|
a05f03dd92
|
add some test combinators
|
2015-12-09 17:29:25 -05:00 |
|
joshvera
|
f3381509b7
|
remove adjoinRows tests
|
2015-12-09 17:29:11 -05:00 |
|
joshvera
|
5a252911a2
|
Fix incorrect index in test
|
2015-12-09 15:54:31 -05:00 |
|
Rob Rix
|
99bc580df2
|
Correct a fixture.
|
2015-12-09 15:28:42 -05:00 |
|
Rob Rix
|
4585545eab
|
Test that we don’t promote newlines through empty lines.
|
2015-12-09 14:56:33 -05:00 |
|
Rob Rix
|
6dc5a65ae8
|
Use the newLine definition a bit.
|
2015-12-09 14:56:26 -05:00 |
|
Rob Rix
|
b97b989803
|
Add a newLine definition.
|
2015-12-09 14:56:15 -05:00 |
|
Rob Rix
|
d527a03ca3
|
Test that adjoining newlines does not append.
|
2015-12-09 14:50:57 -05:00 |
|
Rob Rix
|
0010bb0c77
|
Spacing.
|
2015-12-09 14:47:10 -05:00 |
|
joshvera
|
c67ff8f2e5
|
working through adjoin2
|
2015-12-08 19:52:38 -05:00 |
|
joshvera
|
bcb935c49b
|
add maybeFirstNewLine to look in Uls for new lines
|
2015-12-08 18:09:45 -05:00 |
|
joshvera
|
51be1f341a
|
Fix tests
|
2015-12-08 12:35:40 -05:00 |
|
Rob Rix
|
19d92de3e0
|
Revert "Correct the tests."
This reverts commit 6f9d76f3e37b075c34e5901860015cc5d7361c37.
|
2015-12-07 16:28:16 -05:00 |
|
Rob Rix
|
1ff87605e8
|
Correct the tests.
|
2015-12-07 16:02:57 -05:00 |
|
Rob Rix
|
c4600cdc1c
|
More branches.
|
2015-12-07 14:40:16 -05:00 |
|
Rob Rix
|
119bab2843
|
Prefix the branch classes.
|
2015-12-07 14:39:04 -05:00 |
|
Rob Rix
|
90418e3310
|
Prefix the leaf class with category-.
|
2015-12-07 14:39:00 -05:00 |
|
joshvera
|
0d6ac00101
|
Test two-line formatted indexed nodes
|
2015-12-04 14:18:53 -05:00 |
|
joshvera
|
a37e199f11
|
format tests
|
2015-12-04 14:18:41 -05:00 |
|
joshvera
|
f6a6ddb4d3
|
test two unchanged lines
|
2015-12-04 12:02:41 -05:00 |
|
joshvera
|
195272faaa
|
Test different formatting
|
2015-12-04 11:37:01 -05:00 |
|
Rob Rix
|
6aef6bc474
|
Nest the ranges in the expectations.
|
2015-12-04 10:49:53 -05:00 |
|
Rob Rix
|
ba5e5f5b9e
|
Correct the expected ranges.
|
2015-12-04 10:27:03 -05:00 |
|
Rob Rix
|
d4ea7a04cc
|
Offset the ends of ranges too.
|
2015-12-04 10:26:15 -05:00 |
|
Rob Rix
|
d3c5db105d
|
Test the rows computed for non-empty unchanged branches.
|
2015-12-04 10:19:19 -05:00 |
|
Rob Rix
|
72eea0c2f5
|
Use the span convenience.
|
2015-12-04 10:17:39 -05:00 |
|
Rob Rix
|
3efbc70622
|
Add a span convenience.
|
2015-12-04 10:17:33 -05:00 |
|
Rob Rix
|
1814806980
|
Add API to offset ranges in Info and Annotated.
|
2015-12-04 10:12:47 -05:00 |
|
Rob Rix
|
357a1aa16c
|
Expect text nodes.
|
2015-12-04 10:07:38 -05:00 |
|
Rob Rix
|
e60379300f
|
Remove the unused one line unchanged indexed source/range bindings.
|
2015-12-04 09:50:12 -05:00 |
|
Rob Rix
|
35c573e00b
|
Test the rows generated for single line empty unchanged indexed nodes.
|
2015-12-04 09:49:34 -05:00 |
|
Rob Rix
|
89afcac011
|
Use the unchanged API.
|
2015-12-04 09:46:58 -05:00 |
|
Rob Rix
|
b5bb6c952b
|
Add a convenience for constructing unchanged Annotated terms.
|
2015-12-04 09:46:24 -05:00 |
|
Rob Rix
|
b5c8f82e52
|
Remove lineRange & cats.
|
2015-12-04 09:45:00 -05:00 |
|
Rob Rix
|
d91e5c36ea
|
Use the info convenience.
|
2015-12-04 09:44:54 -05:00 |
|
Rob Rix
|
1902822257
|
Add a convenience for constructing info.
|
2015-12-04 09:44:09 -05:00 |
|
Rob Rix
|
0d9298418e
|
Use the convenience in the single-line unchanged leaves test.
|
2015-12-04 09:42:57 -05:00 |
|
Rob Rix
|
3a8f02f163
|
Add a convenience for the categories.
|
2015-12-04 09:42:42 -05:00 |
|
Rob Rix
|
43691b9473
|
Add source/range for a single line indexed string.
|
2015-12-04 09:41:11 -05:00 |
|
Rob Rix
|
d3c9c2ce89
|
Rename the line range variable.
|
2015-12-04 09:40:38 -05:00 |
|
Rob Rix
|
ec210b13f7
|
Test annotatedRows output for single-line leaves.
|
2015-12-04 09:16:23 -05:00 |
|
Rob Rix
|
4ccaa65f82
|
Describe adjoinRows .
|
2015-12-04 09:00:40 -05:00 |
|
Rob Rix
|
4697f87a88
|
Migrate the tests to adjoinRows.
|
2015-12-03 16:24:35 -05:00 |
|
Rob Rix
|
ea58415617
|
Test the multiple line cases.
|
2015-12-03 12:07:03 -05:00 |
|
Rob Rix
|
b1c593173f
|
Test that empty lines are the left unit with multiple lines.
|
2015-12-03 11:58:34 -05:00 |
|
Rob Rix
|
8324f3b066
|
Test that single lines are concatenated.
|
2015-12-03 11:52:46 -05:00 |
|
Rob Rix
|
14911bf272
|
Test that empty lines are the left unit.
|
2015-12-03 11:47:51 -05:00 |
|
Rob Rix
|
aa1db29cc7
|
Stub in a test test of adjoinLines.
|
2015-12-03 11:44:42 -05:00 |
|
Rob Rix
|
0c34de972b
|
This has to be named Main for now.
|
2015-12-03 11:44:28 -05:00 |
|
Rob Rix
|
659c109c64
|
Spec!
|
2015-12-03 11:38:49 -05:00 |
|
Rob Rix
|
e5b35fdc4a
|
I mean, sure.
|
2015-11-17 14:44:16 -08:00 |
|