Я столкнулся с проблемой при написании тестов для приложения базы данных с помощью JPA2 и EclipseLink:
Я добавляю некоторую сущность в базу данных, извлекаю ее позже и хочу сравнить ее с экземпляром, который имеет значения, которые я ожидаю подтвердить, что добавление работает так, как я и предполагал.
Сначала я написал что-то вроде
assertEquals(expResult, dbResult);
, что не удалось, потому что я не могу действительно знать значение поля id
, которое генерируется базой данных и, следовательно, dbResult
отличается от expResult
, который я создал с помощью new
и заполнял вручную.
Я вижу два варианта:
Либо я удаляю поле id
из равно
и hashCode
, чтобы сравнение основывалось только на «реальных значениях». Я не знаю, вызывает ли это проблемы в базе данных или где-либо еще.
Или я пишу свои тесты, чтобы явно проверить каждое поле, кроме id
вручную.
Что мне делать?
-121--953993-Допустим, у меня есть что-то подобное:
<Grid>
<ListBox x:Name="list"
ItemsSource="{Binding SomeCollection, Mode=TwoWay}"
SelectedItem="{Binding SomeItem, Mode=TwoWay}">
<ListBox.ItemTemplate>
<DataTemplate>
<TextBlock x:Name="first" Text="{Binding SomeProperty}" />
<TextBlock x:Name="second" Text="{Binding OtherProperty}" />
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
</Grid>
Как изменить свойство стиля (f.ex. GroupSize) из только элемента TextBlock с именем «second», когда будет выбран элемент ListAxItem? Если бы я хотел задать для всего содержимого ListAxItem, то у меня не было бы никаких проблем. Этот сценарий достаточно хорошо документирован здесь и в других местах в Интернете.