package com.redhat.ceylon.common.tool;
import org.junit.Assert;
import org.junit.Test;
import com.redhat.ceylon.common.tool.Multiplicity;
public class MultiplicityTest {
@Test
public void ctor() {
try {
new Multiplicity(0);
Assert.fail();
} catch (IllegalArgumentException e) {
}
try {
new Multiplicity(2, 1);
Assert.fail();
} catch (IllegalArgumentException e) {
}
}
@Test
public void parse() {
Assert.assertEquals(Multiplicity._0_OR_MORE, Multiplicity.fromString("*"));
Assert.assertEquals(Multiplicity._1_OR_MORE, Multiplicity.fromString("+"));
Assert.assertEquals(Multiplicity._0_OR_1, Multiplicity.fromString("?"));
Assert.assertEquals(Multiplicity._1, Multiplicity.fromString("1"));
Assert.assertEquals(new Multiplicity(1), Multiplicity.fromString("1"));
Assert.assertEquals(new Multiplicity(3), Multiplicity.fromString("3"));
Assert.assertEquals(new Multiplicity(1,3), Multiplicity.fromString("[1,3]"));
Assert.assertEquals(new Multiplicity(2,3), Multiplicity.fromString("(1,3]"));
Assert.assertEquals(new Multiplicity(2,2), Multiplicity.fromString("(1,3)"));
Assert.assertEquals(new Multiplicity(1,2), Multiplicity.fromString("[1,3)"));
Assert.assertEquals(new Multiplicity(1,Integer.MAX_VALUE), Multiplicity.fromString("[1,)"));
Assert.assertEquals(new Multiplicity(1,Integer.MAX_VALUE), Multiplicity.fromString("[1,]"));
}
}