package org.fluentlenium.core.conditions.message; import org.assertj.core.api.Assertions; import org.fluentlenium.core.conditions.FluentConditions; import org.fluentlenium.core.conditions.StringConditions; import org.fluentlenium.core.conditions.StringConditionsImpl; import org.junit.Test; import static org.mockito.Mockito.spy; import static org.mockito.Mockito.verify; public class MessageProxyTest { @Test public void testElementContains() { FluentConditions builder = MessageProxy.builder(FluentConditions.class, "element"); builder.name().contains("test"); String message = MessageProxy.message(builder); Assertions.assertThat(message).isEqualTo("element name does not contain \"test\""); } @Test public void testElementNotContains() { FluentConditions builder = MessageProxy.builder(FluentConditions.class, "element"); builder.name().not().contains("test"); String message = MessageProxy.message(builder); Assertions.assertThat(message).isEqualTo("element name contains \"test\""); } @Test public void testStringContainsInstance() { StringConditionsImpl test = spy(new StringConditionsImpl("test")); StringConditions builder = MessageProxy.wrap(StringConditions.class, test, "string"); builder.contains("es"); String message = MessageProxy.message(builder); Assertions.assertThat(message).isEqualTo("string does not contain \"es\""); verify(test).contains("es"); } }