29 lines
767 B
Go
29 lines
767 B
Go
|
package main
|
|||
|
|
|||
|
import "testing"
|
|||
|
|
|||
|
func _test_NumberOfAtoms(t *testing.T, input, expected string) {
|
|||
|
result := countOfAtoms(input)
|
|||
|
if result != expected {
|
|||
|
t.Errorf("Expected ‹%s› for ‹%s›, but got: ‹%s›!", expected, input, result)
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
func Test_NumberOfAtoms_Easy(t *testing.T) {
|
|||
|
_test_NumberOfAtoms(t, "H2", "H2")
|
|||
|
_test_NumberOfAtoms(t, "O2", "O2")
|
|||
|
_test_NumberOfAtoms(t, "HO", "HO")
|
|||
|
_test_NumberOfAtoms(t, "H2O", "H2O")
|
|||
|
_test_NumberOfAtoms(t, "H2SO4", "H2O4S")
|
|||
|
}
|
|||
|
|
|||
|
func Test_NumberOfAtoms_Medium(t *testing.T) {
|
|||
|
_test_NumberOfAtoms(t, "Mg(OH)2", "H2MgO2")
|
|||
|
_test_NumberOfAtoms(t, "C6H5OH", "C6H6O")
|
|||
|
_test_NumberOfAtoms(t, "C6H5CH3", "C7H8")
|
|||
|
}
|
|||
|
|
|||
|
func Test_NumberOfAtoms_Hard(t *testing.T) {
|
|||
|
_test_NumberOfAtoms(t, "K4(ON(SO3)2)2", "K4N2O14S4")
|
|||
|
}
|