From a33f3a5924544ea1c1fd3f3f3da2bc6354e4f929 Mon Sep 17 00:00:00 2001 From: Andrey Ivanov Date: Sun, 23 Aug 2020 09:02:39 +0300 Subject: [PATCH] HW10 is completed --- hw10_program_optimization/stats.go | 2 +- hw10_program_optimization/stats_test.go | 9 +++++++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/hw10_program_optimization/stats.go b/hw10_program_optimization/stats.go index f4111fc..2fd55d3 100644 --- a/hw10_program_optimization/stats.go +++ b/hw10_program_optimization/stats.go @@ -33,7 +33,7 @@ func GetDomainStat(r io.Reader, domain string) (DomainStat, error) { break } if err = json.Unmarshal(line, &user); err != nil { - return nil, err + return DomainStat{}, err } if strings.Contains(user.Email, "."+domain) { result[strings.ToLower(strings.SplitN(user.Email, "@", 2)[1])]++ diff --git a/hw10_program_optimization/stats_test.go b/hw10_program_optimization/stats_test.go index 48d4df8..ec7ecf7 100644 --- a/hw10_program_optimization/stats_test.go +++ b/hw10_program_optimization/stats_test.go @@ -16,6 +16,9 @@ func TestGetDomainStat(t *testing.T) { {"Id":4,"Name":"Gregory Reid","Username":"tButler","Email":"5Moore@Teklist.net","Phone":"520-04-16","Password":"r639qLNu","Address":"Sunfield Park 20"} {"Id":5,"Name":"Janice Rose","Username":"KeithHart","Email":"nulla@Linktype.com","Phone":"146-91-01","Password":"acSBF5","Address":"Russell Trail 61"}` + dataNeg := `{"Id":1,"Name":"Howard Mendoza","Username":"0Oliver","Email":"aliquid_qui_ea@Brow@sedrive.gov","Phone":"6-866-899-36-79","Password":"InAQJvsq","Address":"Blackbird Place 25" +{"Id":2,"Name":"Jesse Vasquez","Username":"qRichardson","Email":"mLynchbroWsecat.com","Phone":"9-373-949-64-00","Password":"SiZLeNSGn","Address":"Fulton Hill 80"}` + t.Run("find 'com'", func(t *testing.T) { result, err := GetDomainStat(bytes.NewBufferString(data), "com") require.NoError(t, err) @@ -36,4 +39,10 @@ func TestGetDomainStat(t *testing.T) { require.NoError(t, err) require.Equal(t, DomainStat{}, result) }) + + t.Run("Error test", func(t *testing.T) { + result, err := GetDomainStat(bytes.NewBufferString(dataNeg), "unknown") + require.Error(t, err) + require.Equal(t, DomainStat{}, result) + }) }