alexarchambault / scalacheck-shapeless

Generation of arbitrary case classes / ADTs instances with scalacheck and shapeless

Github
< d i v c l a s s = " a n n o u n c e i n s t a p a p e r _ b o d y m d " d a t a - p a t h = " R E A D M E . m d " i d = " r e a d m e " > < a r t i c l e c l a s s = " m a r k d o w n - b o d y e n t r y - c o n t e n t " i t e m p r o p = " t e x t " > < h 1 > < a i d = " u s e r - c o n t e n t - s c a l a c h e c k - s h a p e l e s s " c l a s s = " a n c h o r " h r e f = " h t t p s : / / g i t h u b . c o m / a l e x a r c h a m b a u l t / s c a l a c h e c k - s h a p e l e s s # s c a l a c h e c k - s h a p e l e s s " a r i a - h i d d e n = " t r u e " t a r g e t = " _ b l a n k " > < s v g a r i a - h i d d e n = " t r u e " c l a s s = " o c t i c o n o c t i c o n - l i n k " h e i g h t = " 1 6 " v e r s i o n = " 1 . 1 " v i e w b o x = " 0 0 1 6 1 6 " w i d t h = " 1 6 " > < p a t h f i l l - r u l e = " e v e n o d d " d = " M 4 9 h 1 v 1 H 4 c - 1 . 5 0 - 3 - 1 . 6 9 - 3 - 3 . 5 S 2 . 5 5 3 4 3 h 4 c 1 . 4 5 0 3 1 . 6 9 3 3 . 5 0 1 . 4 1 - . 9 1 2 . 7 2 - 2 3 . 2 5 V 8 . 5 9 c . 5 8 - . 4 5 1 - 1 . 2 7 1 - 2 . 0 9 C 1 0 5 . 2 2 8 . 9 8 4 8 4 H 4 c - . 9 8 0 - 2 1 . 2 2 - 2 2 . 5 S 3 9 4 9 z m 9 - 3 h - 1 v 1 h 1 c 1 0 2 1 . 2 2 2 2 . 5 S 1 3 . 9 8 1 2 1 3 1 2 H 9 c - . 9 8 0 - 2 - 1 . 2 2 - 2 - 2 . 5 0 - . 8 3 . 4 2 - 1 . 6 4 1 - 2 . 0 9 V 6 . 2 5 c - 1 . 0 9 . 5 3 - 2 1 . 8 4 - 2 3 . 2 5 C 6 1 1 . 3 1 7 . 5 5 1 3 9 1 3 h 4 c 1 . 4 5 0 3 - 1 . 6 9 3 - 3 . 5 S 1 4 . 5 6 1 3 6 z " > < / p a t h > < / s v g > < / a > s c a l a c h e c k - s h a p e l e s s < / h 1 > < p > G e n e r a t i o n o f a r b i t r a r y c a s e c l a s s e s / A D T s i n s t a n c e s w i t h < a h r e f = " h t t p s : / / g i t h u b . c o m / r i c k y n i l s / s c a l a c h e c k " t a r g e t = " _ b l a n k " > s c a l a c h e c k < / a > a n d < a h r e f = " h t t p s : / / g i t h u b . c o m / m i l e s s a b i n / s h a p e l e s s " t a r g e t = " _ b l a n k " > s h a p e l e s s < / a > < / p > < p > < a h r e f = " h t t p s : / / t r a v i s - c i . o r g / a l e x a r c h a m b a u l t / s c a l a c h e c k - s h a p e l e s s " t a r g e t = " _ b l a n k " > < i m g s r c = " h t t p s : / / c a m o . g i t h u b u s e r c o n t e n t . c o m / 8 c f 9 1 d c 7 0 9 1 5 d b 5 8 5 6 f 5 c 3 a 2 0 6 a f 0 5 2 1 a 1 8 d 7 6 c 3 / 6 8 7 4 7 4 7 0 7 3 3 a 2 f 2 f 7 4 7 2 6 1 7 6 6 9 7 3 2 d 6 3 6 9 2 e 6 f 7 2 6 7 2 f 6 1 6 c 6 5 7 8 6 1 7 2 6 3 6 8 6 1 6 d 6 2 6 1 7 5 6 c 7 4 2 f 7 3 6 3 6 1 6 c 6 1 6 3 6 8 6 5 6 3 6 b 2 d 7 3 6 8 6 1 7 0 6 5 6 c 6 5 7 3 7 3 2 e 7 3 7 6 6 7 " a l t = " B u i l d S t a t u s " d a t a - c a n o n i c a l - s r c = " h t t p s : / / t r a v i s - c i . o r g / a l e x a r c h a m b a u l t / s c a l a c h e c k - s h a p e l e s s . s v g " s t y l e = " m a x - w i d t h : 1 0 0 % ; " > < / a > < a h r e f = " h t t p s : / / g i t t e r . i m / a l e x a r c h a m b a u l t / s c a l a c h e c k - s h a p e l e s s ? u t m _ s o u r c e = b a d g e & a m p ; u t m _ m e d i u m = b a d g e & a m p ; u t m _ c a m p a i g n = p r - b a d g e & a m p ; u t m _ c o n t e n t = b a d g e " t a r g e t = " _ b l a n k " > < i m g s r c = " h t t p s : / / c a m o . g i t h u b u s e r c o n t e n t . c o m / d a 2 e d b 5 2 5 c d e 1 4 5 5 a 6 2 2 c 5 8 c 0 e f f c 3 a 9 0 b 9 a 1 8 1 c / 6 8 7 4 7 4 7 0 7 3 3 a 2 f 2 f 6 2 6 1 6 4 6 7 6 5 7 3 2 e 6 7 6 9 7 4 7 4 6 5 7 2 2 e 6 9 6 d 2 f 4 a 6 f 6 9 6 e 2 5 3 2 3 0 4 3 6 8 6 1 7 4 2 e 7 3 7 6 6 7 " a l t = " G i t t e r " d a t a - c a n o n i c a l - s r c = " h t t p s : / / b a d g e s . g i t t e r . i m / J o i n % 2 0 C h a t . s v g " s t y l e = " m a x - w i d t h : 1 0 0 % ; " > < / a > < a h r e f = " h t t p s : / / m a v e n - b a d g e s . h e r o k u a p p . c o m / m a v e n - c e n t r a l / c o m . g i t h u b . a l e x a r c h a m b a u l t / s c a l a c h e c k - s h a p e l e s s _ 1 . 1 3 _ 2 . 1 2 " t a r g e t = " _ b l a n k " > < i m g s r c = " h t t p s : / / c a m o . g i t h u b u s e r c o n t e n t . c o m / b 8 9 6 0 6 4 5 0 1 f 0 8 5 4 f 5 3 3 9 8 1 9 c f 7 6 e 1 1 2 a d 9 9 6 9 5 0 7 / 6 8 7 4 7 4 7 0 7 3 3 a 2 f 2 f 6 9 6 d 6 7 2 e 7 3 6 8 6 9 6 5 6 c 6 4 7 3 2 e 6 9 6 f 2 f 6 d 6 1 7 6 6 5 6 e 2 d 6 3 6 5 6 e 7 4 7 2 6 1 6 c 2 f 7 6 2 f 6 3 6 f 6 d 2 e 6 7 6 9 7 4 6 8 7 5 6 2 2 e 6 1 6 c 6 5 7 8 6 1 7 2 6 3 6 8 6 1 6 d 6 2 6 1 7 5 6 c 7 4 2 f 7 3 6 3 6 1 6 c 6 1 6 3 6 8 6 5 6 3 6 b 2 d 7 3 6 8 6 1 7 0 6 5 6 c 6 5 7 3 7 3 5 f 3 1 2 e 3 1 3 3 5 f 3 2 2 e 3 1 3 2 2 e 7 3 7 6 6 7 " a l t = " M a v e n C e n t r a l " d a t a - c a n o n i c a l - s r c = " h t t p s : / / i m g . s h i e l d s . i o / m a v e n - c e n t r a l / v / c o m . g i t h u b . a l e x a r c h a m b a u l t / s c a l a c h e c k - s h a p e l e s s _ 1 . 1 3 _ 2 . 1 2 . s v g " s t y l e = " m a x - w i d t h : 1 0 0 % ; " > < / a > < / p > < h 2 > < a i d = " u s e r - c o n t e n t - u s a g e " c l a s s = " a n c h o r " h r e f = " h t t p s : / / g i t h u b . c o m / a l e x a r c h a m b a u l t / s c a l a c h e c k - s h a p e l e s s # u s a g e " a r i a - h i d d e n = " t r u e " t a r g e t = " _ b l a n k " > < s v g a r i a - h i d d e n = " t r u e " c l a s s = " o c t i c o n o c t i c o n - l i n k " h e i g h t = " 1 6 " v e r s i o n = " 1 . 1 " v i e w b o x = " 0 0 1 6 1 6 " w i d t h = " 1 6 " > < p a t h f i l l - r u l e = " e v e n o d d " d = " M 4 9 h 1 v 1 H 4 c - 1 . 5 0 - 3 - 1 . 6 9 - 3 - 3 . 5 S 2 . 5 5 3 4 3 h 4 c 1 . 4 5 0 3 1 . 6 9 3 3 . 5 0 1 . 4 1 - . 9 1 2 . 7 2 - 2 3 . 2 5 V 8 . 5 9 c . 5 8 - . 4 5 1 - 1 . 2 7 1 - 2 . 0 9 C 1 0 5 . 2 2 8 . 9 8 4 8 4 H 4 c - . 9 8 0 - 2 1 . 2 2 - 2 2 . 5 S 3 9 4 9 z m 9 - 3 h - 1 v 1 h 1 c 1 0 2 1 . 2 2 2 2 . 5 S 1 3 . 9 8 1 2 1 3 1 2 H 9 c - . 9 8 0 - 2 - 1 . 2 2 - 2 - 2 . 5 0 - . 8 3 . 4 2 - 1 . 6 4 1 - 2 . 0 9 V 6 . 2 5 c - 1 . 0 9 . 5 3 - 2 1 . 8 4 - 2 3 . 2 5 C 6 1 1 . 3 1 7 . 5 5 1 3 9 1 3 h 4 c 1 . 4 5 0 3 - 1 . 6 9 3 - 3 . 5 S 1 4 . 5 6 1 3 6 z " > < / p a t h > < / s v g > < / a > U s a g e < / h 2 > < p > A d d t o y o u r < c o d e > b u i l d . s b t < / c o d e > < / p > < d i v c l a s s = " h i g h l i g h t h i g h l i g h t - s o u r c e - s c a l a " > < p r e > r e s o l v e r s < s p a n c l a s s = " p l - k " > + < / s p a n > < s p a n c l a s s = " p l - k " > = < / s p a n > < s p a n c l a s s = " p l - e n " > R e s o l v e r < / s p a n > . s o n a t y p e R e p o ( < s p a n c l a s s = " p l - s " > < s p a n c l a s s = " p l - p d s " > " < / s p a n > r e l e a s e s < s p a n c l a s s = " p l - p d s " > " < / s p a n > < / s p a n > ) < s p a n c l a s s = " p l - c " > < s p a n c l a s s = " p l - c " > / / < / s p a n > o n l y n e e d e d i f t h e r e l e a s e h a s n ' t r e a c h e d m a v e n c e n t r a l y e t < / s p a n > l i b r a r y D e p e n d e n c i e s < s p a n c l a s s = " p l - k " > + < / s p a n > < s p a n c l a s s = " p l - k " > = < / s p a n > < s p a n c l a s s = " p l - s " > < s p a n c l a s s = " p l - p d s " > " < / s p a n > c o m . g i t h u b . a l e x a r c h a m b a u l t < s p a n c l a s s = " p l - p d s " > " < / s p a n > < / s p a n > < s p a n c l a s s = " p l - k " > % % < / s p a n > < s p a n c l a s s = " p l - s " > < s p a n c l a s s = " p l - p d s " > " < / s p a n > s c a l a c h e c k - s h a p e l e s s _ 1 . 1 3 < s p a n c l a s s = " p l - p d s " > " < / s p a n > < / s p a n > < s p a n c l a s s = " p l - k " > % < / s p a n > < s p a n c l a s s = " p l - s " > < s p a n c l a s s = " p l - p d s " > " < / s p a n > 1 . 1 . 5 < s p a n c l a s s = " p l - p d s " > " < / s p a n > < / s p a n > < / p r e > < / d i v > < p > I f y o u a r e u s i n g s c a l a 2 . 1 0 . x , a l s o a d d t h e m a c r o p a r a d i s e p l u g i n t o y o u r b u i l d , < / p > < d i v c l a s s = " h i g h l i g h t h i g h l i g h t - s o u r c e - s c a l a " > < p r e > l i b r a r y D e p e n d e n c i e s < s p a n c l a s s = " p l - k " > + < / s p a n > < s p a n c l a s s = " p l - k " > = < / s p a n > c o m p i l e r P l u g i n ( < s p a n c l a s s = " p l - s " > < s p a n c l a s s = " p l - p d s " > " < / s p a n > o r g . s c a l a m a c r o s < s p a n c l a s s = " p l - p d s " > " < / s p a n > < / s p a n > < s p a n c l a s s = " p l - k " > % < / s p a n > < s p a n c l a s s = " p l - s " > < s p a n c l a s s = " p l - p d s " > " < / s p a n > p a r a d i s e < s p a n c l a s s = " p l - p d s " > " < / s p a n > < / s p a n > < s p a n c l a s s = " p l - k " > % < / s p a n > < s p a n c l a s s = " p l - s " > < s p a n c l a s s = " p l - p d s " > " < / s p a n > 2 . 1 . 0 < s p a n c l a s s = " p l - p d s " > " < / s p a n > < / s p a n > c r o s s < s p a n c l a s s = " p l - e n " > C r o s s V e r s i o n < / s p a n > . p a t c h ) < / p r e > < / d i v > < p > s c a l a c h e c k - s h a p e l e s s d e p e n d s o n s h a p e l e s s 2 . 3 a n d s c a l a c h e c k 1 . 1 3 . I t i s b u i l t a g a i n s t s c a l a 2 . 1 0 , 2 . 1 1 , a n d 2 . 1 2 . < / p > < p > I f y o u a r e u s i n g s h a p e l e s s 2 . 2 a l o n g w i t h s c a l a c h e c k 1 . 1 3 , u s e t h e < c o d e > 1 . 0 . 0 < / c o d e > v e r s i o n . I f y o u a r e u s i n g s h a p e l e s s 2 . 2 a l o n g w i t h s c a l a c h e c k 1 . 1 2 , s e e t h e < a h r e f = " h t t p s : / / g i t h u b . c o m / a l e x a r c h a m b a u l t / s c a l a c h e c k - s h a p e l e s s / t r e e / s c a l a c h e c k - s h a p e l e s s - 0 . 3 " t a r g e t = " _ b l a n k " > 0 . 3 . x b r a n c h < / a > . < / p > < p > I m p o r t t h e c o n t e n t o f < c o d e > o r g . s c a l a c h e c k . S c a l a c h e c k S h a p e l e s s < / c o d e > c l o s e t o w h e r e y o u w a n t < c o d e > A r b i t r a r y < / c o d e > t y p e c l a s s e s t o b e a u t o m a t i c a l l y a v a i l a b l e f o r c a s e c l a s s e s / s e a l e d h i e r a r c h i e s , < / p > < d i v c l a s s = " h i g h l i g h t h i g h l i g h t - s o u r c e - s c a l a " > < p r e > < s p a n c l a s s = " p l - k " > i m p o r t < / s p a n > < s p a n c l a s s = " p l - v " > o r g . s c a l a c h e c k . S c a l a c h e c k S h a p e l e s s . < / s p a n > < s p a n c l a s s = " p l - v " > _ < / s p a n > < s p a n c l a s s = " p l - c " > < s p a n c l a s s = " p l - c " > / / < / s p a n > I f y o u d e f i n e d : < / s p a n > < s p a n c l a s s = " p l - c " > < s p a n c l a s s = " p l - c " > / / < / s p a n > c a s e c l a s s F o o ( i : I n t , s : S t r i n g , b l a h : B o o l e a n ) < / s p a n > < s p a n c l a s s = " p l - c " > < s p a n c l a s s = " p l - c " > / / < / s p a n > c a s e c l a s s B a r ( f o o : F o o , o t h e r : S t r i n g ) < / s p a n > < s p a n c l a s s = " p l - c " > < s p a n c l a s s = " p l - c " > / / < / s p a n > s e a l e d t r a i t B a s e < / s p a n > < s p a n c l a s s = " p l - c " > < s p a n c l a s s = " p l - c " > / / < / s p a n > c a s e c l a s s B a s e I n t S t r i n g ( i : I n t , s : S t r i n g ) e x t e n d s B a s e < / s p a n > < s p a n c l a s s = " p l - c " > < s p a n c l a s s = " p l - c " > / / < / s p a n > c a s e c l a s s B a s e D o u b l e B o o l e a n ( d : D o u b l e , b : B o o l e a n ) e x t e n d s B a s e < / s p a n > < s p a n c l a s s = " p l - c " > < s p a n c l a s s = " p l - c " > / / < / s p a n > t h e n y o u c a n n o w d o < / s p a n > i m p l i c i t l y [ < s p a n c l a s s = " p l - e n " > A r b i t r a r y < / s p a n > [ < s p a n c l a s s = " p l - e n " > F o o < / s p a n > ] ] i m p l i c i t l y [ < s p a n c l a s s = " p l - e n " > A r b i t r a r y < / s p a n > [ < s p a n c l a s s = " p l - e n " > B a r < / s p a n > ] ] i m p l i c i t l y [ < s p a n c l a s s = " p l - e n " > A r b i t r a r y < / s p a n > [ < s p a n c l a s s = " p l - e n " > B a s e < / s p a n > ] ] < / p r e > < / d i v > < p > a n d i n p a r t i c u l a r , w h i l e w r i t i n g p r o p e r t y - b a s e d t e s t s , < / p > < d i v c l a s s = " h i g h l i g h t h i g h l i g h t - s o u r c e - s c a l a " > < p r e > p r o p e r t y ( < s p a n c l a s s = " p l - s " > < s p a n c l a s s = " p l - p d s " > " < / s p a n > s o m e p r o p e r t y a b o u t F o o < s p a n c l a s s = " p l - p d s " > " < / s p a n > < / s p a n > ) { f o r A l l { < s p a n c l a s s = " p l - v " > f o o < / s p a n > : < s p a n c l a s s = " p l - e n " > F o o < / s p a n > < s p a n c l a s s = " p l - k " > = & g t ; < / s p a n > < s p a n c l a s s = " p l - c " > < s p a n c l a s s = " p l - c " > / / < / s p a n > E n s u r e f o o h a s t h e r e q u i r e d p r o p e r t y < / s p a n > } } < / p r e > < / d i v > < p > w i t h o u t h a v i n g t o d e f i n e y o u r s e l f a n < c o d e > A r b i t r a r y < / c o d e > f o r < c o d e > F o o < / c o d e > . < / p > < h 2 > < a i d = " u s e r - c o n t e n t - s e e - a l s o " c l a s s = " a n c h o r " h r e f = " h t t p s : / / g i t h u b . c o m / a l e x a r c h a m b a u l t / s c a l a c h e c k - s h a p e l e s s # s e e - a l s o " a r i a - h i d d e n = " t r u e " t a r g e t = " _ b l a n k " > < s v g a r i a - h i d d e n = " t r u e " c l a s s = " o c t i c o n o c t i c o n - l i n k " h e i g h t = " 1 6 " v e r s i o n = " 1 . 1 " v i e w b o x = " 0 0 1 6 1 6 " w i d t h = " 1 6 " > < p a t h f i l l - r u l e = " e v e n o d d " d = " M 4 9 h 1 v 1 H 4 c - 1 . 5 0 - 3 - 1 . 6 9 - 3 - 3 . 5 S 2 . 5 5 3 4 3 h 4 c 1 . 4 5 0 3 1 . 6 9 3 3 . 5 0 1 . 4 1 - . 9 1 2 . 7 2 - 2 3 . 2 5 V 8 . 5 9 c . 5 8 - . 4 5 1 - 1 . 2 7 1 - 2 . 0 9 C 1 0 5 . 2 2 8 . 9 8 4 8 4 H 4 c - . 9 8 0 - 2 1 . 2 2 - 2 2 . 5 S 3 9 4 9 z m 9 - 3 h - 1 v 1 h 1 c 1 0 2 1 . 2 2 2 2 . 5 S 1 3 . 9 8 1 2 1 3 1 2 H 9 c - . 9 8 0 - 2 - 1 . 2 2 - 2 - 2 . 5 0 - . 8 3 . 4 2 - 1 . 6 4 1 - 2 . 0 9 V 6 . 2 5 c - 1 . 0 9 . 5 3 - 2 1 . 8 4 - 2 3 . 2 5 C 6 1 1 . 3 1 7 . 5 5 1 3 9 1 3 h 4 c 1 . 4 5 0 3 - 1 . 6 9 3 - 3 . 5 S 1 4 . 5 6 1 3 6 z " > < / p a t h > < / s v g > < / a > S e e a l s o < / h 2 > < u l > < l i > < a h r e f = " h t t p s : / / g i t h u b . c o m / n o n / c a t s - c h e c k " t a r g e t = " _ b l a n k " > c a t s - c h e c k < / a > , a l i b r a r y p r o v i d i n g c a t s t y p e c l a s s i n s t a n c e s f o r S c a l a C h e c k t y p e c l a s s e s , < / l i > < l i > < a h r e f = " h t t p s : / / g i t h u b . c o m / 4 7 d e g / s c a l a c h e c k - d a t e t i m e " t a r g e t = " _ b l a n k " > s c a l a c h e c k - d a t e t i m e < / a > , a l i b r a r y t o d e a l w i t h d a t e t i m e s w i t h s c a l a c h e c k , < / l i > < l i > < a h r e f = " h t t p s : / / g i t h u b . c o m / c v o g t / s c a l a c h e c k - e x t e n s i o n s " t a r g e t = " _ b l a n k " > s c a l a c h e c k - e x t e n s i o n s < / a > , a m a c r o - b a s e d a u t o m a t i c < c o d e > A r b i t r a r y < / c o d e > g e n e r a t i o n ( d i s c o n t i n u e d ? ) . < / l i > < / u l > < h 2 > < a i d = " u s e r - c o n t e n t - l i c e n s e " c l a s s = " a n c h o r " h r e f = " h t t p s : / / g i t h u b . c o m / a l e x a r c h a m b a u l t / s c a l a c h e c k - s h a p e l e s s # l i c e n s e " a r i a - h i d d e n = " t r u e " t a r g e t = " _ b l a n k " > < s v g a r i a - h i d d e n = " t r u e " c l a s s = " o c t i c o n o c t i c o n - l i n k " h e i g h t = " 1 6 " v e r s i o n = " 1 . 1 " v i e w b o x = " 0 0 1 6 1 6 " w i d t h = " 1 6 " > < p a t h f i l l - r u l e = " e v e n o d d " d = " M 4 9 h 1 v 1 H 4 c - 1 . 5 0 - 3 - 1 . 6 9 - 3 - 3 . 5 S 2 . 5 5 3 4 3 h 4 c 1 . 4 5 0 3 1 . 6 9 3 3 . 5 0 1 . 4 1 - . 9 1 2 . 7 2 - 2 3 . 2 5 V 8 . 5 9 c . 5 8 - . 4 5 1 - 1 . 2 7 1 - 2 . 0 9 C 1 0 5 . 2 2 8 . 9 8 4 8 4 H 4 c - . 9 8 0 - 2 1 . 2 2 - 2 2 . 5 S 3 9 4 9 z m 9 - 3 h - 1 v 1 h 1 c 1 0 2 1 . 2 2 2 2 . 5 S 1 3 . 9 8 1 2 1 3 1 2 H 9 c - . 9 8 0 - 2 - 1 . 2 2 - 2 - 2 . 5 0 - . 8 3 . 4 2 - 1 . 6 4 1 - 2 . 0 9 V 6 . 2 5 c - 1 . 0 9 . 5 3 - 2 1 . 8 4 - 2 3 . 2 5 C 6 1 1 . 3 1 7 . 5 5 1 3 9 1 3 h 4 c 1 . 4 5 0 3 - 1 . 6 9 3 - 3 . 5 S 1 4 . 5 6 1 3 6 z " > < / p a t h > < / s v g > < / a > L i c e n s e < / h 2 > < p > R e l e a s e d u n d e r t h e A p a c h e 2 l i c e n s e . S e e L I C E N S E f i l e f o r m o r e d e t a i l s . < / p > < / a r t i c l e > < / d i v >