Exemplo n.º 1
0
 def test_generate_layout_controllers_with_only_one_line(self):
     test_flowable = Flowable((Mm(9), Mm(11)), Mm(100), Mm(50), Mm(5))
     test_flowable._generate_layout_controllers()
     assert len(test_flowable.layout_controllers) == 1
     assert test_flowable.layout_controllers[0].flowable_x == Mm(0)
     assert test_flowable.layout_controllers[0].pos == Point(Mm(9), Mm(11))
     assert test_flowable.layout_controllers[
         0].page == neoscore.document.pages[0]
Exemplo n.º 2
0
 def test_generate_layout_controllers_with_two_pages(self):
     live_width = neoscore.document.paper.live_width
     test_flowable = Flowable((Mm(0), Mm(0)), live_width * 1.5, Mm(256),
                              Mm(5))
     # Should result in two lines separated by one page break
     test_flowable._generate_layout_controllers()
     assert len(test_flowable.layout_controllers) == 2
     assert test_flowable.layout_controllers[1].flowable_x == live_width
Exemplo n.º 3
0
 def test_generate_layout_controllers_with_many_pages(self):
     live_width = neoscore.document.paper.live_width
     test_flowable = Flowable((Mm(0), Mm(0)), live_width * 3.5, Mm(256),
                              Mm(5))
     test_flowable._generate_layout_controllers()
     assert len(test_flowable.layout_controllers) == 4
     assert test_flowable.layout_controllers[1].flowable_x == live_width
     assert test_flowable.layout_controllers[2].flowable_x == live_width * 2
     assert test_flowable.layout_controllers[3].flowable_x == live_width * 3
Exemplo n.º 4
0
 def test_generate_layout_controllers_with_many_lines(self):
     live_width = neoscore.document.paper.live_width
     test_flowable = Flowable((Mm(0), Mm(0)), live_width * 3.5, Mm(50),
                              Mm(5))
     # Should result in four lines separated by 3 line breaks
     test_flowable._generate_layout_controllers()
     assert len(test_flowable.layout_controllers) == 4
     assert test_flowable.layout_controllers[1].flowable_x == live_width
     assert test_flowable.layout_controllers[2].flowable_x == live_width * 2
     assert test_flowable.layout_controllers[3].flowable_x == live_width * 3
Exemplo n.º 5
0
 def test_generate_layout_controllers_on_new_pages_have_no_padding(self):
     live_width = neoscore.document.paper.live_width
     test_flowable = Flowable((Mm(0), Mm(0)), live_width * 3.5, Mm(1000),
                              Mm(5))
     test_flowable._generate_layout_controllers()
     # Test that every NewLine which is also a page break
     # has no y_padding (is aligned with the top of the live page area)
     current_page = None
     for line in test_flowable.layout_controllers:
         if current_page == line.page:
             continue
         current_page = line.page
         assert line.margin_bottom == Mm(0)
Exemplo n.º 6
0
 def test_generate_layout_controllers_new_lines_have_padding(self):
     live_width = neoscore.document.paper.live_width
     test_flowable = Flowable((Mm(0), Mm(0)), live_width * 3.5, Mm(1000),
                              Mm(5))
     test_flowable._generate_layout_controllers()
     # Test that every NewLine which is not also a page break has the expected
     # y_padding from the flowable
     current_page = None
     for line in test_flowable.layout_controllers:
         if current_page != line.page:
             current_page = line.page
             continue
         assert line.margin_bottom == test_flowable.y_padding
Exemplo n.º 7
0
 def test_init(self):
     test_flowable = Flowable((Mm(10), Mm(11)), Mm(1000), Mm(100), Mm(5))
     assert test_flowable.pos == Point(Mm(10), Mm(11))
     assert test_flowable.x == Mm(10)
     assert test_flowable.y == Mm(11)
     assert test_flowable.length == Mm(1000)
     assert test_flowable.height == Mm(100)
     assert test_flowable.y_padding == Mm(5)
