Skip to content
This repository was archived by the owner on Jun 18, 2026. It is now read-only.

Commit 707c8cc

Browse files
docs: refresh test/source counts and untested-class list
Several docs had counts that drifted years out of date. Verified against the working tree on master at this run: - Production source classes (src/gvisual + src/app, non-test): 175 (was 145/158) - Analyzer classes (*Analyzer.java): 58 (was 57) - Test classes under Gvisual/test/ (Surefire's testSourceDirectory): 133 = 129 gvisual + 4 app (docs variously said 66/100/106/116) - @test methods across those classes: ~4,640 (docs said 2,100 / 2,500) Files updated: README.md (badge, intro, two summary lines), TESTING.md (metrics table + directory tree + Classes Without Tests list), CONTRIBUTING.md (intro line + tree + summary), ARCHITECTURE.md (tree + summary). Also refreshed TESTING.md's Classes Without Tests section: the old list of 40 included 12 classes that have since gained dedicated tests (AdjacencyListExporter, DimacsExporter, NetworkFlowExporter, GraphComplementAnalyzer, GraphDegreeSequenceRandomizer, GraphHealthChecker, GraphMotifFinder, GraphProductCalculator, AnalysisResult, EdgeType, QuadTree, RandomGraphGenerator). New count is 28, and a note points contributors at the skeleton tests still sitting in Gvisual/src/test/.
1 parent 2ef88b0 commit 707c8cc

4 files changed

Lines changed: 21 additions & 18 deletions

File tree

ARCHITECTURE.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,8 @@ GraphVisual/
2323
│ │ ├── addLocation.java # WiFi-based meeting location classification
2424
│ │ └── matchImei.java # Device → IMEI mapping
2525
│ ├── test/
26-
│ │ ├── gvisual/ # 66 test classes (~2100+ tests total)
27-
│ │ └── app/ # Pipeline utility tests (2 test classes)
26+
│ │ ├── gvisual/ # 129 test classes (~4,640+ tests total)
27+
│ │ └── app/ # Pipeline utility tests (4 test classes)
2828
│ ├── lib/ # JUNG 2.0.1, PostgreSQL JDBC, Java3D, Commons IO
2929
│ └── images/ # UI icons (play, pause, stop, legend colors)
3030
├── pom.xml # Maven build (Java 11+, shade plugin for fat JAR)
@@ -194,7 +194,7 @@ See [DATABASE.md](DATABASE.md) for full schema documentation.
194194

195195
## Testing
196196

197-
68 test classes with ~2100+ tests covering all analyzers, utilities, and security:
197+
133 test classes with ~4,640+ tests covering all analyzers, utilities, and security:
198198

199199
| Test Class | Tests | Covers |
200200
|------------|-------|--------|

CONTRIBUTING.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# Contributing to GraphVisual
22

3-
Thanks for your interest in contributing! GraphVisual is a large-scale graph theory toolkit with 158 source files, 116 test classes, and 74 documentation pages. This guide will help you navigate the codebase and contribute effectively.
3+
Thanks for your interest in contributing! GraphVisual is a large-scale graph theory toolkit with 175 source files, 133 test classes, and 74 documentation pages. This guide will help you navigate the codebase and contribute effectively.
44

55
## Table of Contents
66

@@ -90,7 +90,7 @@ GraphVisual/
9090
│ │ ├── gvisual/ # 158 source files — core library
9191
│ │ └── app/ # Data pipeline (DB → edge-list)
9292
│ ├── test/
93-
│ │ ├── gvisual/ # 116 test classes
93+
│ │ ├── gvisual/ # 129 test classes
9494
│ │ └── app/ # Pipeline utility tests
9595
│ ├── lib/ # JUNG 2.0.1, PostgreSQL JDBC, Commons IO
9696
│ └── images/ # UI icons and legend assets
@@ -335,7 +335,7 @@ java -cp "build/classes:build/test/classes:$(find lib -name '*.jar' | tr '\n' ':
335335
# Run all tests (use a test runner or list all test classes)
336336
```
337337

338-
The test suite has **116 test classes** covering most analyzers and exporters. CI runs a subset against JDK 11 and 17 — see `.github/workflows/ci.yml` for the canonical list.
338+
The test suite has **133 test classes** (~4,640+ `@Test` methods) covering most analyzers and exporters. CI runs a subset against JDK 11 and 17 — see `.github/workflows/ci.yml` for the canonical list.
339339

340340
### Docker
341341

README.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ Built with Java and [JUNG](http://jung.sourceforge.net/) (Java Universal Network
2424
[![57 Analyzers](https://img.shields.io/badge/Analyzers-57-blueviolet)](ALGORITHMS.md)
2525
[![Publish](https://github.com/sauravbhattacharya001/GraphVisual/actions/workflows/publish.yml/badge.svg)](https://github.com/sauravbhattacharya001/GraphVisual/actions/workflows/publish.yml)
2626
[![Dependabot](https://img.shields.io/badge/Dependabot-enabled-025E8C?logo=dependabot)](https://github.com/sauravbhattacharya001/GraphVisual/blob/master/.github/dependabot.yml)
27-
[![2500+ Tests](https://img.shields.io/badge/Tests-2500%2B-brightgreen)](Gvisual/test/)
27+
[![4,600+ Tests](https://img.shields.io/badge/Tests-4600%2B-brightgreen)](Gvisual/test/)
2828
[![Platform](https://img.shields.io/badge/Platform-Windows%20%7C%20macOS%20%7C%20Linux-informational)](https://github.com/sauravbhattacharya001/GraphVisual)
2929
[![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg)](https://github.com/sauravbhattacharya001/GraphVisual/pulls)
3030
[![Maintained](https://img.shields.io/badge/Maintained-yes-green.svg)](https://github.com/sauravbhattacharya001/GraphVisual/commits/master)
@@ -66,7 +66,7 @@ The tool was developed for research on **social network analysis** — specifica
6666

6767
## Architecture
6868

69-
GraphVisual consists of 145 source classes (~55,000+ lines of production code, 100,000+ total with tests), 57 graph analyzers, and a Bluetooth-to-graph data pipeline. See **[ARCHITECTURE.md](ARCHITECTURE.md)**, **[ALGORITHMS.md](ALGORITHMS.md)**, and **[TESTING.md](TESTING.md)** for full details including the analyzer reference table, design patterns, dependency map, and testing guide.
69+
GraphVisual consists of 175 source classes (~55,000+ lines of production code, 100,000+ total with tests), 58 graph analyzers, and a Bluetooth-to-graph data pipeline. See **[ARCHITECTURE.md](ARCHITECTURE.md)**, **[ALGORITHMS.md](ALGORITHMS.md)**, and **[TESTING.md](TESTING.md)** for full details including the analyzer reference table, design patterns, dependency map, and testing guide.
7070

7171
```
7272
Gvisual/src/
@@ -172,7 +172,7 @@ Gvisual/src/
172172
├── Network.java, Util.java, findMeetings.java, addLocation.java, matchImei.java
173173
```
174174

175-
100 test classes with **2,500+ tests** cover all analyzers and utilities.
175+
133 test classes with **4,600+ tests** cover all analyzers and utilities.
176176

177177
## Requirements
178178

@@ -277,7 +277,7 @@ All thresholds are adjustable at runtime via the Category Panel sliders.
277277

278278
## Testing
279279

280-
The test suite includes **106 test classes** with **2,100+ tests** covering analyzers, exporters, layouts, and utilities.
280+
The test suite includes **133 test classes** with **4,600+ tests** covering analyzers, exporters, layouts, and utilities.
281281

282282
```bash
283283
# Run all tests

TESTING.md

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,8 @@ mvn test -Dsurefire.useFile=false
2525

2626
| Metric | Value |
2727
|--------|-------|
28-
| Test classes | 106 (+ 2 in `app/`) |
29-
| Total tests | ~2,100+ |
28+
| Test classes | 129 (+ 4 in `app/`) |
29+
| Total tests | ~4,640+ (`@Test` methods) |
3030
| Framework | JUnit 4 |
3131
| Source directory | `Gvisual/test/` |
3232
| Coverage areas | Analyzers, exporters, layouts, utilities, GUI controllers |
@@ -41,13 +41,14 @@ The tests are configured via Maven Surefire in `pom.xml`:
4141

4242
```
4343
Gvisual/test/
44-
├── gvisual/ # 106 test classes for core library
44+
├── gvisual/ # 129 test classes for core library
4545
│ ├── ArticulationPointAnalyzerTest.java
4646
│ ├── BipartiteAnalyzerTest.java
4747
│ ├── ...
4848
│ └── TopologicalSortAnalyzerTest.java
49-
└── app/ # 2 test classes for data pipeline
49+
└── app/ # 4 test classes for data pipeline
5050
├── ThresholdConfigTest.java
51+
├── UtilMethodsTest.java
5152
└── UtilTest.java
5253
```
5354

@@ -127,15 +128,17 @@ public void testSummaryNotEmpty() {
127128

128129
## Classes Without Tests
129130

130-
The following 40 source classes in `gvisual/` do not have dedicated test classes. Contributions welcome:
131+
The following 28 source classes in `gvisual/` do not yet have dedicated test classes in `Gvisual/test/gvisual/`. Contributions welcome:
131132

132-
**Exporters:** `AdjacencyListExporter`, `CentralityRadarExporter`, `DimacsExporter`, `GraphDiffHtmlExporter`, `GraphMatrixExporter`, `GraphStorytellerExporter`, `GraphTimelineExporter`, `NetworkFlowExporter`, `TikzExporter`
133+
**Exporters:** `CentralityRadarExporter`, `GraphDiffHtmlExporter`, `GraphMatrixExporter`, `GraphStorytellerExporter`, `GraphTimelineExporter`, `TikzExporter`
133134

134135
**GUI Controllers:** `ArticulationPanelController`, `CentralityPanelController`, `CommunityPanelController`, `EgoPanelController`, `ExportActions`, `MSTPanelController`, `PathPanelController`, `ResiliencePanelController`, `StatsPanel`, `ToolbarBuilder`, `Main`, `RandomGraphDialog`
135136

136-
**Analyzers:** `GraphComplementAnalyzer`, `GraphCompressor`, `GraphDegreeSequenceRandomizer`, `GraphDrawingQualityAnalyzer`, `GraphHealthChecker`, `GraphLayoutComparer`, `GraphMotifFinder`, `GraphProductCalculator`, `GraphRegularityAnalyzer`, `GraphSpectrumAnalyzer`, `GraphStatsDashboard`, `GraphVoronoiPartitioner`
137+
**Analyzers:** `GraphCompressor`, `GraphDrawingQualityAnalyzer`, `GraphLayoutComparer`, `GraphRegularityAnalyzer`, `GraphSpectrumAnalyzer`, `GraphStatsDashboard`, `GraphVoronoiPartitioner`
137138

138-
**Utilities/Models:** `AdjacencyMatrixHeatmap`, `AnalysisResult`, `EdgeType`, `GraphRenderers`, `QuadTree`, `RandomGraphGenerator`, `SpectralLayout`
139+
**Utilities/Models:** `AdjacencyMatrixHeatmap`, `GraphRenderers`, `SpectralLayout`
140+
141+
> Some of these classes also have skeleton tests under `Gvisual/src/test/gvisual/` that are not yet wired into the Surefire test source tree (`Gvisual/test/`). Promoting those into `Gvisual/test/gvisual/` (and fixing any drift against the current production APIs) is a good first contribution.
139142
140143
## Writing New Tests
141144

0 commit comments

Comments
 (0)