def METHOD_NAME(self):
    # test simple populate
    assert_true(self.subject, "root tables are empty")
    assert_false(self.experiment, "table already filled?")
    self.experiment.populate()
    assert_true(
        len(self.experiment)
        == len(self.subject) * self.experiment.fake_experiments_per_subject
    )
    # test restricted populate
    assert_false(self.trial, "table already filled?")
    restriction = self.subject.proj(animal="subject_id").fetch("KEY")[0]
    d = self.trial.connection.dependencies
    d.load()
    self.trial.populate(restriction)
    assert_true(self.trial, "table was not populated")
    key_source = self.trial.key_source
    assert_equal(len(key_source & self.trial), len(key_source & restriction))
    assert_equal(len(key_source - self.trial), len(key_source - restriction))
    # test subtable populate
    assert_false(self.ephys)
    assert_false(self.channel)
    self.ephys.populate()
    assert_true(self.ephys)
    assert_true(self.channel)