func TestShouldCompareTwoNumeralsAsNotEqual(t *testing.T) { a, _ := roman.NewNumeral("I") b, _ := roman.NewNumeral("X") if a.Equals(b) == true { t.Fatal("Shouldn't be same value") } }
func TestShouldBeEqualIfSameNumeral(t *testing.T) { a, _ := roman.NewNumeral("I") b, _ := roman.NewNumeral("I") if a.Equals(b) == false { t.Fatal("Not same value as") } }
func TestShouldBeEqualIfIntegerEquivalent(t *testing.T) { a, _ := roman.NewNumeral(5) b, _ := roman.NewNumeral("V") if a.Equals(b) == false { t.Fatal("Not same value as") } }
func ExampleEquals_Numeral() { a, _ := roman.NewNumeral(5) b, _ := roman.NewNumeral("V") fmt.Println(a.Equals(b)) // Output: true }
func TestShouldNotBeEqualIfNotNumeral(t *testing.T) { var notNumeral NotNumeral numeral, _ := roman.NewNumeral("I") if numeral.Equals(notNumeral) == true { t.Fatal("Different value object types can not be equal") } }
func TestConvertIntegerToNumeral(t *testing.T) { for _, example := range integerToNumeralTests { n, err := roman.NewNumeral(example.integer) if err != nil { t.Fatal(err) } if n.String() != example.numeral { t.Fatalf("string representation should be %s, was %s", example.numeral, n.String()) } } }
func TestShouldntAcceptInvalidString(t *testing.T) { _, err := roman.NewNumeral("B") if err == nil { t.Fatal("We expected an error with A") } }
func ExampleString_Numeral() { numeral, _ := roman.NewNumeral(5) fmt.Println(numeral.String()) // Output: V }