Beispiel #1
0
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")
	}
}
Beispiel #2
0
func TestShouldBeEqualIfSameNumeral(t *testing.T) {
	a, _ := roman.NewNumeral("I")
	b, _ := roman.NewNumeral("I")
	if a.Equals(b) == false {
		t.Fatal("Not same value as")
	}
}
Beispiel #3
0
func TestShouldBeEqualIfIntegerEquivalent(t *testing.T) {
	a, _ := roman.NewNumeral(5)
	b, _ := roman.NewNumeral("V")
	if a.Equals(b) == false {
		t.Fatal("Not same value as")
	}
}
Beispiel #4
0
func ExampleEquals_Numeral() {
	a, _ := roman.NewNumeral(5)
	b, _ := roman.NewNumeral("V")

	fmt.Println(a.Equals(b))
	// Output: true
}
Beispiel #5
0
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")
	}
}
Beispiel #6
0
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())
		}
	}
}
Beispiel #7
0
func TestShouldntAcceptInvalidString(t *testing.T) {
	_, err := roman.NewNumeral("B")
	if err == nil {
		t.Fatal("We expected an error with A")
	}
}
Beispiel #8
0
func ExampleString_Numeral() {
	numeral, _ := roman.NewNumeral(5)
	fmt.Println(numeral.String())
	// Output: V
}