- Write a class that creates an AlphabetTree of any size or length.Add a method to the class which accepts another alphabet tree, compares the data of the two trees and prints all the unique letters within the two trees, in alphabetical order.
- Write unit tests for the code.
- Create a stream that randomly returns the string Real or Fake once every 3 seconds.
- Using this stream, create an app with a scrollable list of expandable widgets that gets updated every time a new value is received.
- For each new value, the list should be populated with a new expandable widget at the top, with only the value visible. The widget should push the existing list items down, and animate into its position; it should slide and fade in from the right.
- If the value is Real, a sound effect (see below) should be played.
- The title of the app should update to the last value received.
- There should be a “Play/Pause” toggle button in the header that would pause/resume the stream. The button should animate between the two states.
- Upon tapping one of the list items, the item should expand to show the time passed since the value was received (34s ago, 2m ago, 1h ago, etc).
- The item should animate upon expansion/contraction and play the sound effect if the value is Real.
- If the app is run in Debug mode, it should also print the value to the Console.
- Set a timer for 30 minutes.
- Start the timer and try to build the screen below as accurately as possible.
- Focus on the structure, not the content. Improvise where needed.
- Above all, make sure the code runs when the timer is over.