Как протестировать Optional?
class CompanyCommandTest {
private val companyId = 3L
private val company = createEmptyCompany(companyId)
@Before
fun setUp() {
setupRxSchedulersForTests()
}
@Test
fun takeFromStorage() {
val storage = mock<CompanyStorage> {
on { getcompany(any()) } doReturn company
}
val command = CompanyCommand(storage)
command.getCompany(companyId).test().assertValue(company.toOptional())
verify(storage).getCompany(companyId)
}
}
В данном тесте ошибка в методе assertValue, ошибка заключается в том, что command.getSurvey(surveyId) не является равным survey.toOptimal. Предполагаю что ошибка в том, что объекты ссылаются на разные участки памяти (хотя поля идентичны). Поправьте меня если не прав и каким образом тестировать такой метод?
createEmptyCompany() - это метод который возвращает объект Company
Метод тест находится в классе Single

Ответы (1 шт):
Так понимаю вопрос в том, как сравнить значения в объекте типа Optional. По сути Optional - является некоторой коробкой предоставляемая стандартной библиотекой, не нужно тестировать сам Optional, необходимо сравнивать значения внутри этой коробки.
observer.test().assertValue { actualValue-> expectedValue.equals(actualValue) }