package reader import ( "log" "testing" ) func TestReadDML(t *testing.T) { d, _ := ReadDML("testdata/datamap.csv") // Test Key values if d[0].Key != "Project/Programme Name" { t.Errorf("d[0].Key = %s; want Project/Programme Name", d[0].Key) } if d[1].Key != "Department" { t.Errorf("d[1].Key = %s; want Department (without a space)", d[1].Key) } if d[2].Key != "Delivery Body" { t.Errorf("d[2].Key = %s; want Delivery Body (without a space)", d[2].Key) } // Test Sheet values if d[0].Sheet != "Introduction" { t.Errorf("d[0].Sheet = %s; want Introduction", d[0].Key) } } func TestNoFileReturnsError(t *testing.T) { // this file does not exist _, err := ReadDML("/home/bobbins.csv") // if we get no error, something has gone wrong if err == nil { t.Errorf("Should have thrown error %s", err) } } func TestBadDMLLine(t *testing.T) { _, err := ReadDML("/home/lemon/code/python/bcompiler-engine/tests/resources/datamap_empty_cols.csv") if err == nil { t.Errorf("No error so test failed.") } } func TestReadXLSX(t *testing.T) { data := ReadXLSX("testdata/test_template.xlsx") if data[0].colL != "A" { t.Errorf("Expected data[0].colL to be A, got %v", data[0].colL) } if data[0].value != "Date:" { t.Errorf("Expected data[0].value to be Date:, got %v", data[0].value) } if data[0].rowLidx != 2 { t.Errorf("Expected data[0].rowLidx to be 2, got %v", data[0].rowLidx) } } func TestAlphaStream(t *testing.T) { if colstream[26] != "AA" { t.Errorf("Expected AA, got %v", colstream[26]) } if len(colstream) > maxCols { t.Errorf(`Number of columns in alphastream exceeds Excel maximum. alphastream contains %d, maxCols is %d`, len(colstream), maxCols) } log.Printf("Length of alphastream: %d", len(colstream)) } func TestAlphaSingle(t *testing.T) { ab := alphabet() if ab[0] != "A" { t.Errorf("Expected A, got %v", ab[0]) } if ab[1] != "B" { t.Errorf("Expected B, got %v", ab[1]) } if ab[25] != "Z" { t.Errorf("Expected Z, got %v", ab[25]) } } func TestAlphas(t *testing.T) { ecs := cols(2) if ecs[0] != "A" { t.Errorf("Expected A, got %v", ecs[0]) } if ecs[25] != "Z" { t.Errorf("Expected Z, got %v", ecs[25]) } if ecs[26] != "AA" { t.Errorf("Expected AA, got %v", ecs[26]) } if ecs[52] != "BA" { t.Errorf("Expected BA, got %v", ecs[52]) } } func TestGetSheetsFromDM(t *testing.T) { slice, _ := ReadDML("testdata/datamap.csv") sheetNames := getSheetNames(slice) if len(sheetNames) != 14 { t.Errorf("Expected 14 sheets in slice, got %d", len(sheetNames)) } } func TestSheetDataInMap(t *testing.T) { // want to see data from a file in this form: // Struct: // filename: test_template.xlsx // data: map[sheetName]sheetData // we want to test ^^^^^^^^^^^^^ }