![Page 1: I dream of Gen'ning: Scala Check is Black Magic](https://reader034.vdocuments.us/reader034/viewer/2022042701/55a7c1ac1a28ab45128b45b1/html5/thumbnails/1.jpg)
I DREAM OF GEN’NING SCALACHECK IS BLACK MAGICK
Kelsey Gilmore-Innis (@kelseyinnis) + Stew O’Connor (@StewOConnor)
![Page 2: I dream of Gen'ning: Scala Check is Black Magic](https://reader034.vdocuments.us/reader034/viewer/2022042701/55a7c1ac1a28ab45128b45b1/html5/thumbnails/2.jpg)
PROPERTY-BASED TESTING
![Page 3: I dream of Gen'ning: Scala Check is Black Magic](https://reader034.vdocuments.us/reader034/viewer/2022042701/55a7c1ac1a28ab45128b45b1/html5/thumbnails/3.jpg)
![Page 4: I dream of Gen'ning: Scala Check is Black Magic](https://reader034.vdocuments.us/reader034/viewer/2022042701/55a7c1ac1a28ab45128b45b1/html5/thumbnails/4.jpg)
![Page 5: I dream of Gen'ning: Scala Check is Black Magic](https://reader034.vdocuments.us/reader034/viewer/2022042701/55a7c1ac1a28ab45128b45b1/html5/thumbnails/5.jpg)
![Page 6: I dream of Gen'ning: Scala Check is Black Magic](https://reader034.vdocuments.us/reader034/viewer/2022042701/55a7c1ac1a28ab45128b45b1/html5/thumbnails/6.jpg)
![Page 7: I dream of Gen'ning: Scala Check is Black Magic](https://reader034.vdocuments.us/reader034/viewer/2022042701/55a7c1ac1a28ab45128b45b1/html5/thumbnails/7.jpg)
![Page 8: I dream of Gen'ning: Scala Check is Black Magic](https://reader034.vdocuments.us/reader034/viewer/2022042701/55a7c1ac1a28ab45128b45b1/html5/thumbnails/8.jpg)
![Page 9: I dream of Gen'ning: Scala Check is Black Magic](https://reader034.vdocuments.us/reader034/viewer/2022042701/55a7c1ac1a28ab45128b45b1/html5/thumbnails/9.jpg)
BACKGROUND
![Page 10: I dream of Gen'ning: Scala Check is Black Magic](https://reader034.vdocuments.us/reader034/viewer/2022042701/55a7c1ac1a28ab45128b45b1/html5/thumbnails/10.jpg)
![Page 11: I dream of Gen'ning: Scala Check is Black Magic](https://reader034.vdocuments.us/reader034/viewer/2022042701/55a7c1ac1a28ab45128b45b1/html5/thumbnails/11.jpg)
GENERATES • RUNS • SHRINKS
![Page 12: I dream of Gen'ning: Scala Check is Black Magic](https://reader034.vdocuments.us/reader034/viewer/2022042701/55a7c1ac1a28ab45128b45b1/html5/thumbnails/12.jpg)
![Page 13: I dream of Gen'ning: Scala Check is Black Magic](https://reader034.vdocuments.us/reader034/viewer/2022042701/55a7c1ac1a28ab45128b45b1/html5/thumbnails/13.jpg)
![Page 14: I dream of Gen'ning: Scala Check is Black Magic](https://reader034.vdocuments.us/reader034/viewer/2022042701/55a7c1ac1a28ab45128b45b1/html5/thumbnails/14.jpg)
GENERATORS
![Page 15: I dream of Gen'ning: Scala Check is Black Magic](https://reader034.vdocuments.us/reader034/viewer/2022042701/55a7c1ac1a28ab45128b45b1/html5/thumbnails/15.jpg)
OUT OF THE BOTTLE• Boolean, Byte, Char, String, Int, Double, Long
• Throwable, Date
• Option, Either, Tuple2-Tuple9, Function1-Function5
• Array, List, ArrayList, Stream, Set, Map
• alphaChar, alphaNumChar, alphaLowerChar, alphaUpperChar
• alphaStr, numStr, identifier
![Page 16: I dream of Gen'ning: Scala Check is Black Magic](https://reader034.vdocuments.us/reader034/viewer/2022042701/55a7c1ac1a28ab45128b45b1/html5/thumbnails/16.jpg)
EDGE CASE BIAS
![Page 17: I dream of Gen'ning: Scala Check is Black Magic](https://reader034.vdocuments.us/reader034/viewer/2022042701/55a7c1ac1a28ab45128b45b1/html5/thumbnails/17.jpg)
![Page 18: I dream of Gen'ning: Scala Check is Black Magic](https://reader034.vdocuments.us/reader034/viewer/2022042701/55a7c1ac1a28ab45128b45b1/html5/thumbnails/18.jpg)
FANCY GENS
![Page 19: I dream of Gen'ning: Scala Check is Black Magic](https://reader034.vdocuments.us/reader034/viewer/2022042701/55a7c1ac1a28ab45128b45b1/html5/thumbnails/19.jpg)
.choose, .oneOf, .someOf
![Page 20: I dream of Gen'ning: Scala Check is Black Magic](https://reader034.vdocuments.us/reader034/viewer/2022042701/55a7c1ac1a28ab45128b45b1/html5/thumbnails/20.jpg)
![Page 21: I dream of Gen'ning: Scala Check is Black Magic](https://reader034.vdocuments.us/reader034/viewer/2022042701/55a7c1ac1a28ab45128b45b1/html5/thumbnails/21.jpg)
COMPOSING GENS
map • flatMap • filter/suchThat
![Page 22: I dream of Gen'ning: Scala Check is Black Magic](https://reader034.vdocuments.us/reader034/viewer/2022042701/55a7c1ac1a28ab45128b45b1/html5/thumbnails/22.jpg)
![Page 23: I dream of Gen'ning: Scala Check is Black Magic](https://reader034.vdocuments.us/reader034/viewer/2022042701/55a7c1ac1a28ab45128b45b1/html5/thumbnails/23.jpg)
![Page 24: I dream of Gen'ning: Scala Check is Black Magic](https://reader034.vdocuments.us/reader034/viewer/2022042701/55a7c1ac1a28ab45128b45b1/html5/thumbnails/24.jpg)
![Page 25: I dream of Gen'ning: Scala Check is Black Magic](https://reader034.vdocuments.us/reader034/viewer/2022042701/55a7c1ac1a28ab45128b45b1/html5/thumbnails/25.jpg)
.suchThat
![Page 26: I dream of Gen'ning: Scala Check is Black Magic](https://reader034.vdocuments.us/reader034/viewer/2022042701/55a7c1ac1a28ab45128b45b1/html5/thumbnails/26.jpg)
![Page 27: I dream of Gen'ning: Scala Check is Black Magic](https://reader034.vdocuments.us/reader034/viewer/2022042701/55a7c1ac1a28ab45128b45b1/html5/thumbnails/27.jpg)
![Page 28: I dream of Gen'ning: Scala Check is Black Magic](https://reader034.vdocuments.us/reader034/viewer/2022042701/55a7c1ac1a28ab45128b45b1/html5/thumbnails/28.jpg)
http://etorreborre.blogspot.com/2011/02/scalacheck-generator-for-json.html
![Page 29: I dream of Gen'ning: Scala Check is Black Magic](https://reader034.vdocuments.us/reader034/viewer/2022042701/55a7c1ac1a28ab45128b45b1/html5/thumbnails/29.jpg)
FREQUENCY
![Page 30: I dream of Gen'ning: Scala Check is Black Magic](https://reader034.vdocuments.us/reader034/viewer/2022042701/55a7c1ac1a28ab45128b45b1/html5/thumbnails/30.jpg)
![Page 31: I dream of Gen'ning: Scala Check is Black Magic](https://reader034.vdocuments.us/reader034/viewer/2022042701/55a7c1ac1a28ab45128b45b1/html5/thumbnails/31.jpg)
P1 BUG: BEYONCÉ NOT FOUND
![Page 32: I dream of Gen'ning: Scala Check is Black Magic](https://reader034.vdocuments.us/reader034/viewer/2022042701/55a7c1ac1a28ab45128b45b1/html5/thumbnails/32.jpg)
PERFORMANCE TESTING
![Page 33: I dream of Gen'ning: Scala Check is Black Magic](https://reader034.vdocuments.us/reader034/viewer/2022042701/55a7c1ac1a28ab45128b45b1/html5/thumbnails/33.jpg)
ROUND-TRIP PROPERTIES
![Page 34: I dream of Gen'ning: Scala Check is Black Magic](https://reader034.vdocuments.us/reader034/viewer/2022042701/55a7c1ac1a28ab45128b45b1/html5/thumbnails/34.jpg)
ROUND-TRIP PROPERTIES
![Page 35: I dream of Gen'ning: Scala Check is Black Magic](https://reader034.vdocuments.us/reader034/viewer/2022042701/55a7c1ac1a28ab45128b45b1/html5/thumbnails/35.jpg)
NEGATIVE TESTING
![Page 36: I dream of Gen'ning: Scala Check is Black Magic](https://reader034.vdocuments.us/reader034/viewer/2022042701/55a7c1ac1a28ab45128b45b1/html5/thumbnails/36.jpg)
RUNNING SCALACHECK TESTS
![Page 37: I dream of Gen'ning: Scala Check is Black Magic](https://reader034.vdocuments.us/reader034/viewer/2022042701/55a7c1ac1a28ab45128b45b1/html5/thumbnails/37.jpg)
INTEGRATION
![Page 38: I dream of Gen'ning: Scala Check is Black Magic](https://reader034.vdocuments.us/reader034/viewer/2022042701/55a7c1ac1a28ab45128b45b1/html5/thumbnails/38.jpg)
PARAMS
![Page 39: I dream of Gen'ning: Scala Check is Black Magic](https://reader034.vdocuments.us/reader034/viewer/2022042701/55a7c1ac1a28ab45128b45b1/html5/thumbnails/39.jpg)
SCALACHECK + SELENIUMhttps://github.com/jessitron/js-with-scalacheck
![Page 40: I dream of Gen'ning: Scala Check is Black Magic](https://reader034.vdocuments.us/reader034/viewer/2022042701/55a7c1ac1a28ab45128b45b1/html5/thumbnails/40.jpg)
COMMANDS
![Page 41: I dream of Gen'ning: Scala Check is Black Magic](https://reader034.vdocuments.us/reader034/viewer/2022042701/55a7c1ac1a28ab45128b45b1/html5/thumbnails/41.jpg)
TESTING SERVER NETWORKShttp://scalacheck.org/files/scaladays2014/index.html
![Page 42: I dream of Gen'ning: Scala Check is Black Magic](https://reader034.vdocuments.us/reader034/viewer/2022042701/55a7c1ac1a28ab45128b45b1/html5/thumbnails/42.jpg)
SIMULATION TESTING
![Page 43: I dream of Gen'ning: Scala Check is Black Magic](https://reader034.vdocuments.us/reader034/viewer/2022042701/55a7c1ac1a28ab45128b45b1/html5/thumbnails/43.jpg)
SHRINKING
![Page 44: I dream of Gen'ning: Scala Check is Black Magic](https://reader034.vdocuments.us/reader034/viewer/2022042701/55a7c1ac1a28ab45128b45b1/html5/thumbnails/44.jpg)
![Page 45: I dream of Gen'ning: Scala Check is Black Magic](https://reader034.vdocuments.us/reader034/viewer/2022042701/55a7c1ac1a28ab45128b45b1/html5/thumbnails/45.jpg)
MAKING IT LOOK EASY
![Page 46: I dream of Gen'ning: Scala Check is Black Magic](https://reader034.vdocuments.us/reader034/viewer/2022042701/55a7c1ac1a28ab45128b45b1/html5/thumbnails/46.jpg)
![Page 47: I dream of Gen'ning: Scala Check is Black Magic](https://reader034.vdocuments.us/reader034/viewer/2022042701/55a7c1ac1a28ab45128b45b1/html5/thumbnails/47.jpg)
![Page 48: I dream of Gen'ning: Scala Check is Black Magic](https://reader034.vdocuments.us/reader034/viewer/2022042701/55a7c1ac1a28ab45128b45b1/html5/thumbnails/48.jpg)
BYE!