package com.smartcodeltd.jenkinsci.plugins.buildmonitor.viewmodel.readability; import com.smartcodeltd.jenkinsci.plugins.buildmonitor.readability.Pluraliser; import org.junit.Test; import static org.hamcrest.MatcherAssert.assertThat; import static org.hamcrest.core.Is.is; public class PluraliserTest { @Test public void should_use_the_plural_format_if_no_other_is_specified() throws Exception { assertThat(Pluraliser.pluralise("%s apples", 0), is("0 apples")); assertThat(Pluraliser.pluralise("%s apples", 1), is("1 apples")); // eek, said the grammar geek! ;-) assertThat(Pluraliser.pluralise("%s apples", 5), is("5 apples")); } @Test public void should_use_a_singular_format_if_the_count_equals_one() throws Exception { assertThat(Pluraliser.pluralise("%s apple", "%s apples", 0), is("0 apples")); assertThat(Pluraliser.pluralise("%s apple", "%s apples", 1), is("1 apple")); assertThat(Pluraliser.pluralise("%s apple", "%s apples", 5), is("5 apples")); } @Test public void should_use_a_correct_format_depending_on_the_count_provided() throws Exception { assertThat(Pluraliser.pluralise("no apples :-(", "%s apple", "%s apples", 0), is("no apples :-(")); assertThat(Pluraliser.pluralise("no apples :-(", "%s apple", "%s apples", 1), is("1 apple")); assertThat(Pluraliser.pluralise("no apples :-(", "%s apple", "%s apples", 5), is("5 apples")); } }