Package

Source Code of ClassDiagramTests

import static org.junit.Assert.assertTrue;

import java.util.List;
import java.util.Set;

import javax.naming.InvalidNameException;

import org.junit.After;
import org.junit.Before;
import org.junit.Test;

import easysm.datatypes.Name;
import easysm.datatypes.information.*;
import easysm.executors.Main;
import easysm.factories.SetFactory;
import easysm.stores.*;
import easysm.stores.Class;

/**
* @author Federica Lupi
* @author Marta Semeria
*/
public class ClassDiagramTests
{
  Main main;
  Name cIffy;
  Name cPine;
  Name cSure;

  @Before
  public void setUp()
  {
    main = new Main(false);
    Name name = null;
    try {
      name = new Name("Test");
      cIffy = new Name("Iffy");
      cPine = new Name("Pine");
      cSure = new Name("Sure");
    } catch (InvalidNameException e) {
      //
    }
    ProjectInfo projectInfo = new ProjectInfo(name, "Test", "Test");
    main.doNewProject(projectInfo);
  }

  @After
  public void tearDown()
  {
    main = null;
  }

  /*
   *
   * TestClass
   */

  @Test
  public void Main_doAddClass_OneValidClass()
  {
    main.doAddCDElement(new ClassInfo(cPine));
    List<Class> cSet = main.inputCD().classes();
    assertTrue(cSet.size() == 1);
    for (Class c : cSet) {
      assertTrue(c.name().equals(cPine));
    }
  }

  @Test
  public void Main_doAddClass_WithSameNameOfClass()
  {
    main.doAddCDElement(new ClassInfo(cPine));
    main.doAddCDElement(new ClassInfo(cPine));
    List<Class> cSet = main.inputCD().classes();
    assertTrue(cSet.size() == 1);
  }

  @Test
  public void Main_doAddClass_WithSameNameOfEnum()
  {
    main.doAddCDElement(new EnumerationInfo(cPine, null));
    main.doAddCDElement(new ClassInfo(cPine));
    List<Class> cSet = main.inputCD().classes();
    assertTrue(cSet.size() == 0);
  }

  @Test
  public void Main_doUpdateClass_OneValidClass()
  {
    main.doAddCDElement(new ClassInfo(cIffy));
    List<Class> cSet = main.inputCD().classes();
    Class cl = null;
    for (Class c : cSet) {
      cl = c;
    }
    main.doUpdateCDElement(cl, new ClassInfo(cPine));
    assertTrue(cSet.size() == 1);
    for (Class c : cSet) {
      assertTrue(c.name().equals(cPine));
    }
  }

  @Test
  public void Main_doDeleteClass()
  {
    main.doAddCDElement(new ClassInfo(cPine));
    List<Class> cList = main.inputCD().classes();
    main.doDeleteCDElement(cList.get(0));
    assertTrue(cList.size() == 0);
  }

  /*
   *
   * TestAttribute
   */

  @Test
  public void Main_doAddAttribute_OneValidClass()
  {
    List<Class> cSet = main.inputCD().classes();
    main.doAddCDElement(new ClassInfo(cPine));
    Class cl = null;
    for (Class c : cSet) {
      cl = c;
    }
    main.doAddCDElement(new AttributeInfo(cIffy, cl, Type.INTEGER));

    assertTrue(cl.attributes().size() == 1);
    for (Attribute a : cl.attributes()) {
      assertTrue(a.name().equals(cIffy));
    }
  }

  @Test
  public void Main_doAddAttribute_WithSameNameOfAttribute()
  {
    List<Class> cSet = main.inputCD().classes();
    main.doAddCDElement(new ClassInfo(cPine));
    Class cl = null;
    for (Class c : cSet) {
      cl = c;
    }
    main.doAddCDElement(new AttributeInfo(cIffy, cl, Type.INTEGER));

    main.doAddCDElement(new AttributeInfo(cIffy, cl, Type.BOOLEAN));

    assertTrue(cl.attributes().size() == 1);
  }

  @Test
  public void Main_doUpdateAttribute_OneValidClass()
  {
    main.doAddCDElement(new ClassInfo(cIffy));
    List<Class> cSet = main.inputCD().classes();
    Class cl = null;
    for (Class c : cSet) {
      cl = c;
    }
    main.doAddCDElement(new AttributeInfo(cPine, cl, Type.INTEGER));
    Attribute at = null;
    for (Attribute a : cl.attributes()) {
      at = a;
    }
    main.doUpdateCDElement(at, new AttributeInfo(cSure, cl, Type.INTEGER));

    assertTrue(cl.attributes().size() == 1);
    for (Attribute a : cl.attributes()) {
      assertTrue(a.name().equals(cSure));
    }
  }

  @Test
  public void Main_doDeleteAttribute()
  {
    main.doAddCDElement(new ClassInfo(cPine));
    List<Class> cSet = main.inputCD().classes();
    Class cl = null;
    for (Class c : cSet) {
      cl = c;
    }
    main.doAddCDElement(new AttributeInfo(cIffy, cl, Type.INTEGER));

    main.doDeleteCDElement(cl.attributes().get(0));
    assertTrue(cl.attributes().size() == 0);
  }

