def METHOD_NAME(self, dints_grid_params, dints_params, input_shape, expected_shape):
    grid = TopologySearch(**dints_grid_params)
    dints_params["dints_space"] = grid
    net = DiNTS(**dints_params).to(dints_grid_params["device"])
    result = net(torch.randn(input_shape).to(dints_grid_params["device"]))
    self.assertEqual(result.shape, expected_shape)
    # test functions
    grid.get_ram_cost_usage(in_size=input_shape, full=True)
    grid.get_ram_cost_usage(in_size=input_shape, full=False)
    probs_a, _ = grid.get_prob_a(child=True)
    grid.get_topology_entropy(probs_a)
    grid.decode()
    grid.gen_mtx(depth=4)