def test_second_empty(self): self.assertDictEqual(sparse_add({ 0: 1, 1: 2, 2: 3 }, {}), { 0: 1, 1: 2, 2: 3 })
def test_first_empty(self): self.assertDictEqual(sparse_add({}, { 0: 1, 1: 2, 2: 3 }), { 0: 1, 1: 2, 2: 3 })
def test_same_indices(self): self.assertDictEqual( sparse_add({ 0: 5, 1: 5, 2: 5 }, { 0: 1, 1: 2, 2: 3 }), { 0: 6, 1: 7, 2: 8 })
def test_add_to_zero(self): self.assertDictEqual( sparse_add({ 3: 1, 4: 2, 5: 4, 9: 5 }, { 3: 1, 5: 2, 9: -5 }), { 3: 2, 5: 6, 4: 2 })
def test_some_index_matching(self): self.assertDictEqual( sparse_add({ 0: 1, 2: 1, 5: 1 }, { 1: 1, 2: 1, 5: 1 }), { 0: 1, 2: 2, 1: 1, 5: 2 })
def test_no_index_matching(self): self.assertDictEqual( sparse_add({ 0: 1, 2: 1, 4: 1 }, { 1: 1, 3: 1, 5: 1 }), { 0: 1, 2: 1, 4: 1, 1: 1, 3: 1, 5: 1 })
def test_sparse_v2_empty(self): test_dict = sparsevector.sparse_add({0: 1, 1: 2, 2: 3}, {}) self.assertDictEqual(test_dict, {0: 1, 1: 2, 2: 3})
def test_sparse_same_indices(self): test_dict = sparsevector.sparse_add({0: 1, 1: 2, 2: 3}, {0: 1, 1: 2, 2: 3}) self.assertDictEqual(test_dict, {0: 2, 1: 4, 2: 6})
def test_sparse_add_v2_empty(self): v1 = {0: 1, 1: 2, 2: 3, 99: 4} v2 = {} expected = {0: 1, 1: 2, 2: 3, 99: 4} self.assertEqual(expected, sparse_add(v1, v2))
def test_sparse_one_index_adds_to_zero(self): test_dict = sparsevector.sparse_add({0: -5, 4: -3}, {0: 5, 4: 3}) self.assertDictEqual(test_dict, {})
def test_sparse_add_both_empty(self): v1 = {} v2 = {} expected = {} self.assertEqual(expected, sparse_add(v1, v2))
def test_sparse_add_to_zero(self): v1 = {1: -5, 3: -3, 99: -1} v2 = {1: 5, 3: 3, 99: 1} expected = {} self.assertEqual(expected, sparse_add(v1, v2))
def test_sparse_some_matching_indices(self): v1 = {1: 1, 2: 2, 99: 3} v2 = {2: 2, 3: 3, 99: 4} expected = {1: 1, 2: 4, 3: 3, 99: 7} self.assertEqual(expected, sparse_add(v1, v2))
def test_sparse_no_matching_indices(self): v1 = {1: 1, 2: 2, 99: 3} v2 = {4: 4, 5: 5, 98: 6} expected = {1: 1, 2: 2, 4: 4, 5: 5, 98: 6, 99: 3} self.assertEqual(expected, sparse_add(v1, v2))
def test_sparse_non_matching_indices(self): test_dict = sparsevector.sparse_add({0: 1, 3: 4, 6: 5}, {2: 1, 4: 7, 10: 4}) self.assertDictEqual(test_dict, {0: 1, 3: 4, 6: 5, 2: 1, 4: 7, 10: 4})
def test_sparse_some_matching_indices(self): test_dict = sparsevector.sparse_add({0: 4, 1: 5, 2: 7}, {0: 3, 1: 4, 3: 9}) self.assertDictEqual(test_dict, {0: 7, 1: 9, 2: 7, 3: 9})
def test_empty_dicts(self): self.assertDictEqual(sparse_add({}, {}), {})
def test_sparse_all_zeros(self): test_dict = sparsevector.sparse_add({}, {}) self.assertDictEqual(test_dict, {})
def test_sparse_add_same_indices(self): v1 = {1: 1, 2: 2, 99: 3} v2 = {1: 2, 2: 4, 99: 6} expected = {1: 3, 2: 6, 99: 9} self.assertEqual(expected, sparse_add(v1, v2))