@Test(expectedExceptions = ClassCastException.class)
public void testAddNodeClass() {

    GraphStore graphStore = new GraphStore();
    graphStore.addNode(new Node() {
        @Override
        public Object getId() {
            throw new UnsupportedOperationException("Not supported yet.");
        }
        @Override
        public Object getAttribute(String key) {
            throw new UnsupportedOperationException("Not supported yet.");
        }
        @Override
        public Object getAttribute(Column column) {
            throw new UnsupportedOperationException("Not supported yet.");
        }
        @Override
        public Object getAttribute(Column column, double timestamp) {
            throw new UnsupportedOperationException("Not supported yet.");
        }
        @Override
        public Object getAttribute(String key, double timestamp) {
            throw new UnsupportedOperationException("Not supported yet.");
        }
        @Override
        public Object[] getAttributes() {
            throw new UnsupportedOperationException("Not supported yet.");
        }
        @Override
        public Set<String> getAttributeKeys() {
            throw new UnsupportedOperationException("Not supported yet.");
        }
        @Override
        public ColumnIterable getAttributeColumns() {
            throw new UnsupportedOperationException("Not supported yet.");
        }
        @Override
        public Object removeAttribute(String key) {
            throw new UnsupportedOperationException("Not supported yet.");
        }
        @Override
        public Object removeAttribute(Column column) {
            throw new UnsupportedOperationException("Not supported yet.");
        }
        @Override
        public void setAttribute(String key, Object value) {
            throw new UnsupportedOperationException("Not supported yet.");
        }
        @Override
        public void setAttribute(Column column, Object value) {
            throw new UnsupportedOperationException("Not supported yet.");
        }
        @Override
        public void clearAttributes() {
            throw new UnsupportedOperationException("Not supported yet.");
        }
        @Override
        public void setAttribute(String key, Object value, double timestamp) {
            throw new UnsupportedOperationException("Not supported yet.");
        }
        @Override
        public void setAttribute(Column column, Object value, double timestamp) {
            throw new UnsupportedOperationException("Not supported yet.");
        }
        @Override
        public boolean addTimestamp(double timestamp) {
            throw new UnsupportedOperationException("Not supported yet.");
        }
        @Override
        public boolean removeTimestamp(double timestamp) {
            throw new UnsupportedOperationException("Not supported yet.");
        }
        @Override
        public double[] getTimestamps() {
            throw new UnsupportedOperationException("Not supported yet.");
        }
        @Override
        public float x() {
            throw new UnsupportedOperationException("Not supported yet.");
        }
        @Override
        public float y() {
            throw new UnsupportedOperationException("Not supported yet.");
        }
        @Override
        public float z() {
            throw new UnsupportedOperationException("Not supported yet.");
        }
        @Override
        public float r() {
            throw new UnsupportedOperationException("Not supported yet.");
        }
        @Override
        public float g() {
            throw new UnsupportedOperationException("Not supported yet.");
        }
        @Override
        public float b() {
            throw new UnsupportedOperationException("Not supported yet.");
        }
        @Override
        public int getRGBA() {
            throw new UnsupportedOperationException("Not supported yet.");
        }
        @Override
        public Color getColor() {
            throw new UnsupportedOperationException("Not supported yet.");
        }
        @Override
        public float alpha() {
            throw new UnsupportedOperationException("Not supported yet.");
        }
        @Override
        public float size() {
            throw new UnsupportedOperationException("Not supported yet.");
        }
        @Override
        public void setX(float x) {
            throw new UnsupportedOperationException("Not supported yet.");
        }
        @Override
        public void setY(float y) {
            throw new UnsupportedOperationException("Not supported yet.");
        }
        @Override
        public void setZ(float z) {
            throw new UnsupportedOperationException("Not supported yet.");
        }
        @Override
        public void setPosition(float x, float y) {
            throw new UnsupportedOperationException("Not supported yet.");
        }
        @Override
        public void setPosition(float x, float y, float z) {
            throw new UnsupportedOperationException("Not supported yet.");
        }
        @Override
        public void setR(float r) {
            throw new UnsupportedOperationException("Not supported yet.");
        }
        @Override
        public void setG(float g) {
            throw new UnsupportedOperationException("Not supported yet.");
        }
        @Override
        public void setB(float b) {
            throw new UnsupportedOperationException("Not supported yet.");
        }
        @Override
        public void setAlpha(float a) {
            throw new UnsupportedOperationException("Not supported yet.");
        }
        @Override
        public void setColor(Color color) {
            throw new UnsupportedOperationException("Not supported yet.");
        }
        @Override
        public void setSize(float size) {
            throw new UnsupportedOperationException("Not supported yet.");
        }
        @Override
        public boolean isFixed() {
            throw new UnsupportedOperationException("Not supported yet.");
        }
        @Override
        public <T extends LayoutData> T getLayoutData() {
            throw new UnsupportedOperationException("Not supported yet.");
        }
        @Override
        public void setFixed(boolean fixed) {
            throw new UnsupportedOperationException("Not supported yet.");
        }
        @Override
        public void setLayoutData(LayoutData layoutData) {
            throw new UnsupportedOperationException("Not supported yet.");
        }
        @Override
        public TextProperties getTextProperties() {
            throw new UnsupportedOperationException("Not supported yet.");
        }
        @Override
        public String getLabel() {
            throw new UnsupportedOperationException("Not supported yet.");
        }
        @Override
        public void setLabel(String label) {
            throw new UnsupportedOperationException("Not supported yet.");
        }
        @Override
        public int getStoreId() {
            throw new UnsupportedOperationException("Not supported yet.");
        }
        @Override
        public Object getAttribute(String key, GraphView view) {
            throw new UnsupportedOperationException("Not supported yet.");
        }
        @Override
        public Object getAttribute(Column column, GraphView view) {
            throw new UnsupportedOperationException("Not supported yet.");
        }
        @Override
        public boolean hasTimestamp(double timestamp) {
            throw new UnsupportedOperationException("Not supported yet.");
        }
        @Override
        public Object removeAttribute(String key, double timestamp) {
            throw new UnsupportedOperationException("Not supported yet.");
        }
        @Override
        public Object removeAttribute(Column column, double timestamp) {
            throw new UnsupportedOperationException("Not supported yet.");
        }
        @Override
        public Object getAttribute(String key, Interval interval) {
            throw new UnsupportedOperationException("Not supported yet.");
        }
        @Override
        public Object getAttribute(Column column, Interval interval) {
            throw new UnsupportedOperationException("Not supported yet.");
        }
        @Override
        public Object removeAttribute(String key, Interval interval) {
            throw new UnsupportedOperationException("Not supported yet.");
        }
        @Override
        public Object removeAttribute(Column column, Interval interval) {
            throw new UnsupportedOperationException("Not supported yet.");
        }
        @Override
        public void setAttribute(String key, Object value, Interval interval) {
            throw new UnsupportedOperationException("Not supported yet.");
        }
        @Override
        public void setAttribute(Column column, Object value, Interval interval) {
            throw new UnsupportedOperationException("Not supported yet.");
        }
        @Override
        public boolean addInterval(Interval interval) {
            throw new UnsupportedOperationException("Not supported yet.");
        }
        @Override
        public boolean removeInterval(Interval interval) {
            throw new UnsupportedOperationException("Not supported yet.");
        }
        @Override
        public boolean hasInterval(Interval interval) {
            throw new UnsupportedOperationException("Not supported yet.");
        }
        @Override
        public Interval[] getIntervals() {
            throw new UnsupportedOperationException("Not supported yet.");
        }
        @Override
        public Iterable<Map.Entry> getAttributes(Column column) {
            throw new UnsupportedOperationException("Not supported yet.");
        }
        @Override
        public Table getTable() {
            throw new UnsupportedOperationException("Not supported yet.");
        }
    });
}