'When the same set object is reflected twice, behaviour should
be consistent.'

@tag('important')
def test_reflect_same_set(self):

    pyfunc = reflect_dual
    cfunc = jit(nopython=True)(pyfunc)
    pyset = set([1, 2, 3])
    cset = pyset.copy()
    expected = pyfunc(pyset, pyset)
    got = cfunc(cset, cset)
    self.assertPreciseEqual(expected, got)
    self.assertPreciseEqual(pyset, cset)
    self.assertPreciseEqual(sys.getrefcount(pyset), sys.getrefcount(cset))
