- String result = customProv.writeUrlsAsString();
- UrlProviderI up = new CustomUrlProvider(result);
- assertTrue(displayLinks.containsAll(up.getLinksForDisplay()));
-
- result = customProv2.writeUrlsAsString();
- UrlProviderI up2 = new CustomUrlProvider(result);
- assertTrue(displayLinks.containsAll(up2.getLinksForDisplay()));
-
- // resetting urls from a pair of lists works
- customProv.setUrlLinks(names, urls);
- assertTrue(displayLinks2.containsAll(customProv.getLinksForDisplay()));
-
- customProv2.setUrlLinks(names, urls);
- assertTrue(displayLinks2.containsAll(customProv2.getLinksForDisplay()));
+ // because UrlProvider does not guarantee order of links, we can't just
+ // compare the output of writeUrlsAsString to a string, hence the hoops here
+ String result = customProv.writeUrlsAsString(true);
+ UrlProviderI up = new CustomUrlProvider(result, "");
+ assertTrue(displayLinks.containsAll(up.getLinksForMenu()));
+
+ result = customProv.writeUrlsAsString(false);
+ up = new CustomUrlProvider("", result);
+ assertTrue(unselDisplayLinks.containsAll(up.getLinksForMenu()));
+
+ result = customProv2.writeUrlsAsString(true);
+ UrlProviderI up2 = new CustomUrlProvider(result, "");
+ assertTrue(displayLinks.containsAll(up2.getLinksForMenu()));
+
+ result = customProv2.writeUrlsAsString(false);
+ up2 = new CustomUrlProvider("", result);
+ assertTrue(displayLinks.containsAll(up2.getLinksForMenu()));