from unittest import TestCase from openslides.motions.models import Motion, MotionChangeRecommendation class MotionChangeRecommendationTest(TestCase): def test_overlapping_line_numbers(self): """ Tests that a change recommendation directly before another one can be created """ motion = Motion() existing_recommendation = MotionChangeRecommendation() existing_recommendation.line_from = 5 existing_recommendation.line_to = 7 existing_recommendation.rejected = False existing_recommendation.motion = motion other_recommendations = [existing_recommendation] new_recommendation1 = MotionChangeRecommendation() new_recommendation1.line_from = 3 new_recommendation1.line_to = 5 collides = new_recommendation1.collides_with_other_recommendation(other_recommendations) self.assertFalse(collides) new_recommendation2 = MotionChangeRecommendation() new_recommendation2.line_from = 3 new_recommendation2.line_to = 6 collides = new_recommendation2.collides_with_other_recommendation(other_recommendations) self.assertTrue(collides) new_recommendation3 = MotionChangeRecommendation() new_recommendation3.line_from = 6 new_recommendation3.line_to = 8 collides = new_recommendation3.collides_with_other_recommendation(other_recommendations) self.assertTrue(collides) new_recommendation4 = MotionChangeRecommendation() new_recommendation4.line_from = 7 new_recommendation4.line_to = 9 collides = new_recommendation4.collides_with_other_recommendation(other_recommendations) self.assertFalse(collides)