def test_is_equal_string(self): self.assertTrue( Column(name="first_name", value="Emmanuel").is_equal( Column(name="first_name", value="Emmanuel"))) self.assertFalse( Column(name="first_name", value="Emmanuel").is_equal( Column(name="first_name", value="Jule")))
def test_is_equal_ignore_col(self): self.assertTrue( Column(name="age", value=1, is_used_for_compare=0).is_equal( Column(name="age", value=1, is_used_for_compare=0))) self.assertTrue( Column(name="age", value=1, is_used_for_compare=0).is_equal( Column(name="age", value=2, is_used_for_compare=0)))
def test_record_is_equal_fast(self): columns = [ Column(name="name", value="TEST"), Column(name="street", value="somewhere in Zurich"), Column(name="age", value="10") ] a_record = Record(record_id="1", columns=columns) another_record = Record(record_id="2", columns=columns) self.assertTrue(a_record.is_equal(another_record, mode='fast'))
def test_append_column(self): columns = [ Column(name="name", value="TEST"), Column(name="street", value="somewhere in Zurich"), Column(name="age", value="10") ] a_record = Record(record_id="1", columns=columns) a_record.append_column(name="answer", value="yes") self.assertIn("answer", [col.name for col in a_record.columns])
def test_hash_record(self): columns = [ Column(name="name", value="TEST"), Column(name="street", value="somewhere in Zurich"), Column(name="age", value="10") ] string_to_hash = "10TESTsomewhere in Zurich" a_record = Record(record_id="1", columns=columns) a_record.hash_record() self.assertEqual(a_record.record_hash, hashlib.md5(string_to_hash).hexdigest())
def test_record_is_equal_force_no_hash(self): columns = [ Column(name="name", value="TEST"), Column(name="street", value="somewhere in Zurich"), Column(name="age", value="10") ] a_record = Record(record_id="1", columns=columns) another_record = Record(record_id="2", columns=columns) # This will force the method to use the slow mode and compare column by column a_record.record_hash = '' another_record.record_hash = '' self.assertTrue(a_record.is_equal(another_record))
def test_record_is_equal_slow_ignore_different_column(self): columns = [ Column(name="name", value="TEST", is_used_for_compare=0), Column(name="street", value="somewhere in Zurich"), Column(name="age", value="10") ] a_record = Record(record_id="1", columns=columns) columns = [ Column(name="name", value="NOTATEST", is_used_for_compare=0), Column(name="street", value="somewhere in Zurich"), Column(name="age", value="10") ] another_record = Record(record_id="2", columns=columns) self.assertTrue(a_record.is_equal(another_record, mode='slow')) self.assertTrue(another_record.is_equal(a_record, mode='slow'))
def test_record_is_equal_fast_ignore_different_column(self): """In fast mode the column values are ignore and only the hash is used""" columns = [ Column(name="name", value="TEST", is_used_for_compare=0), Column(name="street", value="somewhere in Zurich"), Column(name="age", value="10") ] a_record = Record(record_id="1", columns=columns) columns = [ Column(name="name", value="NOTATEST", is_used_for_compare=0), Column(name="street", value="somewhere in Zurich"), Column(name="age", value="10") ] another_record = Record(record_id="2", columns=columns) self.assertTrue(a_record.is_equal(another_record, mode='fast')) self.assertTrue(another_record.is_equal(a_record, mode='fast'))
def test_column_to_string(self): self.assertTrue( Column(name="first_name", value="Emmanuel").to_string(), 'fist_name : Emmanuel')
def test_is_equal_int(self): self.assertTrue( Column(name="age", value=1).is_equal(Column(name="age", value=1))) self.assertFalse( Column(name="age", value=1).is_equal(Column(name="age", value=2)))