### Question:
FieldBundle implements SchemaEquality<FieldBundle> { @Override public boolean isSchemaEqual(FieldBundle other) { if (mNonNull != other.mNonNull) return false; if (mColumnName != null ? !mColumnName.equals(other.mColumnName) : other.mColumnName != null) { return false; } return mAffinity != null ? mAffinity.equals(other.mAffinity) : other.mAffinity == null; } FieldBundle(String fieldPath, String columnName, String affinity, boolean nonNull); String getFieldPath(); String getColumnName(); String getAffinity(); boolean isNonNull(); @Override boolean isSchemaEqual(FieldBundle other);  }### Answer:
@Test public void schemaEquality_same_equal() { FieldBundle bundle = new FieldBundle("foo", "foo", "text", false); FieldBundle copy = new FieldBundle("foo", "foo", "text", false); assertThat(bundle.isSchemaEqual(copy), is(true)); }
@Test public void schemaEquality_diffNonNull_notEqual() { FieldBundle bundle = new FieldBundle("foo", "foo", "text", false); FieldBundle copy = new FieldBundle("foo", "foo", "text", true); assertThat(bundle.isSchemaEqual(copy), is(false)); }
@Test public void schemaEquality_diffColumnName_notEqual() { FieldBundle bundle = new FieldBundle("foo", "foo", "text", false); FieldBundle copy = new FieldBundle("foo", "foo2", "text", true); assertThat(bundle.isSchemaEqual(copy), is(false)); }
@Test public void schemaEquality_diffAffinity_notEqual() { FieldBundle bundle = new FieldBundle("foo", "foo", "text", false); FieldBundle copy = new FieldBundle("foo", "foo2", "int", false); assertThat(bundle.isSchemaEqual(copy), is(false)); }
@Test public void schemaEquality_diffPath_equal() { FieldBundle bundle = new FieldBundle("foo", "foo", "text", false); FieldBundle copy = new FieldBundle("foo>bar", "foo", "text", false); assertThat(bundle.isSchemaEqual(copy), is(true)); }