  /*
   *
   * TestOperation
   */

  @Test
  public void Main_doAddOperation_OneValidClass()
  {
    List<Class> cSet = main.inputCD().classes();
    main.doAddCDElement(new ClassInfo(cPine));
    Class cl = null;
    for (Class c : cSet) {
      cl = c;
    }
    Set<ParameterInfo> params = SetFactory.createSet(ParameterInfo.class);
    main.doAddCDElement(new OperationInfo(cIffy, cl, params, Type.BOOLEAN));

    assertTrue(cl.operations().size() == 1);
    for (Operation o : cl.operations()) {
      assertTrue(o.name().equals(cIffy));
    }
  }

  @Test
  public void Main_doAddOperation_WithParametersWithSameName()
  {
    List<Class> cSet = main.inputCD().classes();
    main.doAddCDElement(new ClassInfo(cPine));
    Class cl = null;
    for (Class c : cSet) {
      cl = c;
    }
    Set<ParameterInfo> params = SetFactory.createSet(ParameterInfo.class);
    ParameterInfo pInfo = new ParameterInfo(cSure, Type.INTEGER);
    params.add(pInfo);
    params.add(pInfo);
    main.doAddCDElement(new OperationInfo(cIffy, cl, params, Type.BOOLEAN));
    Operation op = null;
    for (Operation o : cl.operations()) {
      op = o;
    }
    assertTrue(op.parameters().size() == 1);
    for (Parameter p : op.parameters()) {
      assertTrue(p.name().equals(cSure));
    }
  }

  @Test
  public void Main_doAddOperation_WithSameNameOfOperation()
  {
    List<Class> cSet = main.inputCD().classes();
    main.doAddCDElement(new ClassInfo(cPine));
    Class cl = null;
    for (Class c : cSet) {
      cl = c;
    }
    Set<ParameterInfo> params = SetFactory.createSet(ParameterInfo.class);
    main.doAddCDElement(new OperationInfo(cIffy, cl, params, Type.INTEGER));

    main.doAddCDElement(new OperationInfo(cIffy, cl, params, Type.BOOLEAN));

    assertTrue(cl.operations().size() == 1);
  }

  @Test
  public void Main_doUpdateOperation_OneValidClass()
  {
    main.doAddCDElement(new ClassInfo(cIffy));
    List<Class> cSet = main.inputCD().classes();
    Class cl = null;
    for (Class c : cSet) {
      cl = c;
    }
    Set<ParameterInfo> params = SetFactory.createSet(ParameterInfo.class);
    main.doAddCDElement(new OperationInfo(cPine, cl, params, Type.INTEGER));
    Operation op = null;
    for (Operation o : cl.operations()) {
      op = o;
    }
    main.doUpdateCDElement(op, new OperationInfo(cSure, cl, params, Type.BOOLEAN));

    assertTrue(cl.operations().size() == 1);
    for (Operation o : cl.operations()) {
      assertTrue(o.name().equals(cSure));
      assertTrue(o.returnType().equals(Type.BOOLEAN));
    }
  }

  @Test
  public void Main_doDeleteOperation()
  {
    main.doAddCDElement(new ClassInfo(cPine));
    List<Class> cSet = main.inputCD().classes();
    Class cl = null;
    for (Class c : cSet) {
      cl = c;
    }
    Set<ParameterInfo> params = SetFactory.createSet(ParameterInfo.class);
    main.doAddCDElement(new OperationInfo(cIffy, cl, params, Type.INTEGER));

    main.doDeleteCDElement(cl.operations().get(0));
    assertTrue(cl.operations().size() == 0);
  }

  /*
   *
   * TestEnum
   */

  @Test
  public void Main_doAddEnumeration_OneValidEnum()
  {
    main.doAddCDElement(new EnumerationInfo(cPine, null));
    List<Enumeration> eSet = main.inputCD().enums();
    assertTrue(eSet.size() == 1);
    for (Enumeration e : eSet) {
      assertTrue(e.name().equals(cPine));
    }
  }

  @Test
  public void Main_doAddEnumeration_WithSameNameOfEnum()
  {
    main.doAddCDElement(new EnumerationInfo(cPine, null));
    main.doAddCDElement(new EnumerationInfo(cPine, null));
    List<Enumeration> eSet = main.inputCD().enums();
    assertTrue(eSet.size() == 1);
  }

  @Test
  public void Main_doUpdateEnumeration_OneValidEnum()
  {
    main.doAddCDElement(new ClassInfo(cIffy));
    List<Class> cSet = main.inputCD().classes();
    Class cl = null;
    for (Class c : cSet) {
      cl = c;
    }
    main.doUpdateCDElement(cl, new ClassInfo(cPine));
    assertTrue(cSet.size() == 1);
    for (Class c : cSet) {
      assertTrue(c.name().equals(cPine));
    }
  }

  @Test
  public void Main_doDeleteEnumeration()
  {
    main.doAddCDElement(new EnumerationInfo(cPine, null));
    List<Enumeration> eList = main.inputCD().enums();
    main.doDeleteCDElement(eList.get(0));
    assertTrue(eList.size() == 0);
  }

}
TOP

Related Classes of ClassDiagramTests

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.