package com.tngtech.archunit.lang;
import com.tngtech.java.junit.dataprovider.DataProvider;
import com.tngtech.java.junit.dataprovider.DataProviderRunner;
import com.tngtech.java.junit.dataprovider.UseDataProvider;
import org.junit.Test;
import org.junit.runner.RunWith;
import static com.tngtech.java.junit.dataprovider.DataProviders.$;
import static com.tngtech.java.junit.dataprovider.DataProviders.$$;
import static org.assertj.core.api.Assertions.assertThat;
@RunWith(DataProviderRunner.class)
public class ConditionEventsTest {
@DataProvider
public static Object[][] eventsWithEmpty() {
return $$(
$(events(SimpleConditionEvent.satisfied("irrelevant", "irrelevant")), false),
$(events(SimpleConditionEvent.violated("irrelevant", "irrelevant")), false),
$(new ConditionEvents(), true));
}
@Test
@UseDataProvider("eventsWithEmpty")
public void isEmpty(ConditionEvents events, boolean expectedEmpty) {
assertThat(events.isEmpty()).as("events are empty").isEqualTo(expectedEmpty);
}
private static ConditionEvents events(ConditionEvent... events) {
ConditionEvents result = new ConditionEvents();
for (ConditionEvent event : events) {
result.add(event);
}
return result;
}
}