Asset { @Override public abstract boolean equals(Object object); Asset(); static Asset createNonNativeAsset(String code, KeyPair issuer); static Asset fromXdr(kin.base.xdr.Asset xdr); abstract String getType(); @Override abstract boolean equals(Object object); abstract kin.base.xdr.Asset toXdr();  }
@Test public void testAssetEquals() { KeyPair issuer1 = KeyPair.random(); KeyPair issuer2 = KeyPair.random(); assertTrue(new AssetTypeNative().equals(new AssetTypeNative())); assertTrue(new AssetTypeCreditAlphaNum4("USD", issuer1).equals(new AssetTypeCreditAlphaNum4("USD", issuer1))); assertTrue(new AssetTypeCreditAlphaNum12("ABCDE", issuer1).equals(new AssetTypeCreditAlphaNum12("ABCDE", issuer1))); assertFalse(new AssetTypeNative().equals(new AssetTypeCreditAlphaNum4("USD", issuer1))); assertFalse(new AssetTypeNative().equals(new AssetTypeCreditAlphaNum12("ABCDE", issuer1))); assertFalse(new AssetTypeCreditAlphaNum4("EUR", issuer1).equals(new AssetTypeCreditAlphaNum4("USD", issuer1))); assertFalse(new AssetTypeCreditAlphaNum4("EUR", issuer1).equals(new AssetTypeCreditAlphaNum4("EUR", issuer2))); assertFalse(new AssetTypeCreditAlphaNum12("ABCDE", issuer1).equals(new AssetTypeCreditAlphaNum12("EDCBA", issuer1))); assertFalse(new AssetTypeCreditAlphaNum12("ABCDE", issuer1).equals(new AssetTypeCreditAlphaNum12("ABCDE", issuer2))); }