Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
64 changes: 64 additions & 0 deletions src/test/java/com/falkordb/HeaderTest.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
package com.falkordb;

import org.junit.jupiter.api.Test;

import static org.junit.jupiter.api.Assertions.*;

public class HeaderTest {

@Test
public void testResultSetColumnTypesEnumValues() {
Header.ResultSetColumnTypes[] types = Header.ResultSetColumnTypes.values();

assertEquals(4, types.length);
assertEquals(Header.ResultSetColumnTypes.COLUMN_UNKNOWN, types[0]);
assertEquals(Header.ResultSetColumnTypes.COLUMN_SCALAR, types[1]);
assertEquals(Header.ResultSetColumnTypes.COLUMN_NODE, types[2]);
assertEquals(Header.ResultSetColumnTypes.COLUMN_RELATION, types[3]);
}

@Test
public void testResultSetColumnTypesValueOf() {
assertEquals(Header.ResultSetColumnTypes.COLUMN_UNKNOWN,
Header.ResultSetColumnTypes.valueOf("COLUMN_UNKNOWN"));
assertEquals(Header.ResultSetColumnTypes.COLUMN_SCALAR,
Header.ResultSetColumnTypes.valueOf("COLUMN_SCALAR"));
assertEquals(Header.ResultSetColumnTypes.COLUMN_NODE,
Header.ResultSetColumnTypes.valueOf("COLUMN_NODE"));
assertEquals(Header.ResultSetColumnTypes.COLUMN_RELATION,
Header.ResultSetColumnTypes.valueOf("COLUMN_RELATION"));
}

@Test
public void testResultSetColumnTypesValueOfThrowsException() {
assertThrows(IllegalArgumentException.class, () -> {
Header.ResultSetColumnTypes.valueOf("INVALID_TYPE");
});
}

@Test
public void testResultSetColumnTypesEquality() {
Header.ResultSetColumnTypes type1 = Header.ResultSetColumnTypes.COLUMN_SCALAR;
Header.ResultSetColumnTypes type2 = Header.ResultSetColumnTypes.COLUMN_SCALAR;
Header.ResultSetColumnTypes type3 = Header.ResultSetColumnTypes.COLUMN_NODE;

assertEquals(type1, type2);
assertNotEquals(type1, type3);
}

@Test
public void testResultSetColumnTypesName() {
assertEquals("COLUMN_UNKNOWN", Header.ResultSetColumnTypes.COLUMN_UNKNOWN.name());
assertEquals("COLUMN_SCALAR", Header.ResultSetColumnTypes.COLUMN_SCALAR.name());
assertEquals("COLUMN_NODE", Header.ResultSetColumnTypes.COLUMN_NODE.name());
assertEquals("COLUMN_RELATION", Header.ResultSetColumnTypes.COLUMN_RELATION.name());
}

@Test
public void testResultSetColumnTypesOrdinal() {
assertEquals(0, Header.ResultSetColumnTypes.COLUMN_UNKNOWN.ordinal());
assertEquals(1, Header.ResultSetColumnTypes.COLUMN_SCALAR.ordinal());
assertEquals(2, Header.ResultSetColumnTypes.COLUMN_NODE.ordinal());
assertEquals(3, Header.ResultSetColumnTypes.COLUMN_RELATION.ordinal());
}
}
46 changes: 46 additions & 0 deletions src/test/java/com/falkordb/exceptions/GraphExceptionTest.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
package com.falkordb.exceptions;

import org.junit.jupiter.api.Test;

import static org.junit.jupiter.api.Assertions.*;

public class GraphExceptionTest {

@Test
public void testGraphExceptionWithMessage() {
String message = "Test error message";
GraphException exception = new GraphException(message);

assertEquals(message, exception.getMessage());
assertNotNull(exception);
}

@Test
public void testGraphExceptionWithCause() {
Throwable cause = new RuntimeException("Root cause");
GraphException exception = new GraphException(cause);

assertEquals(cause, exception.getCause());
assertNotNull(exception);
}

@Test
public void testGraphExceptionWithMessageAndCause() {
String message = "Test error message";
Throwable cause = new RuntimeException("Root cause");
GraphException exception = new GraphException(message, cause);

assertEquals(message, exception.getMessage());
assertEquals(cause, exception.getCause());
assertNotNull(exception);
}

@Test
public void testGraphExceptionIsThrowable() {
GraphException exception = new GraphException("test");

assertThrows(GraphException.class, () -> {
throw exception;
});
}
}
189 changes: 189 additions & 0 deletions src/test/java/com/falkordb/graph_entities/EdgeTest.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,189 @@
package com.falkordb.graph_entities;

import org.junit.jupiter.api.Test;

import static org.junit.jupiter.api.Assertions.*;

public class EdgeTest {

@Test
public void testDefaultConstructor() {
Edge edge = new Edge();
assertNotNull(edge);
assertNull(edge.getRelationshipType());
}

@Test
public void testConstructorWithCapacity() {
Edge edge = new Edge(10);
assertNotNull(edge);
assertNull(edge.getRelationshipType());
}

@Test
public void testSetAndGetRelationshipType() {
Edge edge = new Edge();
edge.setRelationshipType("KNOWS");

assertEquals("KNOWS", edge.getRelationshipType());
}

@Test
public void testSetAndGetSource() {
Edge edge = new Edge();
edge.setSource(1L);

assertEquals(1L, edge.getSource());
}

@Test
public void testSetAndGetDestination() {
Edge edge = new Edge();
edge.setDestination(2L);

assertEquals(2L, edge.getDestination());
}

@Test
public void testCompleteEdge() {
Edge edge = new Edge();
edge.setId(100);
edge.setRelationshipType("WORKS_FOR");
edge.setSource(10L);
edge.setDestination(20L);
edge.addProperty("since", 2020);

assertEquals(100, edge.getId());
assertEquals("WORKS_FOR", edge.getRelationshipType());
assertEquals(10L, edge.getSource());
assertEquals(20L, edge.getDestination());
assertEquals(2020, edge.getProperty("since").getValue());
}

@Test
public void testEqualsWithSameObject() {
Edge edge = new Edge();
edge.setRelationshipType("KNOWS");

assertEquals(edge, edge);
}

@Test
public void testEqualsWithEqualEdges() {
Edge edge1 = new Edge();
edge1.setId(1);
edge1.setRelationshipType("KNOWS");
edge1.setSource(10L);
edge1.setDestination(20L);

Edge edge2 = new Edge();
edge2.setId(1);
edge2.setRelationshipType("KNOWS");
edge2.setSource(10L);
edge2.setDestination(20L);

assertEquals(edge1, edge2);
}

@Test
public void testEqualsWithDifferentRelationshipType() {
Edge edge1 = new Edge();
edge1.setRelationshipType("KNOWS");
edge1.setSource(10L);
edge1.setDestination(20L);

Edge edge2 = new Edge();
edge2.setRelationshipType("LIKES");
edge2.setSource(10L);
edge2.setDestination(20L);

assertNotEquals(edge1, edge2);
}

@Test
public void testEqualsWithDifferentSource() {
Edge edge1 = new Edge();
edge1.setRelationshipType("KNOWS");
edge1.setSource(10L);
edge1.setDestination(20L);

Edge edge2 = new Edge();
edge2.setRelationshipType("KNOWS");
edge2.setSource(15L);
edge2.setDestination(20L);

assertNotEquals(edge1, edge2);
}

@Test
public void testEqualsWithDifferentDestination() {
Edge edge1 = new Edge();
edge1.setRelationshipType("KNOWS");
edge1.setSource(10L);
edge1.setDestination(20L);

Edge edge2 = new Edge();
edge2.setRelationshipType("KNOWS");
edge2.setSource(10L);
edge2.setDestination(25L);

assertNotEquals(edge1, edge2);
}

@Test
public void testEqualsWithNull() {
Edge edge = new Edge();
assertNotEquals(edge, null);
}

@Test
public void testEqualsWithDifferentType() {
Edge edge = new Edge();
assertNotEquals(edge, "some string");
}

@Test
public void testHashCode() {
Edge edge1 = new Edge();
edge1.setId(1);
edge1.setRelationshipType("KNOWS");
edge1.setSource(10L);
edge1.setDestination(20L);

Edge edge2 = new Edge();
edge2.setId(1);
edge2.setRelationshipType("KNOWS");
edge2.setSource(10L);
edge2.setDestination(20L);

assertEquals(edge1.hashCode(), edge2.hashCode());
}

@Test
public void testToString() {
Edge edge = new Edge();
edge.setId(1);
edge.setRelationshipType("KNOWS");
edge.setSource(10L);
edge.setDestination(20L);
edge.addProperty("weight", 1.5);

String result = edge.toString();

assertTrue(result.contains("Edge{"));
assertTrue(result.contains("relationshipType="));
assertTrue(result.contains("source="));
assertTrue(result.contains("destination="));
assertTrue(result.contains("id="));
assertTrue(result.contains("propertyMap="));
}

@Test
public void testToStringEmptyEdge() {
Edge edge = new Edge();
String result = edge.toString();

assertNotNull(result);
assertTrue(result.contains("Edge{"));
}
}
Loading
Loading