feat: Update testing documentation and introduce comprehensive report for IPSExtractor campaign. Add sections for executive summary, objectives, environment details, and methodology. Enhance README with compilation instructions and data sources for metrics analysis.
This commit is contained in:
+44
@@ -0,0 +1,44 @@
|
||||
package pipeline
|
||||
|
||||
import "testing"
|
||||
|
||||
func TestExtractRowFeaturesHeaderKeyword(t *testing.T) {
|
||||
group := []indexedBox{
|
||||
{Text: "FACTURA", X: 10, Y: 50, Cluster: 0},
|
||||
{Text: "NIT", X: 100, Y: 50, Cluster: 0},
|
||||
{Text: "123", X: 200, Y: 50, Cluster: 0},
|
||||
}
|
||||
row := extractRowFeatures(group, 1000, 2000)
|
||||
if row.Features[3] != 1 {
|
||||
t.Fatalf("has_header_keyword = %v, want 1", row.Features[3])
|
||||
}
|
||||
}
|
||||
|
||||
func TestExtractRowFeaturesServiceCode(t *testing.T) {
|
||||
group := []indexedBox{
|
||||
{Text: "AB12", X: 10, Y: 100, Cluster: 0},
|
||||
{Text: "CONSULTA", X: 80, Y: 100, Cluster: 0},
|
||||
}
|
||||
row := extractRowFeatures(group, 1000, 2000)
|
||||
if row.Features[1] != 1 {
|
||||
t.Fatalf("first_token_is_service_code = %v, want 1", row.Features[1])
|
||||
}
|
||||
}
|
||||
|
||||
func TestBuildFeatureRowsEmpty(t *testing.T) {
|
||||
rows := buildFeatureRows(nil, 1000, 2000)
|
||||
if len(rows) != 0 {
|
||||
t.Fatalf("rows = %d, want 0", len(rows))
|
||||
}
|
||||
}
|
||||
|
||||
func TestExtractRowFeaturesNoTablePattern(t *testing.T) {
|
||||
group := []indexedBox{
|
||||
{Text: "TEXTO", X: 10, Y: 100, Cluster: 0},
|
||||
{Text: "LIBRE", X: 80, Y: 100, Cluster: 0},
|
||||
}
|
||||
row := extractRowFeatures(group, 1000, 2000)
|
||||
if row.Features[2] != 0 {
|
||||
t.Fatalf("has_service_table_pattern = %v, want 0", row.Features[2])
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user