code: def test_greedy_selection(self):
      scores = torch.tensor(
          [
              [1.0, 2.0, 3.0, 4.0, 5.0],
              [5.0, 1.0, 2.0, 3.0, 4.0],
          ]
      )
      sampler = EpsilonGreedyActionSampler(epsilon=0.0)
  
      test_action = torch.tensor(
          [
              [0, 0, 0, 0, 1],
              [1, 0, 0, 0, 0],
          ],
          dtype=torch.long,
      )
      action = sampler.sample_action(scores)
  
      torch.testing.assert_allclose(action.action, test_action)
  
      test_log_prob = torch.tensor(
          [0.0, 0.0],
          dtype=torch.float,
      )
  
      torch.testing.assert_allclose(action.log_prob, test_log_prob)
  
imports: import torch
  from reagent.gym.policies.samplers.discrete_sampler import EpsilonGreedyActionSampler
  from reagent.test.base.horizon_test_base import HorizonTestBase
label_desc: Use image node_id 1 for calling the EpsilonGreedyActionSamplerTest obj's underlying member method code with example usage: obj.test_greedy_selection() without return types