rearrange modify

This commit is contained in:
YiChin2018
2019-06-05 12:06:23 +08:00
parent 3ed3ab3d3a
commit 727c9f818b
3 changed files with 96 additions and 74 deletions
+11 -11
View File
@@ -29,7 +29,7 @@ def rearrange_channel_mux_table(channel_table: List[bool]) -> Optional[List[int]
return channel_mux
next_enable_channel = last_enable_channel
channel_mux_index = last_enable_channel
channel_mux_index = last_enable_channel - 1
channel_mux[channel_mux_index] = last_enable_channel
channel_mux_index -= 1
@@ -51,7 +51,7 @@ def rearrange_channel_mux_table(channel_table: List[bool]) -> Optional[List[int]
channel_mux[channel_mux_index] = next_enable_channel
channel_mux_index -= 1
offset = last_enable_channel - channel_mux_index
offset = last_enable_channel - channel_mux_index -1
while channel_mux_index >= 0:
channel_mux[channel_mux_index] = channel_mux[channel_mux_index + offset]
@@ -73,31 +73,31 @@ class UniRearrangeMuxChannelTest(unittest.TestCase):
self.assertEqual(expect, rearrange_channel_mux_table(to_channel_table(c)))
def test_two_channel(self):
self.assertEqual([2, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
self.assertEqual([1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
rearrange_channel_mux_table(to_channel_table(1, 2)))
self.assertEqual([2, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
self.assertEqual([1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
rearrange_channel_mux_table(to_channel_table(2, 1)))
self.assertEqual([3, 7, 2, 3, 7, 2, 3, 7, 0, 0, 0, 0, 0, 0, 0, 0],
self.assertEqual([7, 2, 3, 7, 2, 3, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0],
rearrange_channel_mux_table(to_channel_table(7, 3, 2)))
def test_many_channel(self):
self.assertEqual([5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ],
rearrange_channel_mux_table(to_channel_table(5)))
self.assertEqual([2, 5, 2, 5, 2, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ],
self.assertEqual([5, 2, 5, 2, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ],
rearrange_channel_mux_table(to_channel_table(2, 5)))
self.assertEqual([1, 3, 5, 1, 3, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ],
self.assertEqual([3, 5, 1, 3, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ],
rearrange_channel_mux_table(to_channel_table(1, 3, 5)))
self.assertEqual([3, 5, 0, 1, 3, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ],
self.assertEqual([5, 0, 1, 3, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ],
rearrange_channel_mux_table(to_channel_table(0, 1, 3, 5)))
self.assertEqual([5, 0, 1, 2, 3, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ],
self.assertEqual([0, 1, 2, 3, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ],
rearrange_channel_mux_table(to_channel_table(0, 1, 2, 3, 5)))
self.assertEqual([0, 1, 2, 3, 4, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ],
rearrange_channel_mux_table(to_channel_table(0, 1, 2, 3, 4, 5)))
self.assertEqual([7, 8, 3, 4, 5, 6, 7, 8, 0, 0, 0, 0, 0, 0, 0, 0, ],
rearrange_channel_mux_table(to_channel_table(3, 4, 5, 6, 7, 8)))
if __name__ == '__main__':