Exemplo n.º 8
0
 def setUp(self):
     neoscore.setup()
     self.flowable = Flowable((Mm(0), Mm(0)), Mm(10000), Mm(30), Mm(5))
     self.staff = Staff((Mm(0), Mm(0)), Mm(5000), self.flowable)
     self.left_parent = MockStaffObject((Mm(0), Mm(0)), self.staff)
     self.right_parent = MockStaffObject((Mm(10), Mm(2)), self.staff)
     self.char = "gClef"
     self.single_repetition_width = MusicText((Mm(0), Mm(0)),
                                              self.char,
                                              self.staff,
                                              scale=2).bounding_rect.width
Exemplo n.º 9
0
 def setUp(self):
     neoscore.setup(Paper(*[Mm(val) for val in [210, 297, 20, 20, 20, 20, 10]]))
     self.flowable = Flowable((Mm(0), Mm(0)), Mm(10000), Mm(30), Mm(5))
     self.staff = Staff((Mm(0), Mm(0)), Mm(5000), self.flowable)
Exemplo n.º 10
0
 def setUp(self):
     neoscore.setup()
     self.flowable = Flowable(Point(Mm(0), Mm(0)), Mm(10000), Mm(100))
     self.staff = Staff(Point(Mm(0), Mm(0)), Mm(100), self.flowable)
     Clef(self.staff, Mm(0), "treble")
Exemplo n.º 11
0
 def setUp(self):
     neoscore.setup()
     self.flowable = Flowable((Mm(0), Mm(0)), Mm(10000), Mm(30), Mm(5))
     self.staff_1 = Staff((Mm(0), Mm(0)), Mm(100), self.flowable)
     self.staff_2 = Staff((Mm(0), Mm(30)), Mm(100), self.flowable)
     self.staff_3 = Staff((Mm(0), Mm(50)), Mm(100), self.flowable)
Exemplo n.º 12
0
 def testdist_to_line_end(self):
     test_flowable = Flowable((Mm(10), Mm(0)), Mm(500), Mm(90), Mm(5))
     assert test_flowable.dist_to_line_end(Mm(170)) == Mm(-140)
     assert test_flowable.dist_to_line_end(Mm(320)) == Mm(-150)
Exemplo n.º 13
0
 def test_self_pos_manipulation(self):
     test_flowable = Flowable((Mm(10), Mm(11)), Mm(1000), Mm(100), Mm(5))
     test_flowable.x = Mm(20)
     assert test_flowable.pos.x == Mm(20)
     test_flowable.y = Mm(21)
     assert test_flowable.pos.y == Mm(21)
Exemplo n.º 14
0
 def testlast_break_at_raises_out_of_bounds_when_needed(self):
     test_flowable = Flowable((Mm(10), Mm(0)), Mm(10000), Mm(90), Mm(5))
     with pytest.raises(OutOfBoundsError):
         test_flowable.last_break_at(Mm(10000000))
Exemplo n.º 15
0
 def testlast_break_at(self):
     test_flowable = Flowable((Mm(10), Mm(0)), Mm(500), Mm(90), Mm(5))
     assert (test_flowable.last_break_at(
         Mm(140)) == test_flowable.layout_controllers[0])
     assert (test_flowable.last_break_at(
         Mm(180)) == test_flowable.layout_controllers[1])
Exemplo n.º 16
0
 def setUp(self):
     neoscore.setup()
     self.flowable = Flowable((Mm(0), Mm(0)), Mm(10000), Mm(30), Mm(5))
     self.staff = Staff((Mm(0), Mm(0)), Mm(5000), self.flowable)
     self.left_parent = MockStaffObject((Unit(0), Unit(0)), self.staff)
     self.right_parent = MockStaffObject((Unit(10), Unit(2)), self.staff)
Exemplo n.º 17
0
 def setUp(self):
     neoscore.setup()
     self.flowable = Flowable((Mm(0), Mm(0)), Mm(10000), Mm(30), Mm(5))
     self.staff = Staff((Mm(0), Mm(0)), Mm(10000), flowable=self.flowable)
     Clef(self.staff, Mm(0), "treble")
Exemplo n.º 18
0
 def test_x_pos_rel_to_line_start(self):
     test_flowable = Flowable((Mm(10), Mm(0)), Mm(500), Mm(90), Mm(5))
     assert test_flowable.dist_to_line_start(Mm(170)) == Mm(20)
     assert test_flowable.dist_to_line_start(Mm(320)) == Mm(10)