Increase test coverage of Trust.
authorDavid ‘Bombe’ Roden <bombe@pterodactylus.net>
Tue, 12 Nov 2013 05:43:57 +0000 (06:43 +0100)
committerDavid ‘Bombe’ Roden <bombe@pterodactylus.net>
Fri, 28 Feb 2014 21:25:59 +0000 (22:25 +0100)
src/test/java/net/pterodactylus/sone/freenet/wot/TrustTest.java

index dfc2543..93eebb8 100644 (file)
 
 package net.pterodactylus.sone.freenet.wot;
 
+import static java.util.regex.Pattern.compile;
 import static org.hamcrest.MatcherAssert.assertThat;
 import static org.hamcrest.Matchers.is;
+import static org.hamcrest.Matchers.not;
 import static org.hamcrest.Matchers.nullValue;
 
+import org.hamcrest.Description;
+import org.hamcrest.Matcher;
+import org.hamcrest.TypeSafeMatcher;
 import org.junit.Test;
 
 /**
@@ -54,4 +59,32 @@ public class TrustTest {
                assertThat(trust1.hashCode(), is(trust2.hashCode()));
        }
 
+       @Test
+       public void nullDoesNotMatchTrust() {
+               Trust trust = new Trust(5, 17, 2);
+               assertThat(trust, not(is((Object) null)));
+       }
+
+       @Test
+       public void toStringContainsTheThreeValues() {
+               String trustString = new Trust(5, 17, 2).toString();
+               assertThat(trustString, matches("\\b5\\b"));
+               assertThat(trustString, matches("\\b17\\b"));
+               assertThat(trustString, matches("\\b2\\b"));
+       }
+
+       private static Matcher<String> matches(final String regex) {
+               return new TypeSafeMatcher<String>() {
+                       @Override
+                       protected boolean matchesSafely(String item) {
+                               return compile(regex).matcher(item).find();
+                       }
+
+                       @Override
+                       public void describeTo(Description description) {
+                               description.appendText("matches: ").appendValue(regex);
+                       }
+               };
+       }
+
 }