Why some of the assertions have the port (80) and others don't ?
One can say that port 80 is the default for HTTP scheme and that's why it may be missed, but then why `uri.withScheme("https") === Uri("https://host/path?query#fragment")` doesn't use it explicitly ? In this case port 443 should be the default and port 80 must be used.