├── .github └── workflows │ ├── dotnet.yml │ ├── dotnetcore.yml │ └── nugetpublish.yml ├── .gitignore ├── LICENSE.md ├── README.md ├── RandomWordGenerator.sln ├── RandomWordGenerator ├── LanguageFiles │ └── EN │ │ ├── adj.txt │ │ ├── adv.txt │ │ ├── art.txt │ │ ├── noun.txt │ │ └── verb.txt ├── RandomWordGenerator.csproj ├── WordGenerator.cs └── icon.png ├── RandomWordGeneratorConsole ├── Program.cs └── RandomWordGeneratorConsole.csproj └── RandomWordGeneratorTest ├── Features ├── PartsOfSpeech.feature ├── Patterns.feature └── WordGenerator.feature ├── RandomWordGeneratorTest.csproj ├── Steps ├── PartsOfSpeechStepDefinitions.cs ├── PatternsStepDefinitions.cs ├── WordGeneratorFixtureStepDefinitions.cs └── WordGeneratorStepDefinitions.cs └── WordGeneratorFixture.cs /.github/workflows/dotnet.yml: -------------------------------------------------------------------------------- 1 | name: .NET 6.0 2 | on: 3 | push: 4 | #branches: [ main ] 5 | #pull_request: 6 | #branches: [ main ] 7 | 8 | jobs: 9 | BuildAndTest: 10 | name: Build & Test 11 | runs-on: ubuntu-latest 12 | 13 | steps: 14 | - uses: actions/checkout@v3 15 | - uses: actions/setup-dotnet@v2 16 | with: 17 | dotnet-version: '6.0.x' 18 | - uses: cryptic-wizard/run-specflow-tests@v1.3.1 19 | with: 20 | test-assembly-path: RandomWordGeneratorTest/bin/Release/net6.0 21 | test-assembly-dll: RandomWordGeneratorTest.dll 22 | output-html: RandomWordGeneratorResults.html 23 | framework: net6.0 24 | logger: trx 25 | logger-file-name: ../../RandomWordGeneratorResults.trx 26 | - uses: dorny/test-reporter@v1 27 | if: success() || failure() 28 | with: 29 | name: Specflow Tests 30 | path: RandomWordGeneratorResults.trx 31 | reporter: dotnet-trx -------------------------------------------------------------------------------- /.github/workflows/dotnetcore.yml: -------------------------------------------------------------------------------- 1 | name: .NET Core 3.1 2 | on: 3 | push: 4 | #branches: [ main ] 5 | #pull_request: 6 | #branches: [ main ] 7 | 8 | jobs: 9 | BuildAndTest: 10 | name: Build & Test 11 | runs-on: ubuntu-latest 12 | 13 | steps: 14 | - uses: actions/checkout@v3 15 | - uses: actions/setup-dotnet@v2 16 | with: 17 | dotnet-version: '3.1.x' 18 | - uses: cryptic-wizard/run-specflow-tests@v1.3.1 19 | with: 20 | test-assembly-path: RandomWordGeneratorTest/bin/Release/netcoreapp3.1 21 | test-assembly-dll: RandomWordGeneratorTest.dll 22 | output-html: RandomWordGeneratorResults.html 23 | framework: netcoreapp3.1 24 | logger: trx 25 | logger-file-name: ../../RandomWordGeneratorResults.trx 26 | - uses: dorny/test-reporter@v1 27 | if: success() || failure() 28 | with: 29 | name: Specflow Tests 30 | path: RandomWordGeneratorResults.trx 31 | reporter: dotnet-trx -------------------------------------------------------------------------------- /.github/workflows/nugetpublish.yml: -------------------------------------------------------------------------------- 1 | name: NuGet Publish 2 | on: 3 | release: 4 | types: 5 | - published 6 | 7 | jobs: 8 | Nuget: 9 | name: Nuget Publish 10 | runs-on: ubuntu-latest 11 | 12 | steps: 13 | - uses: actions/checkout@v3 14 | - name: Setup .NET 5.0 15 | uses: actions/setup-dotnet@v2 16 | with: 17 | dotnet-version: '5.0.x' 18 | - name: Setup .NET 6.0 19 | uses: actions/setup-dotnet@v2 20 | with: 21 | dotnet-version: '6.0.x' 22 | - name: Setup .NET Core 3.1 23 | uses: actions/setup-dotnet@v2 24 | with: 25 | dotnet-version: '3.1.x' 26 | - name: Publish NuGet Package 27 | run: | 28 | dotnet nuget add source "https://nuget.pkg.github.com/cryptic-wizard/index.json" -n github -u cryptic-wizard -p ${{ secrets.NUGET_PUBLISH_TOKEN }} --store-password-in-clear-text 29 | dotnet pack RandomWordGenerator -c Release 30 | dotnet nuget push "RandomWordGenerator/bin/Release/CrypticWizard.RandomWordGenerator.*.*.*.nupkg" -s "github" -k ${{ secrets.NUGET_PUBLISH_TOKEN }} --skip-duplicate 31 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Compiled C# 2 | bin/ 3 | obj/ 4 | 5 | # Specflow 6 | *.feature.cs 7 | TestResults/ 8 | *.html 9 | 10 | # User Settings 11 | .vs/ 12 | *.csproj.user 13 | -------------------------------------------------------------------------------- /LICENSE.md: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2021 cryptic-wizard 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # random-word-generator 2 | [![nuget](https://img.shields.io/badge/nuget-v0.9.5-blue)](https://www.nuget.org/packages/CrypticWizard.RandomWordGenerator) 3 | ## Description 4 | * A random word generator for .NET and .NET Core 5 | * Useful for: 6 | * Username generation 7 | * Random word stories 8 | ## Tests 9 | [![.NET 6.0](https://github.com/cryptic-wizard/random-word-generator/actions/workflows/dotnet.yml/badge.svg)](https://github.com/cryptic-wizard/random-word-generator/actions/workflows/dotnet.yml) 10 | 11 | [![.NET Core 3.1](https://github.com/cryptic-wizard/random-word-generator/actions/workflows/dotnetcore.yml/badge.svg)](https://github.com/cryptic-wizard/random-word-generator/actions/workflows/dotnetcore.yml) 12 | 13 | [![Nuget Publish](https://github.com/cryptic-wizard/random-word-generator/actions/workflows/nugetpublish.yml/badge.svg)](https://github.com/cryptic-wizard/random-word-generator/actions/workflows/nugetpublish.yml) 14 | 15 | ## Usage 16 | ### Install Package: 17 | ```Text 18 | dotnet add package CrypticWizard.RandomWordGenerator 19 | ``` 20 | ```xml 21 | 22 | ``` 23 | 24 | ### Include Package: 25 | ```C# 26 | using CrypticWizard.RandomWordGenerator; 27 | using static CrypticWizard.RandomWordGenerator.WordGenerator; //for brevity, not required 28 | ``` 29 | 30 | ### GetWord( ) 31 | ```C# 32 | WordGenerator myWordGenerator = new WordGenerator(); 33 | string word = myWordGenerator.GetWord(PartOfSpeech.noun); 34 | ``` 35 | ```Text 36 | jewel 37 | ``` 38 | 39 | ### GetWords( ) 40 | ```C# 41 | WordGenerator myWordGenerator = new WordGenerator(); 42 | List advs = myWordGenerator.GetWords(PartOfSpeech.adv, 5); 43 | ``` 44 | ```Text 45 | abnormally 46 | boastfully 47 | daintily 48 | shakily 49 | surprisingly 50 | ``` 51 | 52 | ### IsWord () 53 | ```C# 54 | WordGenerator myWordGenerator = new WordGenerator(); 55 | bool isWord = myWordGenerator.IsWord("exemplary"); 56 | ``` 57 | ```Text 58 | true 59 | ``` 60 | 61 | ### IsPartOfSpeech( ) 62 | ```C# 63 | WordGenerator myWordGenerator = new WordGenerator(); 64 | bool isPartOfSpeech = myWordGenerator.IsPartOfSpeech("ball", PartOfSpeech.noun); 65 | ``` 66 | ```Text 67 | true 68 | ``` 69 | 70 | ### GetPatterns( ) 71 | ```C# 72 | WordGenerator myWordGenerator = new WordGenerator(); 73 | 74 | List pattern = new List(); 75 | pattern.Add(PartOfSpeech.adv); 76 | pattern.Add(PartOfSpeech.adj); 77 | pattern.Add(PartOfSpeech.noun); 78 | 79 | List patterns = myWordGenerator.GetPatterns(pattern, ' ', 10); 80 | ``` 81 | ```Text 82 | clearly calm bandana 83 | doubtfully majestic pizza 84 | faithfully acidic bat 85 | freely bustling earthquake 86 | hastily corrupt cake 87 | jealously poised harmony 88 | lively golden lizard 89 | mechanically foolish mitten 90 | successfully spherical scooter 91 | upbeat salty soldier 92 | ``` 93 | 94 | ### SetSeed( ) - thanks [michaldivis](https://github.com/cryptic-wizard/random-word-generator/pull/27)! 95 | ```C# 96 | WordGenerator myWordGenerator = new WordGenerator(seed:123456); 97 | myWordGenerator.SetSeed(654321); 98 | ``` 99 | 100 | ### SetRandom( ) 101 | ```C# 102 | myWordGenerator.SetRandom(new Random(654321)); 103 | string word = myWordGenerator.GetWord(PartOfSpeech.noun); 104 | ``` 105 | 106 | ## Features 107 | ### Recently Added 108 | * v0.9.4 - SetSeed() 109 | * v0.9.4 - SetRandom() 110 | * v0.9.3 - package prefix 111 | * v0.9.2 - IsWord() 112 | #### Planned Features 113 | * Other languages are not planned but can be added as .txt files in a folder of the language abreviation 114 | * ES 115 | * FR 116 | * etc. 117 | 118 | ## Tools 119 | * [Visual Studio](https://visualstudio.microsoft.com/vs/) 120 | * [NUnit 3](https://nunit.org/) 121 | * [SpecFlow](https://specflow.org/tools/specflow/) 122 | * [SpecFlow+ LivingDoc](https://specflow.org/tools/living-doc/) 123 | * [Run SpecFlow Tests](https://github.com/marketplace/actions/run-specflow-tests) 124 | ## License 125 | * [MIT License](https://github.com/cryptic-wizard/random-word-generator/blob/main/LICENSE.md) 126 | -------------------------------------------------------------------------------- /RandomWordGenerator.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio Version 16 4 | VisualStudioVersion = 16.0.31205.134 5 | MinimumVisualStudioVersion = 10.0.40219.1 6 | Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "RandomWordGenerator", "RandomWordGenerator\RandomWordGenerator.csproj", "{3F9B05B4-359E-41C8-AB79-6578F79A4345}" 7 | EndProject 8 | Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "RandomWordGeneratorConsole", "RandomWordGeneratorConsole\RandomWordGeneratorConsole.csproj", "{FF3FFED0-ADBA-46B4-9467-6E6C91E0955E}" 9 | ProjectSection(ProjectDependencies) = postProject 10 | {3F9B05B4-359E-41C8-AB79-6578F79A4345} = {3F9B05B4-359E-41C8-AB79-6578F79A4345} 11 | EndProjectSection 12 | EndProject 13 | Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "RandomWordGeneratorTest", "RandomWordGeneratorTest\RandomWordGeneratorTest.csproj", "{C88D4909-553D-495A-8130-FB1B4FD9C2FD}" 14 | ProjectSection(ProjectDependencies) = postProject 15 | {3F9B05B4-359E-41C8-AB79-6578F79A4345} = {3F9B05B4-359E-41C8-AB79-6578F79A4345} 16 | EndProjectSection 17 | EndProject 18 | Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{E0F8BA42-1754-4744-8696-1B5B69D9A9CB}" 19 | ProjectSection(SolutionItems) = preProject 20 | .gitignore = .gitignore 21 | .github\workflows\dotnet.yml = .github\workflows\dotnet.yml 22 | .github\workflows\dotnetcore.yml = .github\workflows\dotnetcore.yml 23 | LICENSE.md = LICENSE.md 24 | .github\workflows\nugetpublish.yml = .github\workflows\nugetpublish.yml 25 | README.md = README.md 26 | EndProjectSection 27 | EndProject 28 | Global 29 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 30 | Debug|Any CPU = Debug|Any CPU 31 | Release|Any CPU = Release|Any CPU 32 | EndGlobalSection 33 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 34 | {3F9B05B4-359E-41C8-AB79-6578F79A4345}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 35 | {3F9B05B4-359E-41C8-AB79-6578F79A4345}.Debug|Any CPU.Build.0 = Debug|Any CPU 36 | {3F9B05B4-359E-41C8-AB79-6578F79A4345}.Release|Any CPU.ActiveCfg = Release|Any CPU 37 | {3F9B05B4-359E-41C8-AB79-6578F79A4345}.Release|Any CPU.Build.0 = Release|Any CPU 38 | {FF3FFED0-ADBA-46B4-9467-6E6C91E0955E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 39 | {FF3FFED0-ADBA-46B4-9467-6E6C91E0955E}.Debug|Any CPU.Build.0 = Debug|Any CPU 40 | {FF3FFED0-ADBA-46B4-9467-6E6C91E0955E}.Release|Any CPU.ActiveCfg = Release|Any CPU 41 | {FF3FFED0-ADBA-46B4-9467-6E6C91E0955E}.Release|Any CPU.Build.0 = Release|Any CPU 42 | {C88D4909-553D-495A-8130-FB1B4FD9C2FD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 43 | {C88D4909-553D-495A-8130-FB1B4FD9C2FD}.Debug|Any CPU.Build.0 = Debug|Any CPU 44 | {C88D4909-553D-495A-8130-FB1B4FD9C2FD}.Release|Any CPU.ActiveCfg = Release|Any CPU 45 | {C88D4909-553D-495A-8130-FB1B4FD9C2FD}.Release|Any CPU.Build.0 = Release|Any CPU 46 | EndGlobalSection 47 | GlobalSection(SolutionProperties) = preSolution 48 | HideSolutionNode = FALSE 49 | EndGlobalSection 50 | GlobalSection(ExtensibilityGlobals) = postSolution 51 | SolutionGuid = {08A3CC58-82C7-4266-910F-75AAEC62E2D3} 52 | EndGlobalSection 53 | EndGlobal 54 | -------------------------------------------------------------------------------- /RandomWordGenerator/LanguageFiles/EN/adj.txt: -------------------------------------------------------------------------------- 1 | abandoned 2 | able 3 | absolute 4 | adorable 5 | adventurous 6 | academic 7 | acceptable 8 | acclaimed 9 | accomplished 10 | accurate 11 | aching 12 | acidic 13 | acrobatic 14 | active 15 | actual 16 | adept 17 | admirable 18 | admired 19 | adolescent 20 | adored 21 | advanced 22 | afraid 23 | affectionate 24 | aged 25 | aggravating 26 | aggressive 27 | agile 28 | agitated 29 | agonizing 30 | agreeable 31 | ajar 32 | alarmed 33 | alarming 34 | alert 35 | alienated 36 | alive 37 | all 38 | altruistic 39 | amazing 40 | ambitious 41 | ample 42 | amused 43 | amusing 44 | anchored 45 | ancient 46 | angelic 47 | angry 48 | anguished 49 | animated 50 | annual 51 | another 52 | antique 53 | anxious 54 | any 55 | apprehensive 56 | appropriate 57 | apt 58 | arctic 59 | arid 60 | aromatic 61 | artistic 62 | ashamed 63 | assured 64 | astonishing 65 | athletic 66 | attached 67 | attentive 68 | attractive 69 | austere 70 | authentic 71 | authorized 72 | automatic 73 | avaricious 74 | average 75 | aware 76 | awesome 77 | awful 78 | awkward 79 | babyish 80 | bad 81 | back 82 | baggy 83 | bare 84 | barren 85 | basic 86 | beautiful 87 | belated 88 | beloved 89 | beneficial 90 | better 91 | best 92 | bewitched 93 | big 94 | big-hearted 95 | biodegradable 96 | bite-sized 97 | bitter 98 | black 99 | black-and-white 100 | bland 101 | blank 102 | blaring 103 | bleak 104 | blind 105 | blissful 106 | blond 107 | blue 108 | blushing 109 | bogus 110 | boiling 111 | bold 112 | bony 113 | boring 114 | bossy 115 | both 116 | bouncy 117 | bountiful 118 | bowed 119 | brave 120 | breakable 121 | brief 122 | bright 123 | brilliant 124 | brisk 125 | broken 126 | bronze 127 | brown 128 | bruised 129 | bubbly 130 | bulky 131 | bumpy 132 | buoyant 133 | burdensome 134 | burly 135 | bustling 136 | busy 137 | buttery 138 | buzzing 139 | calculating 140 | calm 141 | candid 142 | canine 143 | capital 144 | carefree 145 | careful 146 | careless 147 | caring 148 | cautious 149 | cavernous 150 | celebrated 151 | charming 152 | cheap 153 | cheerful 154 | cheery 155 | chief 156 | chilly 157 | chubby 158 | circular 159 | classic 160 | clean 161 | clear 162 | clear-cut 163 | clever 164 | close 165 | closed 166 | cloudy 167 | clueless 168 | clumsy 169 | cluttered 170 | coarse 171 | cold 172 | colorful 173 | colorless 174 | colossal 175 | comfortable 176 | common 177 | compassionate 178 | competent 179 | complete 180 | complex 181 | complicated 182 | composed 183 | concerned 184 | concrete 185 | confused 186 | conscious 187 | considerate 188 | constant 189 | content 190 | conventional 191 | cooked 192 | cool 193 | cooperative 194 | coordinated 195 | corny 196 | corrupt 197 | costly 198 | courageous 199 | courteous 200 | crafty 201 | crazy 202 | creamy 203 | creative 204 | creepy 205 | criminal 206 | crisp 207 | critical 208 | crooked 209 | crowded 210 | cruel 211 | crushing 212 | cuddly 213 | cultivated 214 | cultured 215 | cumbersome 216 | curly 217 | curvy 218 | cute 219 | cylindrical 220 | damaged 221 | damp 222 | dangerous 223 | dapper 224 | daring 225 | darling 226 | dark 227 | dazzling 228 | dead 229 | deadly 230 | deafening 231 | dear 232 | dearest 233 | decent 234 | decimal 235 | decisive 236 | deep 237 | defenseless 238 | defensive 239 | defiant 240 | deficient 241 | definite 242 | definitive 243 | delayed 244 | delectable 245 | delicious 246 | delightful 247 | delirious 248 | demanding 249 | dense 250 | dental 251 | dependable 252 | dependent 253 | descriptive 254 | deserted 255 | detailed 256 | determined 257 | devoted 258 | different 259 | difficult 260 | digital 261 | diligent 262 | dim 263 | dimpled 264 | dimwitted 265 | direct 266 | disastrous 267 | discrete 268 | disfigured 269 | disgusting 270 | disloyal 271 | dismal 272 | dreary 273 | dirty 274 | disguised 275 | dishonest 276 | distant 277 | distinct 278 | distorted 279 | dizzy 280 | dopey 281 | doting 282 | double 283 | downright 284 | drab 285 | drafty 286 | dramatic 287 | droopy 288 | dry 289 | dual 290 | dull 291 | dutiful 292 | each 293 | eager 294 | earnest 295 | early 296 | easy 297 | easy-going 298 | ecstatic 299 | edible 300 | educated 301 | elaborate 302 | elastic 303 | elated 304 | elderly 305 | electric 306 | elegant 307 | elementary 308 | elliptical 309 | embarrassed 310 | embellished 311 | eminent 312 | emotional 313 | empty 314 | enchanted 315 | enchanting 316 | energetic 317 | enlightened 318 | enormous 319 | enraged 320 | entire 321 | envious 322 | equal 323 | equatorial 324 | essential 325 | esteemed 326 | ethical 327 | euphoric 328 | even 329 | evergreen 330 | everlasting 331 | every 332 | evil 333 | exalted 334 | excellent 335 | exemplary 336 | exhausted 337 | excitable 338 | excited 339 | exciting 340 | exotic 341 | expensive 342 | experienced 343 | expert 344 | extraneous 345 | extroverted 346 | extra-large 347 | extra-small 348 | fabulous 349 | failing 350 | faint 351 | fair 352 | faithful 353 | fake 354 | false 355 | familiar 356 | famous 357 | fancy 358 | fantastic 359 | far 360 | faraway 361 | far-flung 362 | far-off 363 | fast 364 | fat 365 | fatal 366 | fatherly 367 | favorable 368 | favorite 369 | fearful 370 | fearless 371 | feisty 372 | feline 373 | female 374 | feminine 375 | few 376 | fickle 377 | filthy 378 | fine 379 | finished 380 | firm 381 | first 382 | firsthand 383 | fitting 384 | fixed 385 | flaky 386 | flamboyant 387 | flashy 388 | flat 389 | flawed 390 | flawless 391 | flickering 392 | flimsy 393 | flippant 394 | flowery 395 | fluffy 396 | fluid 397 | flustered 398 | focused 399 | fond 400 | foolhardy 401 | foolish 402 | forceful 403 | forked 404 | formal 405 | forsaken 406 | forthright 407 | fortunate 408 | fragrant 409 | frail 410 | frank 411 | frayed 412 | free 413 | French 414 | fresh 415 | frequent 416 | friendly 417 | frightened 418 | frightening 419 | frigid 420 | frilly 421 | frizzy 422 | frivolous 423 | front 424 | frosty 425 | frozen 426 | frugal 427 | fruitful 428 | full 429 | fumbling 430 | functional 431 | funny 432 | fussy 433 | fuzzy 434 | gargantuan 435 | gaseous 436 | general 437 | generous 438 | gentle 439 | genuine 440 | giant 441 | giddy 442 | gigantic 443 | gifted 444 | giving 445 | glamorous 446 | glaring 447 | glass 448 | gleaming 449 | gleeful 450 | glistening 451 | glittering 452 | gloomy 453 | glorious 454 | glossy 455 | glum 456 | golden 457 | good 458 | good-natured 459 | gorgeous 460 | graceful 461 | gracious 462 | grand 463 | grandiose 464 | granular 465 | grateful 466 | grave 467 | gray 468 | great 469 | greedy 470 | green 471 | gregarious 472 | grim 473 | grimy 474 | gripping 475 | grizzled 476 | gross 477 | grotesque 478 | grouchy 479 | grounded 480 | growing 481 | growling 482 | grown 483 | grubby 484 | gruesome 485 | grumpy 486 | guilty 487 | gullible 488 | gummy 489 | hairy 490 | half 491 | handmade 492 | handsome 493 | handy 494 | happy 495 | happy-go-lucky 496 | hard 497 | hard-to-find 498 | harmful 499 | harmless 500 | harmonious 501 | harsh 502 | hasty 503 | hateful 504 | haunting 505 | healthy 506 | heartfelt 507 | hearty 508 | heavenly 509 | heavy 510 | hefty 511 | helpful 512 | helpless 513 | hidden 514 | hideous 515 | high 516 | high-level 517 | hilarious 518 | hoarse 519 | hollow 520 | homely 521 | honest 522 | honorable 523 | honored 524 | hopeful 525 | horrible 526 | hospitable 527 | hot 528 | huge 529 | humble 530 | humiliating 531 | humming 532 | humongous 533 | hungry 534 | hurtful 535 | husky 536 | icky 537 | icy 538 | ideal 539 | idealistic 540 | identical 541 | idle 542 | idiotic 543 | idolized 544 | ignorant 545 | ill 546 | illegal 547 | ill-fated 548 | ill-informed 549 | illiterate 550 | illustrious 551 | imaginary 552 | imaginative 553 | immaculate 554 | immaterial 555 | immediate 556 | immense 557 | impassioned 558 | impeccable 559 | impartial 560 | imperfect 561 | imperturbable 562 | impish 563 | impolite 564 | important 565 | impossible 566 | impractical 567 | impressionable 568 | impressive 569 | improbable 570 | impure 571 | inborn 572 | incomparable 573 | incompatible 574 | incomplete 575 | inconsequential 576 | incredible 577 | indelible 578 | inexperienced 579 | indolent 580 | infamous 581 | infantile 582 | infatuated 583 | inferior 584 | infinite 585 | informal 586 | innocent 587 | insecure 588 | insidious 589 | insignificant 590 | insistent 591 | instructive 592 | insubstantial 593 | intelligent 594 | intent 595 | intentional 596 | interesting 597 | internal 598 | international 599 | intrepid 600 | ironclad 601 | irresponsible 602 | irritating 603 | itchy 604 | jaded 605 | jagged 606 | jam-packed 607 | jaunty 608 | jealous 609 | jittery 610 | joint 611 | jolly 612 | jovial 613 | joyful 614 | joyous 615 | jubilant 616 | judicious 617 | juicy 618 | jumbo 619 | junior 620 | jumpy 621 | juvenile 622 | kaleidoscopic 623 | keen 624 | key 625 | kind 626 | kindhearted 627 | kindly 628 | klutzy 629 | knobby 630 | knotty 631 | knowledgeable 632 | knowing 633 | known 634 | kooky 635 | kosher 636 | lame 637 | lanky 638 | large 639 | last 640 | lasting 641 | late 642 | lavish 643 | lawful 644 | lazy 645 | leading 646 | lean 647 | leafy 648 | left 649 | legal 650 | legitimate 651 | light 652 | lighthearted 653 | likable 654 | likely 655 | limited 656 | limp 657 | limping 658 | linear 659 | lined 660 | liquid 661 | little 662 | live 663 | lively 664 | livid 665 | loathsome 666 | lone 667 | lonely 668 | long 669 | long-term 670 | loose 671 | lopsided 672 | lost 673 | loud 674 | lovable 675 | lovely 676 | loving 677 | low 678 | loyal 679 | lucky 680 | lumbering 681 | luminous 682 | lumpy 683 | lustrous 684 | luxurious 685 | mad 686 | made-up 687 | magnificent 688 | majestic 689 | major 690 | male 691 | mammoth 692 | married 693 | marvelous 694 | masculine 695 | massive 696 | mature 697 | meager 698 | mealy 699 | mean 700 | measly 701 | meaty 702 | medical 703 | mediocre 704 | medium 705 | meek 706 | mellow 707 | melodic 708 | memorable 709 | menacing 710 | merry 711 | messy 712 | metallic 713 | mild 714 | milky 715 | mindless 716 | miniature 717 | minor 718 | minty 719 | miserable 720 | miserly 721 | misguided 722 | misty 723 | mixed 724 | modern 725 | modest 726 | moist 727 | monstrous 728 | monthly 729 | monumental 730 | moral 731 | mortified 732 | motherly 733 | motionless 734 | mountainous 735 | muddy 736 | muffled 737 | multicolored 738 | mundane 739 | murky 740 | mushy 741 | musty 742 | muted 743 | mysterious 744 | naive 745 | narrow 746 | nasty 747 | natural 748 | naughty 749 | nautical 750 | near 751 | neat 752 | necessary 753 | needy 754 | negative 755 | neglected 756 | negligible 757 | neighboring 758 | nervous 759 | new 760 | next 761 | nice 762 | nifty 763 | nimble 764 | nippy 765 | nocturnal 766 | noisy 767 | nonstop 768 | normal 769 | notable 770 | noted 771 | noteworthy 772 | novel 773 | noxious 774 | numb 775 | nutritious 776 | nutty 777 | obedient 778 | obese 779 | oblong 780 | oily 781 | obvious 782 | occasional 783 | odd 784 | oddball 785 | offbeat 786 | offensive 787 | official 788 | old 789 | old-fashioned 790 | only 791 | open 792 | optimal 793 | optimistic 794 | opulent 795 | orange 796 | orderly 797 | organic 798 | ornate 799 | ornery 800 | ordinary 801 | original 802 | other 803 | our 804 | outlying 805 | outgoing 806 | outlandish 807 | outrageous 808 | outstanding 809 | oval 810 | overcooked 811 | overdue 812 | overjoyed 813 | overlooked 814 | palatable 815 | pale 816 | paltry 817 | parallel 818 | parched 819 | partial 820 | passionate 821 | past 822 | pastel 823 | peaceful 824 | peppery 825 | perfect 826 | perfumed 827 | periodic 828 | perky 829 | personal 830 | pertinent 831 | pesky 832 | pessimistic 833 | petty 834 | phony 835 | physical 836 | piercing 837 | pink 838 | pitiful 839 | plain 840 | plaintive 841 | plastic 842 | playful 843 | pleasant 844 | pleased 845 | pleasing 846 | plump 847 | plush 848 | polished 849 | polite 850 | political 851 | pointed 852 | pointless 853 | poised 854 | poor 855 | popular 856 | portly 857 | posh 858 | positive 859 | possible 860 | potable 861 | powerful 862 | powerless 863 | practical 864 | precious 865 | present 866 | prestigious 867 | pretty 868 | previous 869 | pricey 870 | prickly 871 | primary 872 | prime 873 | pristine 874 | private 875 | prize 876 | probable 877 | productive 878 | profitable 879 | profuse 880 | proper 881 | proud 882 | prudent 883 | punctual 884 | pungent 885 | puny 886 | pure 887 | purple 888 | pushy 889 | putrid 890 | puzzled 891 | puzzling 892 | quaint 893 | qualified 894 | quarrelsome 895 | quarterly 896 | queasy 897 | querulous 898 | questionable 899 | quick 900 | quick-witted 901 | quiet 902 | quintessential 903 | quirky 904 | quixotic 905 | quizzical 906 | radiant 907 | ragged 908 | rapid 909 | rare 910 | rash 911 | raw 912 | recent 913 | reckless 914 | rectangular 915 | ready 916 | real 917 | realistic 918 | reasonable 919 | red 920 | reflecting 921 | regal 922 | regular 923 | reliable 924 | relieved 925 | remarkable 926 | remorseful 927 | remote 928 | repentant 929 | required 930 | respectful 931 | responsible 932 | repulsive 933 | revolving 934 | rewarding 935 | rich 936 | rigid 937 | right 938 | ringed 939 | ripe 940 | roasted 941 | robust 942 | rosy 943 | rotating 944 | rotten 945 | rough 946 | round 947 | rowdy 948 | royal 949 | rubbery 950 | rundown 951 | ruddy 952 | rude 953 | runny 954 | rural 955 | rusty 956 | sad 957 | safe 958 | salty 959 | same 960 | sandy 961 | sane 962 | sarcastic 963 | sardonic 964 | satisfied 965 | scaly 966 | scarce 967 | scared 968 | scary 969 | scented 970 | scholarly 971 | scientific 972 | scornful 973 | scratchy 974 | scrawny 975 | second 976 | secondary 977 | second-hand 978 | secret 979 | self-assured 980 | self-reliant 981 | selfish 982 | sentimental 983 | separate 984 | serene 985 | serious 986 | serpentine 987 | several 988 | severe 989 | shabby 990 | shadowy 991 | shady 992 | shallow 993 | shameful 994 | shameless 995 | sharp 996 | shimmering 997 | shiny 998 | shocked 999 | shocking 1000 | shoddy 1001 | short 1002 | short-term 1003 | showy 1004 | shrill 1005 | shy 1006 | sick 1007 | silent 1008 | silky 1009 | silly 1010 | silver 1011 | similar 1012 | simple 1013 | simplistic 1014 | sinful 1015 | single 1016 | sizzling 1017 | skeletal 1018 | skinny 1019 | sleepy 1020 | slight 1021 | slim 1022 | slimy 1023 | slippery 1024 | slow 1025 | slushy 1026 | small 1027 | smart 1028 | smoggy 1029 | smooth 1030 | smug 1031 | snappy 1032 | snarling 1033 | sneaky 1034 | sniveling 1035 | snoopy 1036 | sociable 1037 | soft 1038 | soggy 1039 | solid 1040 | somber 1041 | some 1042 | spherical 1043 | sophisticated 1044 | sore 1045 | sorrowful 1046 | soulful 1047 | soupy 1048 | sour 1049 | Spanish 1050 | sparkling 1051 | sparse 1052 | specific 1053 | spectacular 1054 | speedy 1055 | spicy 1056 | spiffy 1057 | spirited 1058 | spiteful 1059 | splendid 1060 | spotless 1061 | spotted 1062 | spry 1063 | square 1064 | squeaky 1065 | squiggly 1066 | stable 1067 | staid 1068 | stained 1069 | stale 1070 | standard 1071 | starchy 1072 | stark 1073 | starry 1074 | steep 1075 | sticky 1076 | stiff 1077 | stimulating 1078 | stingy 1079 | stormy 1080 | straight 1081 | strange 1082 | steel 1083 | strict 1084 | strident 1085 | striking 1086 | striped 1087 | strong 1088 | studious 1089 | stunning 1090 | stupendous 1091 | stupid 1092 | sturdy 1093 | stylish 1094 | subdued 1095 | submissive 1096 | substantial 1097 | subtle 1098 | suburban 1099 | sudden 1100 | sugary 1101 | sunny 1102 | super 1103 | superb 1104 | superficial 1105 | superior 1106 | supportive 1107 | sure-footed 1108 | surprised 1109 | suspicious 1110 | svelte 1111 | sweaty 1112 | sweet 1113 | sweltering 1114 | swift 1115 | sympathetic 1116 | tall 1117 | talkative 1118 | tame 1119 | tan 1120 | tangible 1121 | tart 1122 | tasty 1123 | tattered 1124 | taut 1125 | tedious 1126 | teeming 1127 | tempting 1128 | tender 1129 | tense 1130 | tepid 1131 | terrible 1132 | terrific 1133 | testy 1134 | thankful 1135 | that 1136 | these 1137 | thick 1138 | thin 1139 | third 1140 | thirsty 1141 | this 1142 | thorough 1143 | thorny 1144 | those 1145 | thoughtful 1146 | threadbare 1147 | thrifty 1148 | thunderous 1149 | tidy 1150 | tight 1151 | timely 1152 | tinted 1153 | tiny 1154 | tired 1155 | torn 1156 | total 1157 | tough 1158 | traumatic 1159 | treasured 1160 | tremendous 1161 | tragic 1162 | trained 1163 | triangular 1164 | tricky 1165 | trifling 1166 | trim 1167 | trivial 1168 | troubled 1169 | true 1170 | trusting 1171 | trustworthy 1172 | trusty 1173 | truthful 1174 | tubby 1175 | turbulent 1176 | twin 1177 | ugly 1178 | ultimate 1179 | unacceptable 1180 | unaware 1181 | uncomfortable 1182 | uncommon 1183 | unconscious 1184 | understated 1185 | unequaled 1186 | uneven 1187 | unfinished 1188 | unfit 1189 | unfolded 1190 | unfortunate 1191 | unhappy 1192 | unhealthy 1193 | uniform 1194 | unimportant 1195 | unique 1196 | united 1197 | unkempt 1198 | unknown 1199 | unlawful 1200 | unlined 1201 | unlucky 1202 | unnatural 1203 | unpleasant 1204 | unrealistic 1205 | unripe 1206 | unruly 1207 | unselfish 1208 | unsightly 1209 | unsteady 1210 | unsung 1211 | untidy 1212 | untimely 1213 | untried 1214 | untrue 1215 | unused 1216 | unusual 1217 | unwelcome 1218 | unwieldy 1219 | unwilling 1220 | unwitting 1221 | unwritten 1222 | upbeat 1223 | upright 1224 | upset 1225 | urban 1226 | usable 1227 | used 1228 | useful 1229 | useless 1230 | utilized 1231 | utter 1232 | vacant 1233 | vague 1234 | vain 1235 | valid 1236 | valuable 1237 | vapid 1238 | variable 1239 | vast 1240 | velvety 1241 | venerated 1242 | vengeful 1243 | verifiable 1244 | vibrant 1245 | vicious 1246 | victorious 1247 | vigilant 1248 | vigorous 1249 | villainous 1250 | violet 1251 | violent 1252 | virtual 1253 | virtuous 1254 | visible 1255 | vital 1256 | vivacious 1257 | vivid 1258 | voluminous 1259 | wan 1260 | warlike 1261 | warm 1262 | warmhearted 1263 | warped 1264 | wary 1265 | wasteful 1266 | watchful 1267 | waterlogged 1268 | watery 1269 | wavy 1270 | wealthy 1271 | weak 1272 | weary 1273 | webbed 1274 | wee 1275 | weekly 1276 | weepy 1277 | weighty 1278 | weird 1279 | welcome 1280 | well-documented 1281 | well-groomed 1282 | well-informed 1283 | well-lit 1284 | well-made 1285 | well-off 1286 | well-worn 1287 | wet 1288 | which 1289 | whimsical 1290 | whirlwind 1291 | whispered 1292 | white 1293 | whole 1294 | whopping 1295 | wicked 1296 | wide 1297 | wide-eyed 1298 | wiggly 1299 | wild 1300 | willing 1301 | wilted 1302 | winding 1303 | windy 1304 | winged 1305 | wiry 1306 | wise 1307 | witty 1308 | wobbly 1309 | woeful 1310 | wonderful 1311 | wooden 1312 | woozy 1313 | wordy 1314 | worldly 1315 | worn 1316 | worried 1317 | worrisome 1318 | worse 1319 | worst 1320 | worthless 1321 | worthwhile 1322 | worthy 1323 | wrathful 1324 | wretched 1325 | writhing 1326 | wrong 1327 | wry 1328 | yawning 1329 | yearly 1330 | yellow 1331 | yellowish 1332 | young 1333 | youthful 1334 | yummy 1335 | zany 1336 | zealous 1337 | zesty 1338 | zigzag -------------------------------------------------------------------------------- /RandomWordGenerator/LanguageFiles/EN/adv.txt: -------------------------------------------------------------------------------- 1 | abnormally 2 | absentmindedly 3 | accidentally 4 | actually 5 | adventurously 6 | afterwards 7 | almost 8 | always 9 | annually 10 | anxiously 11 | arrogantly 12 | awkwardly 13 | bashfully 14 | beautifully 15 | bitterly 16 | bleakly 17 | blindly 18 | blissfully 19 | boastfully 20 | boldly 21 | bravely 22 | briefly 23 | brightly 24 | briskly 25 | broadly 26 | busily 27 | calmly 28 | carefully 29 | carelessly 30 | cautiously 31 | certainly 32 | cheerfully 33 | clearly 34 | cleverly 35 | closely 36 | coaxingly 37 | colorfully 38 | commonly 39 | continually 40 | coolly 41 | correctly 42 | courageously 43 | crossly 44 | cruelly 45 | curiously 46 | daily 47 | daintily 48 | dearly 49 | deceivingly 50 | deeply 51 | defiantly 52 | deliberately 53 | delightfully 54 | diligently 55 | dimly 56 | doubtfully 57 | dreamily 58 | easily 59 | elegantly 60 | energetically 61 | enormously 62 | enthusiastically 63 | equally 64 | especially 65 | evenly 66 | eventually 67 | exactly 68 | excitedly 69 | extremely 70 | fairly 71 | faithfully 72 | famously 73 | far 74 | fast 75 | fatally 76 | ferociously 77 | fervently 78 | fiercely 79 | fondly 80 | foolishly 81 | fortunately 82 | frankly 83 | frantically 84 | freely 85 | frenetically 86 | frightfully 87 | fully 88 | furiously 89 | generally 90 | generously 91 | gently 92 | gladly 93 | gleefully 94 | gracefully 95 | gratefully 96 | greatly 97 | greedily 98 | happily 99 | hastily 100 | healthily 101 | heavily 102 | helpfully 103 | helplessly 104 | highly 105 | honestly 106 | hopelessly 107 | hourly 108 | hungrily 109 | immediately 110 | innocently 111 | inquisitively 112 | instantly 113 | intensely 114 | intently 115 | interestingly 116 | inwardly 117 | irritably 118 | jaggedly 119 | jealously 120 | jovially 121 | joyfully 122 | joyously 123 | jubilantly 124 | judgmentally 125 | justly 126 | keenly 127 | kiddingly 128 | kindheartedly 129 | kindly 130 | knavishly 131 | knowingly 132 | knowledgeably 133 | kookily 134 | lazily 135 | leslightly 136 | likely 137 | limply 138 | lively 139 | loftily 140 | longingly 141 | loosely 142 | loudly 143 | lovingly 144 | loyally 145 | madly 146 | majestically 147 | meaningfully 148 | mechanically 149 | merrily 150 | miserably 151 | mockingly 152 | monthly 153 | more 154 | mortally 155 | mostly 156 | mysteriously 157 | naturally 158 | nearly 159 | neatly 160 | nervously 161 | never 162 | nicely 163 | noisily 164 | obediently 165 | obnoxiously 166 | oddly 167 | offensively 168 | officially 169 | often 170 | only 171 | openly 172 | optimistically 173 | overconfidently 174 | painfully 175 | partially 176 | patiently 177 | perfectly 178 | physically 179 | playfully 180 | politely 181 | poorly 182 | positively 183 | potentially 184 | powerfully 185 | promptly 186 | properly 187 | punctually 188 | quaintly 189 | queasily 190 | queerly 191 | questionably 192 | quicker 193 | quickly 194 | quietly 195 | quirkily 196 | quizzically 197 | randomly 198 | rapidly 199 | rarely 200 | readily 201 | really 202 | reassuringly 203 | recklessly 204 | regularly 205 | reluctantly 206 | repeatedly 207 | reproachfully 208 | restfully 209 | righteously 210 | rightfully 211 | rigidly 212 | roughly 213 | rudely 214 | safely 215 | scarcely 216 | scarily 217 | searchingly 218 | sedately 219 | seemingly 220 | seldom 221 | selfishly 222 | separately 223 | seriously 224 | shakily 225 | sharply 226 | sheepishly 227 | shrilly 228 | shyly 229 | silently 230 | sleepily 231 | slowly 232 | smoothly 233 | softly 234 | solemnly 235 | solidly 236 | sometimes 237 | soon 238 | speedily 239 | stealthily 240 | sternly 241 | strictly 242 | successfully 243 | suddenly 244 | supposedly 245 | surprisingly 246 | suspiciously 247 | sweetly 248 | swiftly 249 | sympathetically 250 | tenderly 251 | tensely 252 | terribly 253 | thankfully 254 | thoroughly 255 | thoughtfully 256 | tightly 257 | tomorrow 258 | tremendously 259 | triumphantly 260 | truly 261 | truthfully 262 | ultimately 263 | unabashedly 264 | unaccountably 265 | unbearably 266 | unethically 267 | unexpectedly 268 | unfortunately 269 | unimpressively 270 | unnaturally 271 | unnecessarily 272 | upbeat 273 | upright 274 | upside-down 275 | upward 276 | urgently 277 | usefully 278 | uselessly 279 | usually 280 | utterly 281 | vacantly 282 | vaguely 283 | vainly 284 | valiantly 285 | vastly 286 | verbally 287 | very 288 | viciously 289 | victoriously 290 | violently 291 | vivaciously 292 | voluntarily 293 | warmly 294 | weakly 295 | wearily 296 | well 297 | wetly 298 | wholly 299 | wildly 300 | willfully 301 | wisely 302 | woefully 303 | wonderfully 304 | worriedly 305 | wrongly 306 | yawningly 307 | yearly 308 | yearningly 309 | yesterday 310 | yieldingly 311 | youthfully 312 | zealously 313 | zestfully 314 | zestily -------------------------------------------------------------------------------- /RandomWordGenerator/LanguageFiles/EN/art.txt: -------------------------------------------------------------------------------- 1 | a 2 | an 3 | the -------------------------------------------------------------------------------- /RandomWordGenerator/LanguageFiles/EN/noun.txt: -------------------------------------------------------------------------------- 1 | aardvark 2 | air 3 | airplane 4 | airport 5 | alarm 6 | alligator 7 | almond 8 | alphabet 9 | ambulance 10 | animal 11 | ankle 12 | ant 13 | anteater 14 | antelope 15 | ape 16 | apogee 17 | apple 18 | arm 19 | armchair 20 | arrow 21 | asparagus 22 | baby 23 | back 24 | backbone 25 | bacon 26 | badge 27 | badger 28 | bag 29 | bagpipe 30 | bait 31 | bakery 32 | ball 33 | balloon 34 | bamboo 35 | banana 36 | band 37 | bandana 38 | banjo 39 | bank 40 | baseball 41 | basket 42 | basketball 43 | bat 44 | bath 45 | bathroom 46 | bathtub 47 | battery 48 | battle 49 | bay 50 | beach 51 | bead 52 | bean 53 | bear 54 | beard 55 | beast 56 | beat 57 | beauty 58 | beaver 59 | bed 60 | bedroom 61 | bee 62 | beef 63 | beetle 64 | bell 65 | belt 66 | bench 67 | beret 68 | berry 69 | bicycle 70 | bike 71 | bird 72 | birthday 73 | bite 74 | blade 75 | blanket 76 | blob 77 | block 78 | blood 79 | blouse 80 | boar 81 | board 82 | bus 83 | bush 84 | butter 85 | button 86 | cabbage 87 | cactus 88 | cafe 89 | cake 90 | calculator 91 | calendar 92 | calf 93 | camel 94 | camera 95 | camp 96 | candle 97 | canoe 98 | canvas 99 | cap 100 | captain 101 | car 102 | card 103 | cardboard 104 | cardigan 105 | carpenter 106 | carrot 107 | carton 108 | cartoon 109 | cat 110 | caterpillar 111 | cathedral 112 | cattle 113 | cauliflower 114 | cave 115 | CD 116 | ceiling 117 | celery 118 | cello 119 | cement 120 | cemetery 121 | cereal 122 | boat 123 | bobcat 124 | body 125 | bone 126 | bonsai 127 | book 128 | bookcase 129 | booklet 130 | boot 131 | border 132 | bottle 133 | bottom 134 | boundary 135 | bow 136 | bowling 137 | box 138 | boy 139 | brain 140 | brake 141 | branch 142 | brass 143 | bread 144 | break 145 | breakfast 146 | breath 147 | brevity 148 | brick 149 | bridge 150 | broccoli 151 | brochure 152 | brother 153 | brush 154 | bubble 155 | bucket 156 | bug 157 | building 158 | bulb 159 | bull 160 | bulldozer 161 | bun 162 | chain 163 | chair 164 | chalk 165 | channel 166 | character 167 | cheek 168 | cheese 169 | cheetah 170 | cherry 171 | chess 172 | chest 173 | chick 174 | chicken 175 | children 176 | chimpanzee 177 | chin 178 | chip 179 | chive 180 | chocolate 181 | church 182 | cicada 183 | cinema 184 | circle 185 | city 186 | clam 187 | clarinet 188 | click 189 | clip 190 | clock 191 | closet 192 | cloth 193 | cloud 194 | coach 195 | coal 196 | coast 197 | coat 198 | cobweb 199 | cockroach 200 | cocoa 201 | coffee 202 | coil 203 | coin 204 | coke 205 | collar 206 | college 207 | colt 208 | comb 209 | comics 210 | comma 211 | computer 212 | cone 213 | copy 214 | corn 215 | cotton 216 | couch 217 | cougar 218 | country 219 | course 220 | court 221 | cousin 222 | cow 223 | crab 224 | crack 225 | cracker 226 | crate 227 | crayfish 228 | crayon 229 | cream 230 | creek 231 | cricket 232 | crocodile 233 | crop 234 | crow 235 | crowd 236 | crown 237 | crumb 238 | cucumber 239 | cup 240 | cupboard 241 | curtain 242 | curve 243 | cushion 244 | cyclone 245 | dad 246 | daffodil 247 | daisy 248 | dance 249 | daughter 250 | deer 251 | denim 252 | dentist 253 | desert 254 | desk 255 | dessert 256 | detective 257 | dew 258 | diamond 259 | dictionary 260 | dinghy 261 | dinosaur 262 | dirt 263 | disco 264 | dish 265 | dock 266 | dog 267 | doll 268 | dollar 269 | door 270 | dragon 271 | dragonfly 272 | drain 273 | drawer 274 | drawing 275 | dress 276 | dresser 277 | drill 278 | drink 279 | drum 280 | dryer 281 | duck 282 | duckling 283 | dungeon 284 | dust 285 | eagle 286 | ear 287 | earth 288 | earthquake 289 | eel 290 | egg 291 | eggplant 292 | elbow 293 | elephant 294 | energy 295 | engine 296 | equipment 297 | eye 298 | eyebrow 299 | face 300 | fact 301 | factory 302 | fairies 303 | family 304 | fan 305 | fang 306 | farm 307 | fat 308 | fear 309 | feast 310 | feather 311 | feet 312 | ferryboat 313 | field 314 | finger 315 | fire 316 | fireplace 317 | fish 318 | fist 319 | flag 320 | flame 321 | flood 322 | floor 323 | flower 324 | flute 325 | fly 326 | foam 327 | fog 328 | food 329 | foot 330 | football 331 | forehead 332 | forest 333 | fork 334 | fountain 335 | fox 336 | frame 337 | freckle 338 | freezer 339 | frog 340 | frost 341 | fruit 342 | fuel 343 | fur 344 | furniture 345 | game 346 | garage 347 | garden 348 | garlic 349 | gas 350 | gate 351 | gear 352 | ghost 353 | giraffe 354 | girl 355 | glass 356 | glove 357 | glue 358 | goal 359 | goat 360 | gold 361 | goldfish 362 | golf 363 | gorilla 364 | government 365 | grape 366 | grass 367 | grasshopper 368 | grater 369 | grease 370 | grill 371 | grin 372 | group 373 | guitar 374 | gum 375 | gym 376 | gymnast 377 | hail 378 | hair 379 | haircut 380 | hall 381 | ham 382 | hamburger 383 | hammer 384 | hamster 385 | hand 386 | handball 387 | handle 388 | hardware 389 | harmonica 390 | harmony 391 | hat 392 | hawk 393 | head 394 | headlight 395 | heart 396 | heat 397 | hedge 398 | height 399 | helicopter 400 | helmet 401 | hem 402 | hen 403 | START 404 | HERE 405 | hill 406 | hip 407 | hippopotamus 408 | hockey 409 | hog 410 | hole 411 | home 412 | honey 413 | hood 414 | hook 415 | horn 416 | horse 417 | hose 418 | hospital 419 | house 420 | hurricane 421 | hyena 422 | ice 423 | icicle 424 | ink 425 | insect 426 | instrument 427 | iron 428 | island 429 | jacket 430 | jade 431 | jaguar 432 | jail 433 | jam 434 | jar 435 | jaw 436 | jeans 437 | jeep 438 | jelly 439 | jellyfish 440 | jet 441 | jewel 442 | joke 443 | journey 444 | judge 445 | judo 446 | juice 447 | jump 448 | jumper 449 | kangaroo 450 | karate 451 | kayak 452 | kettle 453 | key 454 | keyboard 455 | kick 456 | kiss 457 | kitchen 458 | kite 459 | kitten 460 | knee 461 | knife 462 | knight 463 | knot 464 | lace 465 | ladybug 466 | lake 467 | lamb 468 | lamp 469 | land 470 | lasagna 471 | laugh 472 | laundry 473 | leaf 474 | leather 475 | leek 476 | leg 477 | lemonade 478 | leopard 479 | letter 480 | lettuce 481 | library 482 | lift 483 | light 484 | lightning 485 | lily 486 | line 487 | lion 488 | lip 489 | lipstick 490 | liquid 491 | list 492 | litter 493 | lizard 494 | loaf 495 | lobster 496 | lock 497 | locket 498 | locust 499 | look 500 | lotion 501 | love 502 | lunch 503 | lynx 504 | macaroni 505 | machine 506 | magazine 507 | magic 508 | magician 509 | mail 510 | mailbox 511 | mailman 512 | makeup 513 | map 514 | marble 515 | mark 516 | market 517 | mascara 518 | mask 519 | match 520 | meal 521 | meat 522 | mechanic 523 | medicine 524 | memory 525 | men 526 | menu 527 | message 528 | metal 529 | mice 530 | middle 531 | milk 532 | milkshake 533 | mint 534 | minute 535 | mirror 536 | mist 537 | mistake 538 | mitten 539 | Monday 540 | money 541 | monkey 542 | month 543 | moon 544 | moose 545 | morning 546 | mosquito 547 | motorboat 548 | motorcycle 549 | mountain 550 | mouse 551 | moustache 552 | mouth 553 | music 554 | mustard 555 | nail 556 | name 557 | napkin 558 | neck 559 | needle 560 | nest 561 | net 562 | news 563 | night 564 | noise 565 | noodle 566 | nose 567 | note 568 | notebook 569 | number 570 | nut 571 | oak 572 | oatmeal 573 | ocean 574 | octopus 575 | office 576 | oil 577 | olive 578 | onion 579 | orange 580 | orchestra 581 | ostrich 582 | otter 583 | oven 584 | owl 585 | ox 586 | oxygen 587 | oyster 588 | packet 589 | page 590 | pail 591 | pain 592 | paint 593 | pair 594 | pajama 595 | pamphlet 596 | pan 597 | pancake 598 | panda 599 | pansy 600 | panther 601 | pants 602 | paper 603 | parcel 604 | parent 605 | park 606 | parrot 607 | party 608 | pasta 609 | paste 610 | pastry 611 | patch 612 | path 613 | pea 614 | peace 615 | peanut 616 | pear 617 | pedestrian 618 | pelican 619 | pen 620 | pencil 621 | pepper 622 | perfume 623 | person 624 | pest 625 | pet 626 | phone 627 | piano 628 | pickle 629 | picture 630 | pie 631 | pig 632 | pigeon 633 | pillow 634 | pilot 635 | pimple 636 | pin 637 | pipe 638 | pizza 639 | plane 640 | plant 641 | plantation 642 | plastic 643 | plate 644 | playground 645 | plot 646 | pocket 647 | poison 648 | police 649 | policeman 650 | pollution 651 | pond 652 | popcorn 653 | poppy 654 | porcupine 655 | postage 656 | postbox 657 | pot 658 | potato 659 | poultry 660 | powder 661 | power 662 | price 663 | printer 664 | prison 665 | pumpkin 666 | puppy 667 | pyramid 668 | queen 669 | question 670 | quicksand 671 | quill 672 | quilt 673 | rabbit 674 | radio 675 | radish 676 | raft 677 | rail 678 | railway 679 | rain 680 | rainbow 681 | raincoat 682 | rainstorm 683 | rake 684 | rat 685 | ravioli 686 | ray 687 | recorder 688 | rectangle 689 | refrigerator 690 | reindeer 691 | relatives 692 | restaurant 693 | reward 694 | rhinoceros 695 | rice 696 | riddle 697 | ring 698 | river 699 | road 700 | roast 701 | rock 702 | roll 703 | roof 704 | room 705 | rooster 706 | rose 707 | rowboat 708 | rubber 709 | sack 710 | sail 711 | sailboat 712 | sailor 713 | salad 714 | salmon 715 | salt 716 | sand 717 | sandwich 718 | sardine 719 | sauce 720 | sausage 721 | saw 722 | saxophone 723 | scarecrow 724 | scarf 725 | school 726 | scissors 727 | scooter 728 | scorpion 729 | screw 730 | screwdriver 731 | sea 732 | seagull 733 | seal 734 | seaplane 735 | seashore 736 | season 737 | seat 738 | second 739 | seed 740 | sentence 741 | servant 742 | shade 743 | shadow 744 | shallot 745 | shampoo 746 | shark 747 | shears 748 | sheep 749 | sheet 750 | shelf 751 | shell 752 | shield 753 | ship 754 | shirt 755 | shoe 756 | shoemaker 757 | shop 758 | shorts 759 | shoulder 760 | shovel 761 | show 762 | side 763 | sidewalk 764 | sign 765 | signature 766 | silk 767 | silver 768 | singer 769 | sink 770 | sister 771 | skin 772 | skirt 773 | sky 774 | sled 775 | slippers 776 | slope 777 | smoke 778 | snail 779 | snake 780 | sneeze 781 | snow 782 | snowflake 783 | snowman 784 | soap 785 | soccer 786 | sock 787 | sofa 788 | softball 789 | soldier 790 | son 791 | song 792 | sound 793 | soup 794 | soybean 795 | space 796 | spade 797 | spaghetti 798 | spark 799 | sparrow 800 | spear 801 | speedboat 802 | spider 803 | spike 804 | spinach 805 | sponge 806 | spoon 807 | spot 808 | sprout 809 | spy 810 | square 811 | squash 812 | squid 813 | squirrel 814 | stage 815 | staircase 816 | stamp 817 | star 818 | station 819 | steam 820 | steel 821 | stem 822 | step 823 | stew 824 | stick 825 | stitch 826 | stinger 827 | stomach 828 | stone 829 | stool 830 | stopsign 831 | stopwatch 832 | store 833 | storm 834 | story 835 | stove 836 | stranger 837 | straw 838 | stream 839 | string 840 | submarine 841 | sugar 842 | suit 843 | summer 844 | sun 845 | sunshine 846 | sunflower 847 | supermarket 848 | surfboard 849 | surname 850 | surprise 851 | sushi 852 | swallow 853 | swamp 854 | swan 855 | sweater 856 | sweatshirt 857 | sweets 858 | swing 859 | switch 860 | sword 861 | swordfish 862 | syrup 863 | table 864 | tabletop 865 | tadpole 866 | tail 867 | target 868 | tax 869 | taxi 870 | tea 871 | teacher 872 | team 873 | teeth 874 | television 875 | tennis 876 | tent 877 | textbook 878 | theater 879 | thistle 880 | thought 881 | thread 882 | throat 883 | throne 884 | thumb 885 | thunder 886 | thunderstorm 887 | ticket 888 | tie 889 | tiger 890 | tile 891 | time 892 | tire 893 | toad 894 | toast 895 | toe 896 | toilet 897 | tomato 898 | tongue 899 | tooth 900 | toothbrush 901 | toothpaste 902 | top 903 | tornado 904 | tortoise 905 | tower 906 | town 907 | toy 908 | tractor 909 | traffic 910 | trail 911 | train 912 | transport 913 | tray 914 | tree 915 | triangle 916 | trick 917 | trip 918 | trombone 919 | trouble 920 | trousers 921 | truck 922 | trumpet 923 | trunk 924 | t-shirt 925 | tub 926 | tuba 927 | tugboat 928 | tulip 929 | tuna 930 | tune 931 | turkey 932 | turnip 933 | turtle 934 | TV 935 | twig 936 | twilight 937 | twine 938 | umbrella 939 | valley 940 | van 941 | vase 942 | vegetable 943 | veil 944 | vein 945 | vessel 946 | vest 947 | violin 948 | volcano 949 | volleyball 950 | vulture 951 | wagon 952 | wall 953 | wallaby 954 | walnut 955 | walrus 956 | washer 957 | wasp 958 | waste 959 | watch 960 | watchmaker 961 | water 962 | wave 963 | wax 964 | weasel 965 | weather 966 | web 967 | wedge 968 | well 969 | whale 970 | wheat 971 | wheel 972 | wheelchair 973 | whip 974 | whisk 975 | whistle 976 | wilderness 977 | willow 978 | wind 979 | wind chime 980 | window 981 | windscreen 982 | wing 983 | winter 984 | wire 985 | wish 986 | wizard 987 | wolf 988 | woman 989 | wood 990 | wool 991 | word 992 | workshop 993 | worm 994 | wound 995 | wren 996 | wrench 997 | wrinkles 998 | wrist 999 | xylophone 1000 | yacht 1001 | yak 1002 | yard 1003 | -------------------------------------------------------------------------------- /RandomWordGenerator/LanguageFiles/EN/verb.txt: -------------------------------------------------------------------------------- 1 | abide 2 | accelerate 3 | accept 4 | accomplish 5 | achieve 6 | acquire 7 | acted 8 | activate 9 | adapt 10 | add 11 | address 12 | administer 13 | admire 14 | admit 15 | adopt 16 | advise 17 | afford 18 | agree 19 | alert 20 | alight 21 | allow 22 | altered 23 | amuse 24 | analyze 25 | announce 26 | annoy 27 | answer 28 | anticipate 29 | apologize 30 | appear 31 | applaud 32 | applied 33 | appoint 34 | appraise 35 | appreciate 36 | approve 37 | arbitrate 38 | argue 39 | arise 40 | arrange 41 | arrest 42 | arrive 43 | ascertain 44 | ask 45 | assemble 46 | assess 47 | assist 48 | assure 49 | attach 50 | attack 51 | attain 52 | attempt 53 | attend 54 | attract 55 | audited 56 | avoid 57 | awake 58 | back 59 | bake 60 | balance 61 | ban 62 | bang 63 | bare 64 | bat 65 | bathe 66 | battle 67 | be 68 | beam 69 | bear 70 | beat 71 | become 72 | beg 73 | begin 74 | behave 75 | behold 76 | belong 77 | bend 78 | beset 79 | bet 80 | bid 81 | bind 82 | bite 83 | bleach 84 | bleed 85 | bless 86 | blind 87 | blink 88 | blot 89 | blow 90 | blush 91 | boast 92 | boil 93 | bolt 94 | bomb 95 | book 96 | bore 97 | borrow 98 | bounce 99 | bow 100 | box 101 | brake 102 | branch 103 | break 104 | breathe 105 | breed 106 | brief 107 | bring 108 | broadcast 109 | bruise 110 | brush 111 | bubble 112 | budget 113 | build 114 | bump 115 | burn 116 | burst 117 | bury 118 | bust 119 | buy 120 | buze 121 | calculate 122 | call 123 | camp 124 | care 125 | carry 126 | carve 127 | cast 128 | catalog 129 | catch 130 | cause 131 | challenge 132 | change 133 | charge 134 | chart 135 | chase 136 | cheat 137 | check 138 | cheer 139 | chew 140 | choke 141 | choose 142 | chop 143 | claim 144 | clap 145 | clarify 146 | classify 147 | clean 148 | clear 149 | cling 150 | clip 151 | close 152 | clothe 153 | coach 154 | coil 155 | collect 156 | color 157 | comb 158 | come 159 | command 160 | communicate 161 | compare 162 | compete 163 | compile 164 | complain 165 | complete 166 | compose 167 | compute 168 | conceive 169 | concentrate 170 | conceptualize 171 | concern 172 | conclude 173 | conduct 174 | confess 175 | confront 176 | confuse 177 | connect 178 | conserve 179 | consider 180 | consist 181 | consolidate 182 | construct 183 | consult 184 | contain 185 | continue 186 | contract 187 | control 188 | convert 189 | coordinate 190 | copy 191 | correct 192 | correlate 193 | cost 194 | cough 195 | counsel 196 | count 197 | cover 198 | crack 199 | crash 200 | crawl 201 | create 202 | creep 203 | critique 204 | cross 205 | crush 206 | cry 207 | cure 208 | curl 209 | curve 210 | cut 211 | cycle 212 | dam 213 | damage 214 | dance 215 | dare 216 | deal 217 | decay 218 | deceive 219 | decide 220 | decorate 221 | define 222 | delay 223 | delegate 224 | delight 225 | deliver 226 | demonstrate 227 | depend 228 | describe 229 | desert 230 | deserve 231 | design 232 | destroy 233 | detail 234 | detect 235 | determine 236 | develop 237 | devise 238 | diagnose 239 | dig 240 | direct 241 | disagree 242 | disappear 243 | disapprove 244 | disarm 245 | discover 246 | dislike 247 | dispense 248 | display 249 | disprove 250 | dissect 251 | distribute 252 | dive 253 | divert 254 | divide 255 | do 256 | double 257 | doubt 258 | draft 259 | drag 260 | drain 261 | dramatize 262 | draw 263 | dream 264 | dress 265 | drink 266 | drip 267 | drive 268 | drop 269 | drown 270 | drum 271 | dry 272 | dust 273 | dwell 274 | earn 275 | eat 276 | edited 277 | educate 278 | eliminate 279 | embarrass 280 | employ 281 | empty 282 | enacted 283 | encourage 284 | end 285 | endure 286 | enforce 287 | engineer 288 | enhance 289 | enjoy 290 | enlist 291 | ensure 292 | enter 293 | entertain 294 | escape 295 | establish 296 | estimate 297 | evaluate 298 | examine 299 | exceed 300 | excite 301 | excuse 302 | execute 303 | exercise 304 | exhibit 305 | exist 306 | expand 307 | expect 308 | expedite 309 | experiment 310 | explain 311 | explode 312 | express 313 | extend 314 | extract 315 | face 316 | facilitate 317 | fade 318 | fail 319 | fancy 320 | fasten 321 | fax 322 | fear 323 | feed 324 | feel 325 | fence 326 | fetch 327 | fight 328 | file 329 | fill 330 | film 331 | finalize 332 | finance 333 | find 334 | fire 335 | fit 336 | fix 337 | flap 338 | flash 339 | flee 340 | fling 341 | float 342 | flood 343 | flow 344 | flower 345 | fly 346 | fold 347 | follow 348 | fool 349 | forbid 350 | force 351 | forecast 352 | forego 353 | foresee 354 | foretell 355 | forget 356 | forgive 357 | form 358 | formulate 359 | forsake 360 | frame 361 | freeze 362 | frighten 363 | fry 364 | gather 365 | gaze 366 | generate 367 | get 368 | give 369 | glow 370 | glue 371 | go 372 | govern 373 | grab 374 | graduate 375 | grate 376 | grease 377 | greet 378 | grin 379 | grind 380 | grip 381 | groan 382 | grow 383 | guarantee 384 | guard 385 | guess 386 | guide 387 | hammer 388 | hand 389 | handle 390 | handwrite 391 | hang 392 | happen 393 | harass 394 | harm 395 | hate 396 | haunt 397 | head 398 | heal 399 | heap 400 | hear 401 | heat 402 | help 403 | hide 404 | hit 405 | hold 406 | hook 407 | hop 408 | hope 409 | hover 410 | hug 411 | hum 412 | hunt 413 | hurry 414 | hurt 415 | hypothesize 416 | identify 417 | ignore 418 | illuminate 419 | illustrate 420 | imagine 421 | implement 422 | impress 423 | improve 424 | improvise 425 | include 426 | increase 427 | induce 428 | influence 429 | inform 430 | initiate 431 | inject 432 | injure 433 | inlay 434 | innovate 435 | input 436 | inspect 437 | inspire 438 | install 439 | institute 440 | instruct 441 | insure 442 | integrate 443 | intend 444 | intensify 445 | interest 446 | interfere 447 | interlay 448 | interpret 449 | interrupt 450 | interview 451 | introduce 452 | invent 453 | inventory 454 | investigate 455 | invite 456 | irritate 457 | itch 458 | jail 459 | jam 460 | jog 461 | join 462 | joke 463 | judge 464 | juggle 465 | jump 466 | justify 467 | keep 468 | kept 469 | kick 470 | kill 471 | kiss 472 | kneel 473 | knit 474 | knock 475 | knot 476 | know 477 | label 478 | land 479 | last 480 | laugh 481 | launch 482 | lay 483 | lead 484 | lean 485 | leap 486 | learn 487 | leave 488 | lecture 489 | led 490 | lend 491 | let 492 | level 493 | license 494 | lick 495 | lie 496 | lifted 497 | light 498 | lighten 499 | like 500 | list 501 | listen 502 | live 503 | load 504 | locate 505 | lock 506 | log 507 | long 508 | look 509 | lose 510 | love 511 | maintain 512 | make 513 | man 514 | manage 515 | manipulate 516 | manufacture 517 | map 518 | march 519 | mark 520 | market 521 | marry 522 | match 523 | mate 524 | matter 525 | mean 526 | measure 527 | meddle 528 | mediate 529 | meet 530 | melt 531 | memorize 532 | mend 533 | mentor 534 | milk 535 | mine 536 | mislead 537 | miss 538 | misspell 539 | mistake 540 | misunderstand 541 | mix 542 | moan 543 | model 544 | modify 545 | monitor 546 | moor 547 | motivate 548 | mourn 549 | move 550 | mow 551 | muddle 552 | mug 553 | multiply 554 | murder 555 | nail 556 | name 557 | navigate 558 | need 559 | negotiate 560 | nest 561 | nod 562 | nominate 563 | normalize 564 | note 565 | notice 566 | number 567 | obey 568 | object 569 | observe 570 | obtain 571 | occur 572 | offend 573 | offer 574 | officiate 575 | open 576 | operate 577 | order 578 | organize 579 | oriented 580 | originate 581 | overcome 582 | overdo 583 | overdraw 584 | overflow 585 | overhear 586 | overtake 587 | overthrow 588 | owe 589 | own 590 | pack 591 | paddle 592 | paint 593 | park 594 | part 595 | participate 596 | pass 597 | paste 598 | pat 599 | pause 600 | pay 601 | peck 602 | pedal 603 | peel 604 | peep 605 | perceive 606 | perfect 607 | perform 608 | permit 609 | persuade 610 | phone 611 | photograph 612 | pick 613 | pilot 614 | pinch 615 | pine 616 | pinpoint 617 | pioneer 618 | place 619 | plan 620 | plant 621 | play 622 | plead 623 | please 624 | plug 625 | point 626 | poke 627 | polish 628 | pop 629 | possess 630 | post 631 | pour 632 | practice 633 | praised 634 | pray 635 | preach 636 | precede 637 | predict 638 | prefer 639 | prepare 640 | prescribe 641 | present 642 | preserve 643 | preset 644 | preside 645 | press 646 | pretend 647 | prevent 648 | prick 649 | print 650 | process 651 | procure 652 | produce 653 | profess 654 | program 655 | progress 656 | project 657 | promise 658 | promote 659 | proofread 660 | propose 661 | protect 662 | prove 663 | provide 664 | publicize 665 | pull 666 | pump 667 | punch 668 | puncture 669 | punish 670 | purchase 671 | push 672 | put 673 | qualify 674 | question 675 | queue 676 | quit 677 | race 678 | radiate 679 | rain 680 | raise 681 | rank 682 | rate 683 | reach 684 | read 685 | realign 686 | realize 687 | reason 688 | receive 689 | recognize 690 | recommend 691 | reconcile 692 | record 693 | recruit 694 | reduce 695 | refer 696 | reflect 697 | refuse 698 | regret 699 | regulate 700 | rehabilitate 701 | reign 702 | reinforce 703 | reject 704 | rejoice 705 | relate 706 | relax 707 | release 708 | rely 709 | remain 710 | remember 711 | remind 712 | remove 713 | render 714 | reorganize 715 | repair 716 | repeat 717 | replace 718 | reply 719 | report 720 | represent 721 | reproduce 722 | request 723 | rescue 724 | research 725 | resolve 726 | respond 727 | restored 728 | restructure 729 | retire 730 | retrieve 731 | return 732 | review 733 | revise 734 | rhyme 735 | rid 736 | ride 737 | ring 738 | rinse 739 | rise 740 | risk 741 | rob 742 | rock 743 | roll 744 | rot 745 | rub 746 | ruin 747 | rule 748 | run 749 | rush 750 | sack 751 | sail 752 | satisfy 753 | save 754 | saw 755 | say 756 | scare 757 | scatter 758 | schedule 759 | scold 760 | scorch 761 | scrape 762 | scratch 763 | scream 764 | screw 765 | scribble 766 | scrub 767 | seal 768 | search 769 | secure 770 | see 771 | seek 772 | select 773 | sell 774 | send 775 | sense 776 | separate 777 | serve 778 | service 779 | set 780 | settle 781 | sew 782 | shade 783 | shake 784 | shape 785 | share 786 | shave 787 | shear 788 | shed 789 | shelter 790 | shine 791 | shiver 792 | shock 793 | shoe 794 | shoot 795 | shop 796 | show 797 | shrink 798 | shrug 799 | shut 800 | sigh 801 | sign 802 | signal 803 | simplify 804 | sin 805 | sing 806 | sink 807 | sip 808 | sit 809 | sketch 810 | ski 811 | skip 812 | slap 813 | slay 814 | sleep 815 | slide 816 | sling 817 | slink 818 | slip 819 | slit 820 | slow 821 | smash 822 | smell 823 | smile 824 | smite 825 | smoke 826 | snatch 827 | sneak 828 | sneeze 829 | sniff 830 | snore 831 | snow 832 | soak 833 | solve 834 | soothe 835 | soothsay 836 | sort 837 | sound 838 | sow 839 | spare 840 | spark 841 | sparkle 842 | speak 843 | specify 844 | speed 845 | spell 846 | spend 847 | spill 848 | spin 849 | spit 850 | split 851 | spoil 852 | spot 853 | spray 854 | spread 855 | spring 856 | sprout 857 | squash 858 | squeak 859 | squeal 860 | squeeze 861 | stain 862 | stamp 863 | stand 864 | stare 865 | start 866 | stay 867 | steal 868 | steer 869 | step 870 | stick 871 | stimulate 872 | sting 873 | stink 874 | stir 875 | stitch 876 | stop 877 | store 878 | strap 879 | streamline 880 | strengthen 881 | stretch 882 | stride 883 | strike 884 | string 885 | strip 886 | strive 887 | stroke 888 | structure 889 | study 890 | stuff 891 | sublet 892 | subtract 893 | succeed 894 | suck 895 | suffer 896 | suggest 897 | suit 898 | summarize 899 | supervise 900 | supply 901 | support 902 | suppose 903 | surprise 904 | surround 905 | suspect 906 | suspend 907 | swear 908 | sweat 909 | sweep 910 | swell 911 | swim 912 | swing 913 | switch 914 | symbolize 915 | synthesize 916 | systemize 917 | tabulate 918 | take 919 | talk 920 | tame 921 | tap 922 | target 923 | taste 924 | teach 925 | tear 926 | tease 927 | telephone 928 | tell 929 | tempt 930 | terrify 931 | test 932 | thank 933 | thaw 934 | think 935 | thrive 936 | throw 937 | thrust 938 | tick 939 | tickle 940 | tie 941 | time 942 | tip 943 | tire 944 | touch 945 | tour 946 | tow 947 | trace 948 | trade 949 | train 950 | transcribe 951 | transfer 952 | transform 953 | translate 954 | transport 955 | trap 956 | travel 957 | tread 958 | treat 959 | tremble 960 | trick 961 | trip 962 | trot 963 | trouble 964 | troubleshoot 965 | trust 966 | try 967 | tug 968 | tumble 969 | turn 970 | tutor 971 | twist 972 | type 973 | undergo 974 | understand 975 | undertake 976 | undress 977 | unfasten 978 | unify 979 | unite 980 | unlock 981 | unpack 982 | untidy 983 | update 984 | upgrade 985 | uphold 986 | upset 987 | use 988 | utilize 989 | vanish 990 | verbalize 991 | verify 992 | vex 993 | visit 994 | wail 995 | wait 996 | wake 997 | walk 998 | wander 999 | want 1000 | warm 1001 | warn 1002 | wash 1003 | waste 1004 | watch 1005 | water 1006 | wave 1007 | wear 1008 | weave 1009 | wed 1010 | weep 1011 | weigh 1012 | welcome 1013 | wend 1014 | wet 1015 | whine 1016 | whip 1017 | whirl 1018 | whisper 1019 | whistle 1020 | win 1021 | wind 1022 | wink 1023 | wipe 1024 | wish 1025 | withdraw 1026 | withhold 1027 | withstand 1028 | wobble 1029 | wonder 1030 | work 1031 | worry 1032 | wrap 1033 | wreck 1034 | wrestle 1035 | wriggle 1036 | wring 1037 | write 1038 | x-ray 1039 | yawn 1040 | yell 1041 | zip 1042 | zoom -------------------------------------------------------------------------------- /RandomWordGenerator/RandomWordGenerator.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | netcoreapp3.1;net5.0;net6.0 5 | RandomWordGenerator 6 | A random word generator for .NET and .NET Core 7 | RandomWordGenerator 8 | RandomWordGenerator 9 | cryptic-wizard 10 | MIT 11 | Copyright ©2021 cryptic-wizard 12 | https://github.com/cryptic-wizard/random-word-generator 13 | git 14 | en 15 | false 16 | 17 | CrypticWizard.RandomWordGenerator 18 | 0.9.5 19 | https://github.com/cryptic-wizard/random-word-generator 20 | rng random username 21 | LICENSE.md 22 | README.md 23 | icon.png 24 | A random word generator for .NET and .NET Core 25 | Target frameworks netcore3.1, net5.0, net6.0 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | -------------------------------------------------------------------------------- /RandomWordGenerator/WordGenerator.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.IO; 3 | using System.Collections.Generic; 4 | using System.Reflection; 5 | using System.Text; 6 | using System.Linq; 7 | 8 | namespace CrypticWizard.RandomWordGenerator 9 | { 10 | /// 11 | /// A random word generator with PartOfSpeech support 12 | /// 13 | public class WordGenerator 14 | { 15 | // Public Members 16 | public Languages Language { get; private set; } 17 | 18 | // Private Members 19 | private int totalWords = 0; 20 | private Random rnd = new Random(); 21 | private static List partsOfSpeech = Enum.GetValues(typeof(PartOfSpeech)).Cast().ToList(); 22 | private Dictionary> wordDictionary; 23 | 24 | // Enums 25 | public enum Languages 26 | { 27 | EN, 28 | } 29 | 30 | public enum PartOfSpeech 31 | { 32 | adj, 33 | adv, 34 | art, 35 | noun, 36 | verb, 37 | } 38 | 39 | // Constructors 40 | /// 41 | /// Creates a new WordGenerator 42 | /// 43 | /// 44 | public WordGenerator(Languages language = Languages.EN, int? seed = null) 45 | { 46 | Language = language; 47 | if (seed != null) 48 | { 49 | rnd = new Random((int)seed); 50 | } 51 | 52 | wordDictionary = new Dictionary>(); 53 | foreach (PartOfSpeech partOfSpeech in partsOfSpeech) 54 | { 55 | wordDictionary.Add(partOfSpeech, LoadWords(partOfSpeech)); 56 | totalWords += wordDictionary[partOfSpeech].Count; 57 | } 58 | } 59 | 60 | /// 61 | /// Gets a list of possible parts of speech of a word 62 | /// 63 | /// 64 | /// a list of parts of speech or null if word not found 65 | public List GetPartsOfSpeech(string word) 66 | { 67 | List partsOfSpeechFound = new List(); 68 | 69 | foreach(PartOfSpeech partOfSpeech in wordDictionary.Keys) 70 | { 71 | if(wordDictionary[partOfSpeech].BinarySearch(word) >= 0) 72 | { 73 | partsOfSpeechFound.Add(partOfSpeech); 74 | } 75 | } 76 | 77 | if(partsOfSpeechFound.Count != 0) 78 | { 79 | return partsOfSpeechFound; 80 | } 81 | else 82 | { 83 | return null; 84 | } 85 | } 86 | 87 | /// 88 | /// Gets a word with any part of speech 89 | /// 90 | /// a word 91 | public string GetWord() 92 | { 93 | int randomNumber = rnd.Next(totalWords); 94 | 95 | foreach (PartOfSpeech partOfSpeech in wordDictionary.Keys) 96 | { 97 | if(randomNumber > wordDictionary[partOfSpeech].Count) 98 | { 99 | randomNumber -= wordDictionary[partOfSpeech].Count; 100 | } 101 | else 102 | { 103 | return wordDictionary[partOfSpeech].ElementAt(randomNumber); 104 | } 105 | } 106 | 107 | return null; 108 | } 109 | 110 | /// 111 | /// Gets a word with a specified part of speech 112 | /// 113 | /// 114 | /// a word 115 | public string GetWord(PartOfSpeech partOfSpeech) 116 | { 117 | return wordDictionary[partOfSpeech][rnd.Next(wordDictionary[partOfSpeech].Count)]; 118 | } 119 | 120 | /// 121 | /// Gets a list of words with any part of speech 122 | /// 123 | /// number of words to return 124 | /// words 125 | public List GetWords(int quantity) 126 | { 127 | int[] randomNumbers = new int[quantity]; 128 | List words = new List(); 129 | 130 | for(int i = 0; i < quantity; i++) 131 | { 132 | randomNumbers[i] = rnd.Next(totalWords); 133 | } 134 | 135 | foreach (PartOfSpeech partOfSpeech in wordDictionary.Keys) 136 | { 137 | for(int i = 0; i < quantity; i++) 138 | { 139 | if(randomNumbers[i] == -1) 140 | { 141 | continue; 142 | } 143 | else if (randomNumbers[i] > wordDictionary[partOfSpeech].Count) 144 | { 145 | randomNumbers[i] -= wordDictionary[partOfSpeech].Count; 146 | } 147 | else 148 | { 149 | words.Add(wordDictionary[partOfSpeech].ElementAt(randomNumbers[i])); 150 | randomNumbers[i] = -1; 151 | } 152 | } 153 | } 154 | 155 | if(words.Count == 0) 156 | { 157 | return null; 158 | } 159 | else 160 | { 161 | return words; 162 | } 163 | } 164 | 165 | /// 166 | /// Gets a list of words with the specified part of speech 167 | /// 168 | /// 169 | /// number of words to return 170 | /// words 171 | public List GetWords(PartOfSpeech partOfSpeech, int quantity) 172 | { 173 | // Prevent returning more words than exist in the list 174 | if (quantity >= wordDictionary[partOfSpeech].Count) 175 | { 176 | return new List(wordDictionary[partOfSpeech]); 177 | } 178 | else if(quantity > wordDictionary[partOfSpeech].Count/2) 179 | { 180 | List words = new List(wordDictionary[partOfSpeech]); 181 | 182 | for (int i = wordDictionary[partOfSpeech].Count; i > quantity; i--) 183 | { 184 | words.RemoveAt(rnd.Next(words.Count)); 185 | } 186 | 187 | return words; 188 | } 189 | else 190 | { 191 | List wordList = new List(wordDictionary[partOfSpeech]); 192 | List words = new List(); 193 | int randomNumber; 194 | 195 | for (int i = 0; i < quantity; i++) 196 | { 197 | randomNumber = rnd.Next(wordList.Count); 198 | words.Add(wordList[randomNumber]); 199 | wordList.RemoveAt(randomNumber); 200 | } 201 | 202 | return words; 203 | } 204 | } 205 | 206 | /// 207 | /// Gets a list of all words with the specified part of speech 208 | /// 209 | /// 210 | /// 211 | public List GetAllWords(PartOfSpeech partOfSpeech) 212 | { 213 | return new List(wordDictionary[partOfSpeech]); 214 | } 215 | 216 | /// 217 | /// Gets a word phrase based in the provided pattern 218 | /// 219 | /// word pattern to match 220 | /// character to put between the words 221 | /// 222 | public string GetPattern(List partsOfSpeech, char delimiter) 223 | { 224 | string pattern = ""; 225 | 226 | for(int i = 0; i < partsOfSpeech.Count; i++) 227 | { 228 | pattern += GetWord(partsOfSpeech[i]); 229 | 230 | if(i != (partsOfSpeech.Count - 1)) 231 | { 232 | pattern += delimiter; 233 | } 234 | } 235 | 236 | return pattern; 237 | } 238 | 239 | /// 240 | /// Gets word phrases based in the provided pattern 241 | /// 242 | /// word pattern to match 243 | /// character to put between the words 244 | /// 245 | /// 246 | public List GetPatterns(List partsOfSpeech, char delimiter, int quantity) 247 | { 248 | List patterns = new List(); 249 | string pattern; 250 | 251 | for(int i = 0; i < quantity; i++) 252 | { 253 | pattern = ""; 254 | 255 | for (int j = 0; j < partsOfSpeech.Count; j++) 256 | { 257 | pattern += GetWord(partsOfSpeech[j]); 258 | 259 | if (j != (partsOfSpeech.Count - 1)) 260 | { 261 | pattern += delimiter; 262 | } 263 | } 264 | 265 | patterns.Add(pattern); 266 | } 267 | 268 | return patterns; 269 | } 270 | 271 | /// 272 | /// Check if word is a specific part of speech 273 | /// 274 | /// 275 | /// 276 | /// true if word is the part of speech 277 | public bool IsPartOfSpeech(string word, PartOfSpeech partOfSpeech) 278 | { 279 | if(wordDictionary[partOfSpeech].BinarySearch(word) >= 0) 280 | { 281 | return true; 282 | } 283 | else 284 | { 285 | return false; 286 | } 287 | } 288 | 289 | /// 290 | /// Check if a word is in the dictionary 291 | /// 292 | /// 293 | /// 294 | public bool IsWord(string word) 295 | { 296 | foreach(PartOfSpeech partOfSpeech in wordDictionary.Keys) 297 | { 298 | if (wordDictionary[partOfSpeech].BinarySearch(word) >= 0) 299 | { 300 | return true; 301 | } 302 | } 303 | 304 | return false; 305 | } 306 | 307 | /// 308 | /// Reads a word list with the specified part of speech from embedded resources 309 | /// 310 | /// 311 | /// a list of all words with the specified part of speech 312 | private List LoadWords(PartOfSpeech partOfSpeech) 313 | { 314 | List words = new List(); 315 | 316 | try 317 | { 318 | Assembly assembly = GetType().Assembly; 319 | string assemblyName = assembly.FullName.Split(',').First(); 320 | string resourceName = assemblyName + ".LanguageFiles." + Language.ToString() + '.' + partOfSpeech.ToString() + ".txt"; 321 | Stream stream = assembly.GetManifestResourceStream(resourceName); 322 | 323 | using (StreamReader reader = new StreamReader(stream, Encoding.ASCII)) 324 | { 325 | string line = reader.ReadLine(); 326 | 327 | while (line != null) 328 | { 329 | words.Add(line); 330 | line = reader.ReadLine(); 331 | } 332 | 333 | reader.Close(); 334 | } 335 | } 336 | catch (Exception) 337 | { 338 | Console.WriteLine("ERROR - Could not read file"); 339 | } 340 | 341 | words.Sort(); 342 | 343 | return words; 344 | } 345 | 346 | /// 347 | /// Set Language and reload dictionaries 348 | /// 349 | /// 350 | public void SetLanguage(Languages language) 351 | { 352 | if (language == Language) 353 | { 354 | return; 355 | } 356 | 357 | Language = language; 358 | wordDictionary.Clear(); 359 | 360 | foreach (PartOfSpeech partOfSpeech in partsOfSpeech) 361 | { 362 | wordDictionary.Add(partOfSpeech, LoadWords(partOfSpeech)); 363 | } 364 | } 365 | 366 | /// 367 | /// Sets the seed used for initializing the randomizer 368 | /// 369 | /// Random seed 370 | public void SetSeed(int seed) 371 | { 372 | rnd = new Random(seed); 373 | } 374 | 375 | /// 376 | /// Sets the random used by the word generator 377 | /// 378 | /// Random 379 | public void SetRandom(Random random) 380 | { 381 | rnd = random; 382 | } 383 | } 384 | } 385 | -------------------------------------------------------------------------------- /RandomWordGenerator/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cryptic-wizard/random-word-generator/04e3997f876917ee84edebd97d04260f434cd236/RandomWordGenerator/icon.png -------------------------------------------------------------------------------- /RandomWordGeneratorConsole/Program.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using CrypticWizard.RandomWordGenerator; 4 | using static CrypticWizard.RandomWordGenerator.WordGenerator; 5 | 6 | namespace CrypticWizard.RandomWordGeneratorConsole 7 | { 8 | class Program 9 | { 10 | static void Main(string[] args) 11 | { 12 | WordGenerator wordGenerator = new WordGenerator(); 13 | 14 | List adv = wordGenerator.GetWords(PartOfSpeech.adv, 10); 15 | List adj = wordGenerator.GetWords(PartOfSpeech.adj, 10); 16 | List noun = wordGenerator.GetWords(PartOfSpeech.noun, 10); 17 | 18 | for(int i = 0; i < 10; i++) 19 | { 20 | Console.WriteLine(adv[i] + ' ' + adj[i] + ' ' + noun[i]); 21 | } 22 | 23 | Console.WriteLine(); 24 | 25 | List pattern = new List(); 26 | pattern.Add(PartOfSpeech.adv); 27 | pattern.Add(PartOfSpeech.adj); 28 | pattern.Add(PartOfSpeech.noun); 29 | 30 | List patterns = wordGenerator.GetPatterns(pattern, ' ', 10); 31 | 32 | foreach(string s in patterns) 33 | { 34 | Console.WriteLine(s); 35 | } 36 | 37 | wordGenerator = new WordGenerator(seed:123456); 38 | wordGenerator.SetSeed(654321); 39 | } 40 | } 41 | } -------------------------------------------------------------------------------- /RandomWordGeneratorConsole/RandomWordGeneratorConsole.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | Exe 5 | netcoreapp3.1;net5.0;net6.0 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /RandomWordGeneratorTest/Features/PartsOfSpeech.feature: -------------------------------------------------------------------------------- 1 | Feature: PartsOfSpeech 2 | Functions to get the part of speech of a word 3 | 4 | Scenario Outline: Get Parts Of Speech 5 | When I get the parts of speech of 6 | Then the parts of speech contains 7 | 8 | Examples: 9 | | word | partOfSpeech | 10 | | tall | adj | 11 | | short | adj | 12 | | quickly | adv | 13 | | slowly | adv | 14 | | a | art | 15 | | an | art | 16 | | ball | noun | 17 | | wall | noun | 18 | | pull | verb | 19 | | run | verb | 20 | 21 | Scenario Outline: IsPartOfSpeech 22 | When I check if is '' 23 | Then the return value is 24 | 25 | Examples: 26 | | word | partOfSpeech | bool | 27 | | tall | adj | true | 28 | | tall | noun | false | 29 | | quickly | adv | true | 30 | | quickly | adj | false | 31 | | the | art | true | 32 | | the | adv | false | 33 | | ball | noun | true | 34 | | ball | art | false | 35 | | orange | noun | true | 36 | | orange | adj | true | 37 | | orange | verb | false | 38 | | orange | art | false | 39 | | orange | adv | false | 40 | 41 | Scenario Outline: IsWord 42 | When I check if is a word 43 | Then the return value is 44 | 45 | Examples: 46 | | word | bool | 47 | | ball | true | 48 | | tall | true | 49 | | quickly | true | 50 | | the | true | 51 | | run | true | 52 | | qwerty | false | 53 | | asdf | false | -------------------------------------------------------------------------------- /RandomWordGeneratorTest/Features/Patterns.feature: -------------------------------------------------------------------------------- 1 | Feature: Patterns 2 | Word Generator Patterns 3 | 4 | Scenario Outline: Get A Single Pattern 5 | Given I set the pattern to adv,adj,noun 6 | And I set the delimiter to 7 | When I get a pattern 8 | Then I have one pattern with 3 words and delimiter 9 | 10 | Examples: 11 | | delimiter | 12 | | , | 13 | | _ | 14 | 15 | Scenario Outline: Get Multiple Patterns 16 | Given I set the pattern to adv,adj,noun 17 | And I set the delimiter to 18 | When I get patterns 19 | Then I have patterns with 3 words and delimiter 20 | 21 | Examples: 22 | | quantity | delimiter | 23 | | 3 | , | 24 | | 5 | , | 25 | | 3 | _ | 26 | | 5 | _ | -------------------------------------------------------------------------------- /RandomWordGeneratorTest/Features/WordGenerator.feature: -------------------------------------------------------------------------------- 1 | Feature: WordGenerator 2 | Base functions for getting a word and list of words 3 | 4 | Scenario Outline: Word Lists Do Not Have Duplicate Words 5 | When I get the list of 6 | Then the list has no duplicates 7 | 8 | Examples: 9 | | partOfSpeech | 10 | | adj | 11 | | adv | 12 | | art | 13 | | noun | 14 | | verb | 15 | 16 | Scenario: Set Language 17 | Given I set the language to EN 18 | When I get a 'noun' 19 | Then I have a noun 20 | 21 | Scenario Outline: Get a Single Word 22 | When I get a word 23 | And I check if I have a word 24 | Then the return value is true 25 | 26 | Scenario Outline: Get a Single Word With Part Of Speech 27 | When I get a '' 28 | Then I have a 29 | 30 | Examples: 31 | | partOfSpeech | 32 | | adj | 33 | | adv | 34 | | art | 35 | | noun | 36 | | verb | 37 | 38 | Scenario Outline: Get Multiple Words 39 | When I get words 40 | Then I have words 41 | 42 | Examples: 43 | | x | 44 | | 2 | 45 | | 5 | 46 | | 8 | 47 | 48 | Scenario Outline: Get Multiple Words With Part Of Speech 49 | When I get '' 50 | Then I have '' 51 | 52 | Examples: 53 | | x | partOfSpeech | 54 | | 2 | adj | 55 | | 5 | adj | 56 | | 2 | adv | 57 | | 5 | adv | 58 | | 2 | art | 59 | | 2 | noun | 60 | | 5 | noun | 61 | | 2 | verb | 62 | | 5 | verb | 63 | -------------------------------------------------------------------------------- /RandomWordGeneratorTest/RandomWordGeneratorTest.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | netcoreapp3.1;net5.0;net6.0 5 | RandomWordGeneratorTest 6 | RandomWordGeneratorTest 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | -------------------------------------------------------------------------------- /RandomWordGeneratorTest/Steps/PartsOfSpeechStepDefinitions.cs: -------------------------------------------------------------------------------- 1 | using NUnit.Framework; 2 | using CrypticWizard.RandomWordGenerator; 3 | using static CrypticWizard.RandomWordGenerator.WordGenerator; 4 | using TechTalk.SpecFlow; 5 | 6 | namespace CrypticWizard.RandomWordGeneratorTest.Steps 7 | { 8 | [Binding] 9 | public sealed class PartsOfSpeechStepDefinitions 10 | { 11 | private readonly WordGenerator wordGenerator; 12 | private readonly WordGeneratorFixture wordGeneratorFixture; 13 | 14 | public PartsOfSpeechStepDefinitions(WordGenerator wordGenerator, WordGeneratorFixture wordGeneratorFixture) 15 | { 16 | this.wordGenerator = wordGenerator; 17 | this.wordGeneratorFixture = wordGeneratorFixture; 18 | } 19 | 20 | #region GivenSteps 21 | 22 | #endregion 23 | 24 | #region WhenSteps 25 | 26 | [When(@"I get the parts of speech of (.*)")] 27 | public void WhenIGetThePartsOfSpeechOfX(string word) 28 | { 29 | wordGeneratorFixture.partsOfSpeech = wordGenerator.GetPartsOfSpeech(word); 30 | } 31 | 32 | [When(@"I check if (.*) is '(.*)'")] 33 | public void WhenICheckIfXIsY(string word, PartOfSpeech partOfSpeech) 34 | { 35 | wordGeneratorFixture.myBool = wordGenerator.IsPartOfSpeech(word, partOfSpeech); 36 | } 37 | 38 | [When(@"I check if (.*) is a word")] 39 | public void WhenICheckIfXIsAWord(string word) 40 | { 41 | wordGeneratorFixture.myBool = wordGenerator.IsWord(word); 42 | } 43 | 44 | [When(@"I check if I have a word")] 45 | public void WhenICheckIfIHaveAWord() 46 | { 47 | wordGeneratorFixture.myBool = wordGenerator.IsWord(wordGeneratorFixture.word); 48 | } 49 | 50 | #endregion 51 | 52 | #region ThenSteps 53 | 54 | [Then(@"the parts of speech contains (.*)")] 55 | public void ThenThePartsOfSpeechContainsX(PartOfSpeech partOfSpeech) 56 | { 57 | Assert.IsNotNull(wordGeneratorFixture.partsOfSpeech); 58 | Assert.Contains(partOfSpeech, wordGeneratorFixture.partsOfSpeech); 59 | } 60 | 61 | [Then(@"the return value is (.*)")] 62 | public void ThenTheReturnValueIsTrue(bool value) 63 | { 64 | Assert.IsNotNull(wordGeneratorFixture.myBool); 65 | Assert.AreEqual(value, wordGeneratorFixture.myBool); 66 | } 67 | 68 | #endregion 69 | } 70 | } 71 | -------------------------------------------------------------------------------- /RandomWordGeneratorTest/Steps/PatternsStepDefinitions.cs: -------------------------------------------------------------------------------- 1 | using NUnit.Framework; 2 | using CrypticWizard.RandomWordGenerator; 3 | using static CrypticWizard.RandomWordGenerator.WordGenerator; 4 | using System.Collections.Generic; 5 | using TechTalk.SpecFlow; 6 | 7 | namespace CrypticWizard.RandomWordGeneratorTest.Steps 8 | { 9 | [Binding] 10 | public sealed class PatternsStepDefinitions 11 | { 12 | private readonly WordGenerator wordGenerator; 13 | private readonly WordGeneratorFixture wordGeneratorFixture; 14 | 15 | public PatternsStepDefinitions(WordGenerator wordGenerator, WordGeneratorFixture wordGeneratorFixture) 16 | { 17 | this.wordGenerator = wordGenerator; 18 | this.wordGeneratorFixture = wordGeneratorFixture; 19 | } 20 | 21 | #region GivenSteps 22 | 23 | [Given(@"I set the delimiter to (.*)")] 24 | public void GivenISetThePartOfSpeechToX(char delimiter) 25 | { 26 | wordGeneratorFixture.delimiter = delimiter; 27 | } 28 | 29 | [Given(@"I set the pattern to (.*),(.*),(.*)")] 30 | public void GivenISetThePatternToPattern(PartOfSpeech partOfSpeech0, PartOfSpeech partOfSpeech1, PartOfSpeech partOfSpeech2) 31 | { 32 | wordGeneratorFixture.pattern = new List(); 33 | wordGeneratorFixture.pattern.Add(partOfSpeech0); 34 | wordGeneratorFixture.pattern.Add(partOfSpeech1); 35 | wordGeneratorFixture.pattern.Add(partOfSpeech2); 36 | } 37 | 38 | #endregion 39 | 40 | #region WhenSteps 41 | 42 | [When(@"I get a pattern")] 43 | public void WhenIGetAPattern() 44 | { 45 | wordGeneratorFixture.word = wordGenerator.GetPattern(wordGeneratorFixture.pattern, wordGeneratorFixture.delimiter); 46 | } 47 | 48 | [When("I get (\\d+) patterns")] 49 | public void WhenIGetXPatterns(int quantity) 50 | { 51 | wordGeneratorFixture.words = wordGenerator.GetPatterns(wordGeneratorFixture.pattern, wordGeneratorFixture.delimiter, quantity); 52 | } 53 | 54 | #endregion 55 | 56 | #region ThenSteps 57 | 58 | [Then("I have one pattern with (\\d+) words and (.*) delimiter")] 59 | public void ThenIHaveOnePatternWithXWords(int wordsInPattern, char delimiter) 60 | { 61 | Assert.IsNotNull(wordGeneratorFixture.word); 62 | string[] split = wordGeneratorFixture.word.Split(delimiter); 63 | Assert.AreEqual(wordsInPattern, split.Length); 64 | } 65 | 66 | [Then("I have (\\d+) patterns with (\\d+) words and (.*) delimiter")] 67 | public void ThenIHaveXPatternsWithYWords(int quantity, int wordsInPattern, char delimiter) 68 | { 69 | Assert.IsNotNull(wordGeneratorFixture.words); 70 | Assert.AreEqual(quantity, wordGeneratorFixture.words.Count); 71 | 72 | string[] split; 73 | 74 | foreach (string word in wordGeneratorFixture.words) 75 | { 76 | split = word.Split(delimiter); 77 | Assert.AreEqual(wordsInPattern, split.Length); 78 | } 79 | } 80 | 81 | #endregion 82 | } 83 | } 84 | -------------------------------------------------------------------------------- /RandomWordGeneratorTest/Steps/WordGeneratorFixtureStepDefinitions.cs: -------------------------------------------------------------------------------- 1 | using CrypticWizard.RandomWordGenerator; 2 | using TechTalk.SpecFlow; 3 | using BoDi; 4 | 5 | namespace CrypticWizard.RandomWordGeneratorTest.Steps 6 | { 7 | [Binding] 8 | public class WordGeneratorFixtureStepDefinitions 9 | { 10 | private readonly IObjectContainer objectContainer; 11 | 12 | public WordGeneratorFixtureStepDefinitions(IObjectContainer objectContainer) 13 | { 14 | this.objectContainer = objectContainer; 15 | } 16 | 17 | #region ScenarioSteps 18 | 19 | [BeforeScenario] 20 | public void BeforeScenario() 21 | { 22 | // Create global instances of WordGenerator and WordGeneratorFixture for the Scenario 23 | objectContainer.RegisterInstanceAs(new WordGenerator()); 24 | objectContainer.RegisterInstanceAs(new WordGeneratorFixture()); 25 | } 26 | 27 | [AfterScenario] 28 | public void AfterScenario() 29 | { 30 | 31 | } 32 | 33 | #endregion 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /RandomWordGeneratorTest/Steps/WordGeneratorStepDefinitions.cs: -------------------------------------------------------------------------------- 1 | using NUnit.Framework; 2 | using CrypticWizard.RandomWordGenerator; 3 | using static CrypticWizard.RandomWordGenerator.WordGenerator; 4 | using TechTalk.SpecFlow; 5 | 6 | namespace CrypticWizard.RandomWordGeneratorTest.Steps 7 | { 8 | [Binding] 9 | public sealed class WordGeneratorStepDefinitions 10 | { 11 | private readonly WordGenerator wordGenerator; 12 | private readonly WordGeneratorFixture wordGeneratorFixture; 13 | 14 | public WordGeneratorStepDefinitions(WordGenerator wordGenerator, WordGeneratorFixture wordGeneratorFixture) 15 | { 16 | this.wordGenerator = wordGenerator; 17 | this.wordGeneratorFixture = wordGeneratorFixture; 18 | } 19 | 20 | #region ScenarioSteps 21 | 22 | [BeforeScenario] 23 | public static void BeforeScenario() 24 | { 25 | //wordGenerator = new WordGenerator(); 26 | //wordGeneratorFixture = new WordGeneratorFixture(); 27 | } 28 | 29 | [AfterScenario] 30 | public static void AfterScenario() 31 | { 32 | 33 | } 34 | 35 | #endregion 36 | 37 | #region GivenSteps 38 | 39 | [Given(@"I set the language to (.*)")] 40 | public void GivenISetTheLanguageToX(Languages language) 41 | { 42 | wordGenerator.SetLanguage(language); 43 | } 44 | 45 | #endregion 46 | 47 | #region WhenSteps 48 | 49 | [When("I get a word")] 50 | public void WhenIGetAWord() 51 | { 52 | wordGeneratorFixture.word = wordGenerator.GetWord(); 53 | } 54 | 55 | [When("I get a '(.*)'")] 56 | public void WhenIGetAWord(PartOfSpeech partOfSpeech) 57 | { 58 | wordGeneratorFixture.word = wordGenerator.GetWord(partOfSpeech); 59 | } 60 | 61 | [When("I get (\\d+) words")] 62 | public void WhenIGetXWords(int quantity) 63 | { 64 | wordGeneratorFixture.words = wordGenerator.GetWords(quantity); 65 | } 66 | 67 | [When("I get (\\d+) '(.*)'")] 68 | public void WhenIGetXWords(int quantity, PartOfSpeech partOfSpeech) 69 | { 70 | wordGeneratorFixture.words = wordGenerator.GetWords(partOfSpeech, quantity); 71 | } 72 | 73 | [When(@"I get the list of (.*)")] 74 | public void WhenIGetTheListOfWords(PartOfSpeech partOfSpeech) 75 | { 76 | wordGeneratorFixture.words = wordGenerator.GetAllWords(partOfSpeech); 77 | } 78 | 79 | #endregion 80 | 81 | #region ThenSteps 82 | 83 | [Then("I have a (.*)")] 84 | public void ThenIHaveAWord(PartOfSpeech partOfSpeech) 85 | { 86 | Assert.IsNotNull(wordGeneratorFixture.word); 87 | Assert.True(wordGenerator.IsPartOfSpeech(wordGeneratorFixture.word, partOfSpeech), "Word = " + wordGeneratorFixture.word.ToString()); 88 | } 89 | 90 | [Then("I have (\\d+) '(.*)'")] 91 | public void ThenIHaveXWords(int quantity, PartOfSpeech partOfSpeech) 92 | { 93 | Assert.IsNotNull(wordGeneratorFixture.words); 94 | Assert.AreEqual(quantity, wordGeneratorFixture.words.Count); 95 | 96 | foreach(string word in wordGeneratorFixture.words) 97 | { 98 | Assert.True(wordGenerator.IsPartOfSpeech(word, partOfSpeech), "Word = " + word.ToString()); 99 | } 100 | } 101 | 102 | [Then(@"the list has no duplicates")] 103 | public void ThenTheListHasNoDuplicates() 104 | { 105 | Assert.IsNotNull(wordGeneratorFixture.words); 106 | int count; 107 | 108 | foreach (string word in wordGeneratorFixture.words) 109 | { 110 | count = 0; 111 | 112 | foreach (string s in wordGeneratorFixture.words) 113 | { 114 | if (s == word) 115 | { 116 | count++; 117 | } 118 | } 119 | 120 | Assert.AreEqual(1, count, "Word = " + word.ToString()); 121 | } 122 | } 123 | 124 | [Then(@"I have a word")] 125 | public void ThenIHaveAWord() 126 | { 127 | Assert.IsNotNull(wordGeneratorFixture.word); 128 | } 129 | 130 | [Then(@"I do not have a word")] 131 | public void ThenIDoNotHaveAWord() 132 | { 133 | Assert.IsNull(wordGeneratorFixture.word); 134 | } 135 | 136 | [Then(@"I have words")] 137 | public void ThenIHaveWords() 138 | { 139 | Assert.IsNotNull(wordGeneratorFixture.words); 140 | } 141 | 142 | [Then(@"I do not have words")] 143 | public void ThenIDoNotHaveWords() 144 | { 145 | Assert.IsNull(wordGeneratorFixture.words); 146 | } 147 | 148 | #endregion 149 | } 150 | } 151 | -------------------------------------------------------------------------------- /RandomWordGeneratorTest/WordGeneratorFixture.cs: -------------------------------------------------------------------------------- 1 | using static CrypticWizard.RandomWordGenerator.WordGenerator; 2 | using System.Collections.Generic; 3 | 4 | namespace CrypticWizard.RandomWordGeneratorTest 5 | { 6 | public class WordGeneratorFixture 7 | { 8 | public List words; 9 | public string word; 10 | public List partsOfSpeech; 11 | public List pattern; 12 | public char delimiter; 13 | public bool myBool; 14 | 15 | public WordGeneratorFixture() 16 | { 17 | 18 | } 19 | } 20 | } 21 | --------------------------------------------------------------------------------