    @Test
    public void should_Implement_Proper_Reference_Equality() {

        SchemaRegistration registration1 = SchemaRegistration.create(discovery, options, record, definition, null);
        assertEquals(registration1, registration1);
        assertNotEquals(registration1, "test");

        SchemaRegistration registration2 = SchemaRegistration.create(discovery,
                new ServiceDiscoveryOptions(options).setName("theOtherDiscovery"), record, definition, null);
        assertNotEquals(registration1, registration2);

        SchemaRegistration registration3 = SchemaRegistration.create(discovery,
                new ServiceDiscoveryOptions(options).setName("theOtherDiscovery"), record, definition, consumer);
        assertNotEquals(registration2, registration3);

        SchemaDefinition starwarsSchema = SchemaDefinition
                .createInstance(starWarsSchema, SchemaMetadata.create());
        SchemaRegistration registration4 = SchemaRegistration.create(discovery, options, record, starwarsSchema, null);
        assertNotEquals(registration1, registration4);

        SchemaRegistration registration5 = SchemaRegistration.
                create(discovery, options, new Record(record).setName("theOtherRecord"), starwarsSchema, null);
        assertNotEquals(registration4, registration5);

        SchemaRegistration registration6 = SchemaRegistration.
                create(discovery, options, new Record(record).setStatus(Status.DOWN), starwarsSchema, null);
        assertEquals(registration4, registration6);
    }