# Text

## The Text Blocks

There are twelve kinds of *text* blocks you can use in the Dynamic Engine. This article focuses on the five most common blocks you will use:

1. Basic
2. Create Text With
3. Append Text
4. Set Letter Case
5. Random Text

### Text: Basic

The **basic** block assigns a text value to a variable of your choosing. For example, this sets the value of the variable named "first name" to the text "John".

<figure><img src="https://211323355-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FDfKsc0R4AcYm9kZgIT2X%2Fuploads%2FjhfvzU6fIFlSMIwDAFr9%2FScreen%20Shot%202024-06-03%20at%207-27-47%20PM-png.png?alt=media&#x26;token=34a21bec-6dc9-4aff-a68b-a3bfa79f710b" alt=""><figcaption></figcaption></figure>

Examples of pieces of text are:

* "John"
* "thing #1"
* "March 12, 2010"
* "Who framed Roger Rabbit?"

Text can contain letters (which may be lower-case or upper-case), numbers, punctuation marks, other symbols, and blank spaces between words. The conventional term for all of these different types of text is "characters".

{% hint style="info" %}
Note that nothing between two quotation marks represents empty text, and looks like this "".
{% endhint %}

### Text: Create Text With

The **create text with** block combines different blocks to create a combined string of text. For example, this sets the value of the variable named "full name" to the text "John Doe".

<figure><img src="https://211323355-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FDfKsc0R4AcYm9kZgIT2X%2Fuploads%2Fx8FiBNXSSXXm8CpmA1M1%2FScreen%20Shot%202024-06-03%20at%207-29-18%20PM-png.png?alt=media&#x26;token=aceab604-0256-4dd1-8a98-0f2789ac3e38" alt=""><figcaption></figcaption></figure>

Notice how the two **basic** text blocks that are being combined are "John" and " Doe". You also have the option to add more or less blocks by pressing the "+" or the "-".

{% hint style="info" %}
Be mindful of spaces in text blocks. There is an intentional space added in the " Doe" text to create "John Doe".
{% endhint %}

<figure><img src="https://211323355-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FDfKsc0R4AcYm9kZgIT2X%2Fuploads%2FgTSivQ1sozfenHz9IPq1%2FScreen%20Shot%202024-06-03%20at%207-30-03%20PM-png.png?alt=media&#x26;token=94bd8c1a-3535-4f43-83b5-07309b73a31f" alt=""><figcaption></figcaption></figure>

### Text: Append Text

The **append text** block adds values to the end of a variable. For example, this sets the value of the variable named "first name" to "John" and then adds the text "Doe" to the end. The end result is that the variable named "first name" will now show "John Doe".

<figure><img src="https://211323355-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FDfKsc0R4AcYm9kZgIT2X%2Fuploads%2Fg9Tdwu3o78PXlmwU1FWC%2FScreen%20Shot%202024-06-03%20at%207-31-32%20PM-png.png?alt=media&#x26;token=9c09eab9-ce43-4f6e-a94d-36c413d37c49" alt=""><figcaption></figcaption></figure>

### Text: Letter Case

The **set letter case** block formats your values. For example, this sets the value of the variable named "full name" to "John Doe".

<figure><img src="https://211323355-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FDfKsc0R4AcYm9kZgIT2X%2Fuploads%2F3G7ZLSy2IH0aHOvhISfI%2FScreen%20Shot%202024-06-03%20at%207-34-39%20PM-png.png?alt=media&#x26;token=09c7e934-dd1e-4ce7-9ed0-f110b3dac936" alt=""><figcaption></figcaption></figure>

There are 3 options when you select the dropdown:

1. UPPER CASE
2. lower case
3. Title Case

### Text: Random Text

The **random** block selects from pre-populated datasets. For example, this sets the value of the variable named "first name" to a random female first name, such as "Anna".

<figure><img src="https://211323355-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FDfKsc0R4AcYm9kZgIT2X%2Fuploads%2FBN6VscswNLw4HLEy1v3E%2FScreen%20Shot%202024-06-03%20at%207-35-39%20PM-png.png?alt=media&#x26;token=08121171-7ad5-45c7-ba36-ea99656d5ee9" alt=""><figcaption></figcaption></figure>

Datasets can be select by clicking the dropdown menu next to the word "random". The current datasets available are the following:

* **City** - 89,500+ fake cities
* **Company** - 18,000+ fake companies
* **Country** - 244 real countries
* **First Name** - 3,000+ ethnically diverse names
* **First Name (Female)** - 450+ ethnically diverse female names
* **First Name (Male)** - 400+ ethnically diverse male names
* **Industry** - 148 real industries
* **Last Name** - 450+ ethnically diverse last names
* **Month** - 12 months
* **Weekday** - 7 days of the week

***

## Example Question

Consider the following multiple-choice question.

<figure><img src="https://211323355-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FDfKsc0R4AcYm9kZgIT2X%2Fuploads%2FU3lg6Tkv0YqWzMrEaGYu%2FScreenshot%202024-12-05%20at%204.55.36%E2%80%AFPM.png?alt=media&#x26;token=1cdbdc0c-d648-4cad-8542-858925a0d0fc" alt=""><figcaption></figcaption></figure>

The goal of this question is to create independent variables that don't affect the answer outcome. These variables enable EXAMIND to identify the source of leaked content (if this question appears online). This works because each student is served a unique permutation of the question.\
\
Here is what the Dynamic Engine would look like:

<figure><img src="https://211323355-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FDfKsc0R4AcYm9kZgIT2X%2Fuploads%2FC83uOHCPvWtRQJJ8eYFy%2FScreenshot%202024-12-05%20at%204.55.19%E2%80%AFPM.png?alt=media&#x26;token=61992db1-c4a2-4a5e-ab7d-fe8c5a6d469a" alt=""><figcaption></figcaption></figure>

Here is what a sample question would look like (values highlighted in blue for convenience):

<figure><img src="https://211323355-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FDfKsc0R4AcYm9kZgIT2X%2Fuploads%2FstNj2TYuUabrRQlIfuhs%2FScreenshot%202024-12-05%20at%204.56.55%E2%80%AFPM.png?alt=media&#x26;token=17ff48d0-4164-4a37-ba87-8983dfdb81e7" alt=""><figcaption></figcaption></figure>
