def test_raises_non_placement_keyed_dict(self):
     with self.assertRaises(TypeError):
         cardinalities_utils.merge_cardinalities({'a': 1},
                                                 {placements.CLIENTS: 10})
     with self.assertRaises(TypeError):
         cardinalities_utils.merge_cardinalities({placements.CLIENTS: 10},
                                                 {'a': 1})
 def test_merges_different_placements(self):
     clients_placed_cardinality = {placements.CLIENTS: 10}
     server_placed_cardinality = {placements.SERVER: 1}
     merged = cardinalities_utils.merge_cardinalities(
         clients_placed_cardinality, server_placed_cardinality)
     self.assertEqual(merged, {
         placements.CLIENTS: 10,
         placements.SERVER: 1
     })
 def test_noops_no_conflict(self):
     clients_placed_cardinality = {placements.CLIENTS: 10}
     noop = cardinalities_utils.merge_cardinalities(
         clients_placed_cardinality, clients_placed_cardinality)
     self.assertEqual(noop, clients_placed_cardinality)
 def test_raises_merge_conflicting_cardinalities(self):
     with self.assertRaisesRegex(ValueError, 'Conflicting cardinalities'):
         cardinalities_utils.merge_cardinalities({placements.CLIENTS: 10},
                                                 {placements.CLIENTS: 11})
 def test_raises_non_dict_arg(self):
     with self.assertRaises(TypeError):
         cardinalities_utils.merge_cardinalities({}, 1)