offline-twitter/terminal_utils/formatting_test.go

78 lines
2.6 KiB
Go
Raw Normal View History

2021-07-23 19:59:33 -07:00
package terminal_utils_test
import (
"testing"
"reflect"
"offline_twitter/terminal_utils"
)
func TestWrapParagraph(t *testing.T) {
test_cases := []struct{
Text string
Expected []string
} {
{
"These are public health officials who are making decisions about your lifestyle because they know more about health, fitness and well-being than you do",
[]string{
"These are public health officials who are making decisions",
"about your lifestyle because they know more about health,",
"fitness and well-being than you do",
},
},
{
`Things I learned in law school:`,
[]string{`Things I learned in law school:`},
},
{
`Every student is smarter than you except the ones in your group project.`,
[]string{
`Every student is smarter than you except the ones in your`,
`group project.`,
},
},
}
for _, testcase := range test_cases {
result := terminal_utils.WrapParagraph(testcase.Text, 60)
if !reflect.DeepEqual(result, testcase.Expected) {
t.Errorf("Expected:\n%s\nGot:\n%s\n", testcase.Expected, result)
}
}
}
func TestWrapText(t *testing.T) {
test_cases := []struct{
Text string
Expected string
} {
{
"These are public health officials who are making decisions about your lifestyle because they know more about health, fitness and well-being than you do",
`These are public health officials who are making decisions
about your lifestyle because they know more about health,
fitness and well-being than you do`,
},
{
`Things I learned in law school:
Falling behind early gives you more time to catch up.
Never use a long word when a diminutive one will suffice.
Every student is smarter than you except the ones in your group project.
If you try & fail, doesnt matter. Try again & fail better`,
`Things I learned in law school:
Falling behind early gives you more time to catch up.
Never use a long word when a diminutive one will suffice.
Every student is smarter than you except the ones in your
group project.
If you try & fail, doesnt matter. Try again & fail better`,
},
}
for _, testcase := range test_cases {
result := terminal_utils.WrapText(testcase.Text, 60)
if result != testcase.Expected {
t.Errorf("Expected:\n%s\nGot:\n%s\n", testcase.Expected, result)
}
}
}