Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/gipsh/go-string-task
https://github.com/gipsh/go-string-task
Last synced: about 1 month ago
JSON representation
- Host: GitHub
- URL: https://github.com/gipsh/go-string-task
- Owner: gipsh
- Created: 2022-01-16T16:08:04.000Z (almost 3 years ago)
- Default Branch: master
- Last Pushed: 2022-01-16T21:06:45.000Z (almost 3 years ago)
- Last Synced: 2024-06-20T22:45:48.586Z (6 months ago)
- Language: Go
- Size: 6.84 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Test tasks
**Important**:
* [ ] tasks must be documented as if it was a programming tasks (documented for programmers)
* [ ] task must be implemented with `Go` and `GIT`
* [ ] task MUST include commits for every logical block of work. It is expected to have frequent commits with meaningful messages, preferably multiple commits per-function.
* [ ] as a solution submit your `Git` repo URL### String Specs
Given a string that is a sequence of numbers followed by dash followed by text, eg: `23-ab-48-caba-56-haha`
* The numbers can be assumed to be unsigned integers
* The strings can be assumed to be ASCII sequences of arbitrary length larger than 0 (empty strings not allowed).## Task 1
* Before implementing the needed function, please estimate the difficulty of the functions and report the estimated and the used time to implement the functions in the function comment block.
* Write a function `testValidity` that takes the string as an input, and returns boolean flag `true` if the given string complies with the format, or `false` if the string does not comply
* Write a function `averageNumber` that takes the string, and returns the average number from all the numbers
* Write a function `wholeStory` that takes the string, and returns a text that is composed from all the text words separated by spaces, e.g. `story` called for the string `1-hello-2-world` should return text: `"hello world"
* Write a function `storyStats` that returns four things:
* the shortest word
* the longest word
* the average word length
* the list (or empty list) of all words from the story that have the length the same as the average length rounded up and down.# Task 2
* Before implementing the needed function, please estimate the difficulty of the functions and report the estimated and the used time to implement the functions in the function comment block.
* Write a `generate` function, that takes boolean flag and generates random correct strings if the parameter is `true` and random incorrect strings if the flag is `false`.
* Write unit tests for the functions:
* `testValidity`
* `averageNumber`
* `wholeStory`
* `storyStats`