def build_random_sample_list(): from VisualBERT.mmf.common.sample import Sample, SampleList first = Sample() first.x = random.randint(0, 100) first.y = torch.rand((5, 4)) first.z = Sample() first.z.x = random.randint(0, 100) first.z.y = torch.rand((6, 4)) second = Sample() second.x = random.randint(0, 100) second.y = torch.rand((5, 4)) second.z = Sample() second.z.x = random.randint(0, 100) second.z.y = torch.rand((6, 4)) return SampleList([first, second])
def test_sample_working(self): initial = Sample() initial.x = 1 initial["y"] = 2 # Assert setter and getter self.assertEqual(initial.x, 1) self.assertEqual(initial["x"], 1) self.assertEqual(initial.y, 2) self.assertEqual(initial["y"], 2) update_dict = {"a": 3, "b": {"c": 4}} initial.update(update_dict) self.assertEqual(initial.a, 3) self.assertEqual(initial["a"], 3) self.assertEqual(initial.b.c, 4) self.assertEqual(initial["b"].c, 4)