Assert.java 文件源码

java
阅读 31 收藏 0 点赞 0 评论 0

项目:itsnat_droid 作者:
private static void assertEqualsDrawableContainer(DrawableContainer a,DrawableContainer b)
{
    assertEqualsDrawable(a, b);

    Drawable.ConstantState a_state = a.getConstantState();
    Drawable.ConstantState b_state = b.getConstantState();

    // <item>

    // android:drawable (o child element drawable)
    Class classState = TestUtil.resolveClass(DrawableContainer.class.getName() + "$DrawableContainerState");

    Drawable[] a_drawables = (Drawable[])TestUtil.getField(a_state, classState, "mDrawables");
    Drawable[] b_drawables = (Drawable[])TestUtil.getField(b_state, classState, "mDrawables");
    assertEquals(a_drawables.length,b_drawables.length);
    for(int i = 0; i < a_drawables.length; i++)
    {
        // No se porqué a veces no coinciden en número de imágenes en a (el compilado) hay más que en b, al menos chequeamos que los comunes coinciden (los índices con data en b deben coincidir con el dato en a)
        if (a_drawables[i] != null && b_drawables[i] != null)
                assertEquals(a_drawables[i], b_drawables[i]);
        /*
        Falla curiosamente cuando se testea dos veces, el compilado CAMBIA
        if (b_drawables[i] != null && a_drawables[i] == null) // Si b (dinámico) está definido DEBE estarlo a (compilado)
                assertTrue(false);
                */
    }
}
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号