def test_find__multiple_results(self):
        lookup_fields = ('arg1',)
        cache = ObjectCache(lookup_fields)
        obj1 = MyClass(1, 2)
        obj2 = MyClass(1, 3)

        cache.add(obj1)
        cache.add(obj2)

        with self.assertRaises(cache.multiple_objects_error):
            cache.find(1)
    def test_find__not_found(self):
        lookup_fields = ('arg1',)
        cache = ObjectCache(lookup_fields)
        obj = MyClass(1, 2)

        cache.add(obj)
        result = cache.find(2)

        self.assertIsNone(result)
    def test_find(self):
        lookup_fields = ('arg1',)
        cache = ObjectCache(lookup_fields)
        obj = MyClass(1, 2)

        cache.add(obj)
        result = cache.find(1)

        self.assertEqual(obj, result)