Package com.ojn.gexf4j.core

Source Code of com.ojn.gexf4j.core.NodeTest

package com.ojn.gexf4j.core;

import static org.hamcrest.MatcherAssert.*;
import static org.hamcrest.Matchers.*;

import java.util.UUID;

import org.junit.Test;

import com.ojn.gexf4j.core.data.Attribute;
import com.ojn.gexf4j.core.data.AttributeClass;
import com.ojn.gexf4j.core.data.AttributeType;
import com.ojn.gexf4j.core.data.AttributeValue;
import com.ojn.gexf4j.core.impl.data.AttributeImpl;

public abstract class NodeTest {

  protected abstract Node newNode(String id);

  @Test
  public void getId() {
    String id = UUID.randomUUID().toString();
    Node n = newNode(id);
   
    assertThat(n.getId(), is(equalTo(id)));
  }
 
  @Test
  public void setLabelValid() {
    String label= UUID.randomUUID().toString();
    Node n = newNode(UUID.randomUUID().toString());
    n.setLabel(label);
   
    assertThat(n.getLabel(), is(equalTo(label)));
  }
 
  @Test(expected=IllegalArgumentException.class)
  public void setLabelNull() {
    Node n = newNode(UUID.randomUUID().toString());
    n.setLabel(null);
  }
 
  @Test
  public void getAttributeValues() {
    Attribute attrib = new AttributeImpl(AttributeType.STRING, "test", AttributeClass.NODE);
    AttributeValue av = attrib.createValue("testing");
    Node n = newNode(UUID.randomUUID().toString());
   
    int a = n.getAttributeValues().size();
    n.getAttributeValues().add(av);
    int b = n.getAttributeValues().size();
   
    assertThat(b, is(equalTo(a+1)));
    assertThat(n.getAttributeValues().contains(av), is(true));
  }
 
  @Test
  public void getEdges() {
    Node n1 = newNode(UUID.randomUUID().toString());
    Node n2 = newNode(UUID.randomUUID().toString());
   
    assertThat(n1.getEdges(), is(notNullValue()));
   
    n1.connectTo(n2);
   
    assertThat(n1.getEdges().size(), is(equalTo(1)));
  }
 
  @Test
  public void connectToValid() {
    Node n1 = newNode(UUID.randomUUID().toString());
    Node n2 = newNode(UUID.randomUUID().toString());
   
    n1.connectTo(n2);
   
    for (Edge e : n1.getEdges()) {
      assertThat(e.getSource(), is(equalTo(n1)));
      assertThat(e.getTarget(), is(equalTo(n2)));
    }
  }
 
  @Test(expected=IllegalArgumentException.class)
  public void connectToNull() {
    Node n = newNode(UUID.randomUUID().toString());
    n.connectTo(null);
  }
 
  @Test(expected=IllegalArgumentException.class)
  public void connectToIdNull() {
    Node n1 = newNode(UUID.randomUUID().toString());
    Node n2 = newNode(UUID.randomUUID().toString());
    n1.connectTo(null, n2);
  }
 
  @Test(expected=IllegalArgumentException.class)
  public void connectToIdBlank() {
    Node n1 = newNode(UUID.randomUUID().toString());
    Node n2 = newNode(UUID.randomUUID().toString());
    n1.connectTo("   ", n2);
  }
 
  @Test(expected=IllegalArgumentException.class)
  public void connectToIdDupe() {
    String id = UUID.randomUUID().toString();
    Node n1 = newNode(UUID.randomUUID().toString());
    Node n2 = newNode(UUID.randomUUID().toString());
    Node n3 = newNode(UUID.randomUUID().toString());
    n1.connectTo(id, n2);
    n1.connectTo(id, n3);
  }
 
  @Test(expected=IllegalArgumentException.class)
  public void connectToIdNodeNull() {
    Node n = newNode(UUID.randomUUID().toString());
    n.connectTo(UUID.randomUUID().toString(), null);
  }
 
  @Test
  public void connectToIdValid() {
    Node n1 = newNode(UUID.randomUUID().toString());
    Node n2 = newNode(UUID.randomUUID().toString());
    n1.connectTo(UUID.randomUUID().toString(), n2);
   
    for (Edge e : n1.getEdges()) {
      assertThat(e.getSource(), is(equalTo(n1)));
      assertThat(e.getTarget(), is(equalTo(n2)));
    }
  }
 
  @Test
  public void hasEdgeToValid() {
    Node n1 = newNode(UUID.randomUUID().toString());
    Node n2 = newNode(UUID.randomUUID().toString());
    Node n3 = newNode(UUID.randomUUID().toString());
   
    n1.connectTo(n2);
   
    assertThat(n1.hasEdgeTo(n2.getId()), is(true));
    assertThat(n1.hasEdgeTo(n3.getId()), is(false));
  }
 
  @Test(expected=IllegalArgumentException.class)
  public void hasEdgeToNull() {
    Node n = newNode(UUID.randomUUID().toString());
    n.hasEdgeTo(null);
  }
}
TOP

Related Classes of com.ojn.gexf4j.core.NodeTest

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.