Android Studio 3.4
Вот мой xml:
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/binContainer"
android:layout_width="0dp"
android:layout_height="0dp"
android:layout_marginStart="@dimen/half_default_margin"
android:layout_marginTop="@dimen/default_margin"
android:layout_marginBottom="@dimen/half_default_margin"
android:background="@{item.binance_pseudo_wallet.micro_wallet.inTrade ? @color/wallet_in_trade_color : @color/wallet_not_in_trade_color}"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@+id/bitContainer"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent">
<TextView
android:id="@+id/binanceTextView"
style="@style/valueTextViewStyle"
android:layout_width="0dp"
android:layout_height="@dimen/min_height"
android:background="@color/mcgpalette0_100"
android:gravity="center"
android:text="@string/binance"
android:textAllCaps="true"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.5"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="@+id/binInTradeLabelTextView"
style="@style/labelTextViewStyle"
android:layout_width="@dimen/wallet_label_width"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/quarter_default_margin"
android:text="@string/in_trade"
app:layout_constraintBottom_toBottomOf="@+id/binInTradeValueTextView"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="@+id/binInTradeValueTextView" />
<TextView
android:id="@+id/binInTradeValueTextView"
style="@style/valueTextViewValueStyle"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/half_default_margin"
android:layout_marginTop="@dimen/half_default_margin"
android:gravity="start"
android:text="@{String.valueOf(item.binance_pseudo_wallet.micro_wallet.inTrade)}"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@+id/binInTradeLabelTextView"
app:layout_constraintTop_toBottomOf="@+id/binanceTextView" />
Я хочу проверить гравитацию на binanceTextView и на binInTradeValueTextView .
Здесь пользовательский сопоставитель:
fun withTextViewGravity(expectedValue: Int): Matcher<View> {
return object : BoundedMatcher<View, TextView>(TextView::class.java) {
override fun matchesSafely(textView: TextView): Boolean {
val currentGravity = textView.gravity
return currentGravity == expectedValue
}
override fun describeTo(description: Description) {
description.appendText("with gravity: ")
description.appendValue(expectedValue)
}
}
}
Тест Эспрессо для binanceTextView
@Test
fun binance_gravity() {
onView(withId(R.id.binanceTextView))
.check(matches(withTextViewGravity(Gravity.CENTER)))
}
Пройденный тест, потому что currentGravity и Ожидаемое значение = 17 .В результате соответствует Безопасно возвращает true
.
Хорошо.
Теперь я хочу проверить binInTradeValueTextView
@Test
fun binInTradeValue_gravity() {
onView(withId(R.id.binInTradeValueTextView))
.check(matches(withTextViewGravity(Gravity.START)))
}
Ноэтот тест не пройден.Потому что: currentGravity = 8388659
и Ожидаемое значение = 8388611
Почему currentGravity и Ожидаемое значение не равны