package filetree // TODO: rewrite this to be weighted by file size // func TestEfficencyMap(t *testing.T) { // trees := make([]*FileTree, 3) // for ix, _ := range trees { // tree := NewFileTree() // tree.AddPath("/etc/nginx/nginx.conf", FileInfo{}) // tree.AddPath("/etc/nginx/public", FileInfo{}) // trees[ix] = tree // } // var expectedMap = map[string]int{ // "/etc/nginx/nginx.conf": 3, // "/etc/nginx/public": 3, // } // actualMap := EfficiencyMap(trees) // if !reflect.DeepEqual(expectedMap, actualMap) { // t.Fatalf("Expected %v but go %v", expectedMap, actualMap) // } // } // // func TestEfficiencyScore(t *testing.T) { // trees := make([]*FileTree, 3) // for ix, _ := range trees { // tree := NewFileTree() // tree.AddPath("/etc/nginx/nginx.conf", FileInfo{}) // tree.AddPath("/etc/nginx/public", FileInfo{}) // trees[ix] = tree // } // expected := 2.0 / 6.0 // actual := CalculateEfficiency(trees) // if math.Abs(expected-actual) > 0.0001 { // t.Fatalf("Expected %f but got %f", expected, actual) // } // // trees = make([]*FileTree, 1) // for ix, _ := range trees { // tree := NewFileTree() // tree.AddPath("/etc/nginx/nginx.conf", FileInfo{}) // tree.AddPath("/etc/nginx/public", FileInfo{}) // trees[ix] = tree // } // expected = 1.0 // actual = CalculateEfficiency(trees) // if math.Abs(expected-actual) > 0.0001 { // t.Fatalf("Expected %f but got %f", expected, actual) // } // }