def test_and_merge_2(self):
        result1 = SingleResult();
        result1.get_search_unit(0);
        result1.get_search_unit(1);

        result2 = SingleResult();
        result2.get_search_unit(2);

        result3 = result1.merge(result2);

        self.assertEqual(0, len(result3))
    def test_or_merge(self):
        result1 = SingleResult();
        result1.get_search_unit(0);
        result1.get_search_unit(1);

        result2 = SingleResult();
        result2.get_search_unit(0);
        result2.get_search_unit(2);
        result2.OR = True;

        result3 = result1.merge(result2);

        self.assertEqual(3, len(result3))
    def test_not_merge(self):
        result1 = SingleResult();
        result1.get_search_unit(0);
        result1.get_search_unit(1);
        result1.get_search_unit(2);

        result2 = SingleResult();
        result2.get_search_unit(0);
        result2.get_search_unit(2);
        result2.NOT = True;

        result3 = result1.merge(result2);
        print(result3)
        self.assertEqual(1, len(result3))