/**
 * JUnit test for AssociationEnd
 *
 * @author chung
 */
public class AssociationEndTest {

  private AssociationEnd associationEnd;
  private Identifier identifier = Identifier.random();
  private Visitor visitor = new DefaultVisitor();

  @Before
  public void setup() {
    associationEnd =
        new AssociationEnd(
            TestUtils.ZERO_TO_ONE, "TestAssocEnd", false, identifier, "test_end_name");
  }

  @Test
  public void testAccept() {
    associationEnd.accept(visitor);
  }

  @Test
  public void testIsAttribute() {
    assertEquals(associationEnd.isAttribute(), false);
  }

  @Test
  public void testIsAssociationEnd() {
    assertEquals(associationEnd.isAssociationEnd(), true);
  }

  @Test
  public void testIsNavigable() {
    assertEquals(associationEnd.isNavigable(), false);
  }

  @Test
  public void testToString() {
    String string1 = associationEnd.toString();
    String string2 =
        "{id: "
            + associationEnd.getId()
            + ", name: TestAssocEnd, type: "
            + identifier
            + ", multiplicity: "
            + TestUtils.ZERO_TO_ONE
            + "}";
    assertEquals(string1, string2);
  }
}