1. Please write a method to normalize a string which represents a file path. For the purposes of this question, normalizing means:
• all single dot components of the path must be removed. For example, "foo/./bar" should be normalized to "foo/bar".
• all double dots components of the path must be removed, along with their parent directory. For example, "foo/bar/../baz" should be normalized to "foo/baz".
That's it. Normally, a path normalization algorithm would do a lot of other stuff, but for this question, don't try any other kind of normalization or transformation of the path. As an example, "foo//bar" should be normalized to "foo//bar" (i.e. a no-op).
Use any language you feel comfortable in, we prefer Java, but it’s not required. The method should take in a string (or whatever passes for a string in the language of your choice) and return a string representing the normalized path. Please write code that you feel proud of and would check in to source control in a professional environment.
2. Once you have completed the exercise, please create ten (or more!) test cases you would you use to test the method.