@Test
public void twoTechnicalEqualThingInstancesAreDetectedAsEqual() {

    Thing thingA = ThingBuilder.create(THING_TYPE_UID, THING_UID)
            .withChannels(
                    ChannelBuilder.create(new ChannelUID("binding:type:thingId:channel1"), "itemType").build(),
                    ChannelBuilder.create(new ChannelUID("binding:type:thingId:channel2"), "itemType").build())
            .withConfiguration(new Configuration()).build();
    thingA.getConfiguration().put("prop1", "value1");
    thingA.getConfiguration().put("prop2", "value2");
    assertTrue(ThingHelper.equals(thingA, thingA));
    Thing thingB = ThingBuilder.create(THING_TYPE_UID, THING_UID)
            .withChannels(
                    ChannelBuilder.create(new ChannelUID("binding:type:thingId:channel2"), "itemType").build(),
                    ChannelBuilder.create(new ChannelUID("binding:type:thingId:channel1"), "itemType").build())
            .withConfiguration(new Configuration()).build();
    thingB.getConfiguration().put("prop2", "value2");
    thingB.getConfiguration().put("prop1", "value1");
    assertTrue(ThingHelper.equals(thingA, thingB));
}