def setUp(self):
     self.pt = PartitionTable(512)
class TestParititionTable(unittest.TestCase):
    def setUp(self):
        self.pt = PartitionTable(512)

    def test_when_init_then_partition_table_has_no_partition_entries(self):
        self.assertEqual(len(self.pt.partition_entries()), 0)

    def test_when_create_partition_then_it_has_one_partition(self):
        size = mb_to_sectors(10, 512)
        self.pt.create_partition(0, size)
        self.assertEqual(len(self.pt.partition_entries()), 1)

    def test_when_delete_partition_then_partition_no_longer_exists(self):
        size = mb_to_sectors(10, 512)
        self.pt.create_partition(0, size)
        self.pt.delete_partition(0)
        self.assertEqual(len(self.pt.partition_entries()), 0)

    def test_when_create_partition_that_overlaps_another_then_raises_InvalidSectorRangeException(self):
        size = mb_to_sectors(10, 512)
        self.pt.create_partition(0, size)
        with self.assertRaises(InvalidSectorRangeException):
            self.pt.create_partition(10, size)