rustkas

rustkas

Property-Based Testing with PropEr, Erlang, and Elixir: generator utf8() is absent (page 452)

Appendix 4
Generator Reference
(page 452)

The table has description about utf8() generator:

Generates to utf8-encoded text as a binary data structure.

Unfortunately, PropEr API do not has this generator. Link to documentation of PropEr API - link.

Link to unit() generator documentation - link. Link to vector() generator documentation - link. There are the closest places where documentation of utf8() generator could be.

Check if any generator is present in PropEr API, like integer() or tuple() via console:

lists:keyfind(integer, 1, element(2, lists:keyfind(exports, 1, proper_types:module_info()))).
{integer,2}
lists:keyfind(tuple, 1, element(2, lists:keyfind(exports, 1, proper_types:module_info()))).
{tuple,1}

Check if generator utf8() is missing in PropEr API via console:

lists:keyfind(utf8, 1, element(2, lists:keyfind(exports, 1, proper_types:module_info()))).
false

Note that, the console should be lounched in pbt project folder, which was created in the Chapter 1.

proper_types src.

Marked As Solved

rustkas

rustkas

I get it! Now (after gaining experience with the PropEr framework) I understand that utf8() generator exists. :partying_face:
It is in its (special) part of the framework - module proper_unicode.

It would be nice if this function at its location would have some kind of footnote.

Where Next?

Popular Pragmatic Bookshelf topics Top

johnp
Running the examples in chapter 5 c under pytest 5.4.1 causes an AttributeError: ‘module’ object has no attribute ‘config’. In particula...
New
belgoros
Following the steps described in Chapter 6 of the book, I’m stuck with running the migration as described on page 84: bundle exec sequel...
New
mikecargal
Title: Hands-on Rust: question about get_component (page 295) (feel free to respond. “You dug you’re own hole… good luck”) I have somet...
New
herminiotorres
Hi @Margaret , On page VII the book tells us the example and snippets will be all using Elixir version 1.11 But on page 3 almost the en...
New
conradwt
First, the code resources: Page 237: rumbl_umbrella/apps/rumbl/mix.exs Note: That this file is missing. Page 238: rumbl_umbrella/app...
New
gilesdotcodes
In case this helps anyone, I’ve had issues setting up the rails source code. Here were the solutions: In Gemfile, change gem 'rails' t...
New
leonW
I ran this command after installing the sample application: $ cards add do something --owner Brian And got a file not found error: Fil...
New
brunogirin
When installing Cards as an editable package, I get the following error: ERROR: File “setup.py” not found. Directory cannot be installe...
New
andreheijstek
After running /bin/setup, the first error was: The foreman' command exists in these Ruby versions: That was easy to fix: gem install fore...
New
bjnord
Hello @herbert ! Trying to get the very first “Hello, Bracket Terminal!" example to run (p. 53). I develop on an Amazon EC2 instance runn...
New

Other popular topics Top

AstonJ
A thread that every forum needs! Simply post a link to a track on YouTube (or SoundCloud or Vimeo amongst others!) on a separate line an...
New
New
AstonJ
I’ve been hearing quite a lot of comments relating to the sound of a keyboard, with one of the most desirable of these called ‘thock’, he...
New
PragmaticBookshelf
Rust is an exciting new programming language combining the power of C with memory safety, fearless concurrency, and productivity boosters...
New
AstonJ
I have seen the keycaps I want - they are due for a group-buy this week but won’t be delivered until October next year!!! :rofl: The Ser...
New
AstonJ
This looks like a stunning keycap set :orange_heart: A LEGENDARY KEYBOARD LIVES ON When you bought an Apple Macintosh computer in the e...
New
PragmaticBookshelf
Tailwind CSS is an exciting new CSS framework that allows you to design your site by composing simple utility classes to create complex e...
New
PragmaticBookshelf
Learn different ways of writing concurrent code in Elixir and increase your application's performance, without sacrificing scalability or...
New
hilfordjames
There appears to have been an update that has changed the terminology for what has previously been known as the Taskbar Overflow - this h...
New
PragmaticBookshelf
Develop, deploy, and debug BEAM applications using BEAMOps: a new paradigm that focuses on scalability, fault tolerance, and owning each ...
New

Sub Categories: