Files
povtornyy-ekzamen-graf-s-re…/tests/graph.test.js
T

39 lines
898 B
JavaScript

import Graph from '../src/graph.js';
describe('Graph', () => {
test('should add nodes and edges correctly', () => {
const g = new Graph();
g.addNode('x');
g.addNode('y');
g.addEdge('x', 'y');
expect(g.hasEdge('x', 'y')).toBe(true);
expect(g.hasEdge('y', 'x')).toBe(false);
});
test('reflexive should add self loops', () => {
const g = new Graph();
g.addNode('x');
g.addNode('y');
g.addEdge('x', 'y');
g.reflexive();
expect(g.hasEdge('x', 'x')).toBe(true);
expect(g.hasEdge('y', 'y')).toBe(true);
});
test('getAdjacencyList returns correct structure', () => {
const g = new Graph();
g.addNode('x');
g.addNode('y');
g.addEdge('x', 'y');
g.reflexive();
const adj = g.getAdjacencyList();
expect(adj['x']).toContain('y');
expect(adj['x']).toContain('x');
expect(adj['y']).toContain('y');
});
});