@Test public void ableToCreateSimpleUrl() { HelpUrlBuilder builder = createBuilder().key("key").alt("alt").title("title").url("url"); final HelpUrlMatcher matcher = new HelpUrlMatcher().url("url").key("key").alt("alt").title("title"); assertThat(builder.build(), matcher); assertThat(builder.build(), matcher); builder.title("newtitle"); matcher.title("newtitle"); assertThat(builder.build(), matcher); builder.alt("newalt"); matcher.alt("newalt"); assertThat(builder.build(), matcher); builder.key("newKey"); matcher.key("newKey"); assertThat(builder.build(), matcher); builder.url("newUrl"); matcher.url("newUrl"); assertThat(builder.build(), matcher); builder.local(true); matcher.local(true); assertThat(builder.build(), matcher); }
@Test public void ableToCopyBuilderClonesBuilderAndIsIndependent() { HelpUrlBuilder builder = createBuilder().key("key").alt("alt").title("title").url("url"); final HelpUrlMatcher matcher = new HelpUrlMatcher().url("url").key("key").alt("alt").title("title"); final HelpUrlBuilder builderCopy = builder.copy(); final HelpUrlMatcher matcherCopy = matcher.copy(); assertThat(builder.build(), matcher); assertThat(builderCopy.build(), matcher); builder.title("newtitle"); matcher.title("newtitle"); assertThat(builder.build(), matcher); assertThat(builderCopy.build(), matcherCopy); builder.alt("newalt"); matcher.alt("newalt"); assertThat(builder.build(), matcher); assertThat(builderCopy.build(), matcherCopy); builder.key("newKey"); matcher.key("newKey"); assertThat(builder.build(), matcher); assertThat(builderCopy.build(), matcherCopy); builder.url("newUrl"); matcher.url("newUrl"); assertThat(builder.build(), matcher); assertThat(builderCopy.build(), matcherCopy); builder.local(true); matcher.local(true); assertThat(builder.build(), matcher); assertThat(builderCopy.build(), matcherCopy); builderCopy.url("url2").title("title2").local(false); matcherCopy.url("url2").title("title2").local(false); assertThat(builder.build(), matcher); assertThat(builderCopy.build(), matcherCopy); }