This tool is the result of an exercise (code kata, coding dojo) for test-driven development (TDD) for PHP using PHPUnit at Oliver Klee's workshops.
An anagram is pair of two words that consist of exactly the same letters, but in different order.
Example: anthologise, theologians
The dictionaries have been copied from the most-common-words-by-language project.
Run composer install
to install the required Composer packages.
bin/find-anagrams
You can also specify a dictionary to use from resources/dictionaries/
:
bin/find-anagrams german.txt
The big picture is this: "Find and output all anagrams from a text file with a list of words."
- Create a class that reads a list of words from a file and returns it as an array.
- Create a class that takes a word and sorts the characters.
- Create a class that finds and returns the anagram from an array of words.
- Deal with duplicates and empty lines in the file gracefully.
- Find the anagrams in a case-insensitive way.
- Sort the anagrams alphabetically during output.
I am the maintainer of the PHPUnit TYPO3 extension, which is available in the TYPO3 extension repository (TER).
You can book me for workshops at your company.
I also frequently give workshops at the TYPO3 Developer Days.
- Coffee example is my starting point for demonstrating TDD
- Tea example for testing Extbase TYPO3 extensions