def test_is_colliding_with(self):
        a = Rectangle(10, 10, 10, 10)
        r_list = [
            Rectangle(0, 0, 4, 4),
            Rectangle(12, 0, 4, 4),
            Rectangle(22, 0, 4, 4),

            Rectangle(0, 12, 4, 4),
            Rectangle(22, 12, 4, 4),

            Rectangle(0, 22, 4, 4),
            Rectangle(12, 22, 4, 4),
            Rectangle(22, 22, 4, 4),
        ]
        for b in r_list:
            self.assertFalse(a.is_colliding_with(b))
            self.assertFalse(b.is_colliding_with(a))

        r_list = [
            Rectangle( 8, 8, 4, 4),
            Rectangle(12, 8, 4, 4),
            Rectangle(18, 8, 4, 4),

            Rectangle( 8, 12, 4, 4),
            Rectangle(12, 12, 4, 4),
            Rectangle(18, 12, 4, 4),

            Rectangle( 8, 18, 4, 4),
            Rectangle(12, 18, 4, 4),
            Rectangle(18, 18, 4, 4),
        ]
        for b in r_list:
            self.assertTrue(a.is_colliding_with(b))
            self.assertTrue(b.is_colliding_with(a))
    def test_is_colliding_with2(self):
        a = Rectangle(10, 10, 10, 10)
        r_list = [
            Rectangle(0, 8, 30, 4),
            Rectangle(0, 12, 30, 6),
            Rectangle(0, 18, 30, 6),

            Rectangle(8,  0, 4, 30),
            Rectangle(12, 0, 6, 30),
            Rectangle(18, 0, 6, 30),
        ]
        for b in r_list:
            self.assertTrue(a.is_colliding_with(b), repr(a) + " is not colliding with " + repr(b))
            self.assertTrue(b.is_colliding_with(a), repr(b) + " is not colliding with " + repr(a))