package com.lassekoskela.maven.buildevents; import static org.hamcrest.Matchers.is; import static org.junit.Assert.assertThat; import org.junit.Before; import org.junit.Test; public class FieldMatcherTest { private static final String CORRECT_FIELD = "field1"; private static final String CORRECT_VALUE = "1"; private WhateverObject candidate; private static class WhateverObject { public WhateverObject(String value1) { field1 = value1; } public String field1, field2; } @Before public void setUp() { candidate = new WhateverObject(CORRECT_VALUE); } @Test public void matchesWhenPublicFieldHasExpectedValue() throws Exception { FieldMatcher<WhateverObject> m = matcher(CORRECT_FIELD, CORRECT_VALUE); assertThat(m.matches(candidate), is(true)); } @Test public void doesNotMatchWhenTheFieldValueDoesNotMatch() throws Exception { FieldMatcher<WhateverObject> m = matcher(CORRECT_FIELD, "wrongValue"); assertThat(m.matches(candidate), is(false)); } @Test public void doesNotMatchWhenThereIsNoSuchField() throws Exception { FieldMatcher<WhateverObject> m = matcher("noSuchField", CORRECT_VALUE); assertThat(m.matches(candidate), is(false)); } private FieldMatcher<WhateverObject> matcher(String field, String value) { return new FieldMatcher<WhateverObject>(field, value); } }