Skip to content

Commit

Permalink
move test from Friont End Common
Browse files Browse the repository at this point in the history
  • Loading branch information
Christian-B committed May 2, 2024
1 parent 984fd08 commit 68baa18
Showing 1 changed file with 79 additions and 0 deletions.
79 changes: 79 additions & 0 deletions unittests/data/test_data.py
Original file line number Diff line number Diff line change
Expand Up @@ -373,3 +373,82 @@ def test_get_monitors(self):
self.assertEqual(3, PacmanDataView.get_ethernet_monitor_cores())
self.assertEqual(VariableSDRAM(200 + 100 + 55, 10 + 15),
PacmanDataView.get_ethernet_monitor_sdram())

def test_required(self):
writer = PacmanDataWriter.setup()
with self.assertRaises(DataNotYetAvialable):
self.assertIsNone(PacmanDataView.get_n_boards_required())
self.assertFalse(PacmanDataView.has_n_boards_required())
with self.assertRaises(DataNotYetAvialable):
self.assertIsNone(PacmanDataView.get_n_chips_needed())
self.assertFalse(PacmanDataView.has_n_chips_needed())

# required higher than in graph
writer.set_n_required(None, 20)
self.assertFalse(PacmanDataView.has_n_boards_required())
self.assertEqual(20, PacmanDataView.get_n_chips_needed())
writer.set_n_chips_in_graph(15)
self.assertFalse(PacmanDataView.has_n_boards_required())
self.assertEqual(20, PacmanDataView.get_n_chips_needed())

# required higher than in graph
writer.set_n_chips_in_graph(25)
self.assertFalse(PacmanDataView.has_n_boards_required())
self.assertEqual(20, PacmanDataView.get_n_chips_needed())

# reset does not remove required
writer.start_run()
writer.finish_run()
writer.hard_reset()
self.assertFalse(PacmanDataView.has_n_boards_required())
self.assertEqual(20, PacmanDataView.get_n_chips_needed())

writer = PacmanDataWriter.setup()
self.assertFalse(PacmanDataView.has_n_boards_required())
self.assertFalse(PacmanDataView.has_n_chips_needed())

# in graph only
writer.set_n_chips_in_graph(25)
self.assertEqual(25, PacmanDataView.get_n_chips_needed())

# reset clears in graph
writer.start_run()
writer.finish_run()
writer.hard_reset()
self.assertFalse(PacmanDataView.has_n_chips_needed())

# N boards
writer = PacmanDataWriter.setup()
writer.set_n_required(5, None)
self.assertEqual(5, PacmanDataView.get_n_boards_required())
self.assertFalse(PacmanDataView.has_n_chips_needed())

# boards does not hide in graph
writer.set_n_chips_in_graph(40)
self.assertEqual(5, PacmanDataView.get_n_boards_required())
self.assertEqual(40, PacmanDataView.get_n_chips_needed())

# reset does not clear required
writer.start_run()
writer.finish_run()
writer.hard_reset()
self.assertEqual(5, PacmanDataView.get_n_boards_required())
self.assertFalse(PacmanDataView.has_n_chips_needed())

# two Nones fine
writer = PacmanDataWriter.setup()
writer.set_n_required(None, None)
self.assertFalse(PacmanDataView.has_n_boards_required())
self.assertFalse(PacmanDataView.has_n_chips_needed())

# Ilegal calls
with self.assertRaises(ValueError):
writer.set_n_required(5, 5)
with self.assertRaises(ValueError):
writer.set_n_required(None, -5)
with self.assertRaises(ValueError):
writer.set_n_required(0, None)
with self.assertRaises(TypeError):
writer.set_n_required(None, "five")
with self.assertRaises(TypeError):
writer.set_n_required("2.3", None)

0 comments on commit 68baa18

Please sign in to comment.