2014-01-29 3 views
1

у меня есть матрица-структуру и методы пользовательского сравнения:Свободно Assertion пользовательские сравнения с аргументами реф

static bool AlmostEquals(ref Matrix a, ref Matrix b); 
static bool AlmostEquals(ref Matrix a, ref Matrix b, float epsilon); 

Что такое правильный вызов Fluent утверждения, чтобы получить это сравнение на работу?

ответ

2
AlmostEquals(ref a, ref b).Should().BeTrue("because matrices a and b are almost equal"); 
AlmostEquals(ref a, ref b, epsilon).Should().BeTrue("because matrices a and b are almost equal"); 

Вы даже можете добавить информацию о матрицах и эпсилон в сообщение как

AlmostEquals(ref a, ref b, epsilon).Should().BeTrue("because matrices a and b are almost equal with {0} precision", epsilon); 

Может быть, вам нужно будет ввести локальную переменную Ьоо, чтобы сделать работу FluentAssertions (я не установите его) и присвойте ему значение AlmostEquals, а затем запустите утверждение против булевой переменной.