# Path: meltingpot/python/utils/substrates/wrappers/base.py
# class Wrapper(dmlab2d.Environment):
#   def __init__(self, env):
#   def reset(self, *args, **kwargs) -> ...:
#   def step(self, *args, **kwargs) -> ...:
#   def reward_spec(self, *args, **kwargs) -> ...:
#   def discount_spec(self, *args, **kwargs) -> ...:
#   def observation_spec(self, *args, **kwargs) -> ...:
#   def action_spec(self, *args, **kwargs) -> ...:
#   def close(self, *args, **kwargs) -> ...:
#   def observation(self, *args, **kwargs) -> ...:
#   def events(self, *args, **kwargs) -> ...:
#   def list_property(self, *args, **kwargs) -> ...:
#   def write_property(self, *args, **kwargs) -> ...:
#   def read_property(self, *args, **kwargs) -> ...:


import inspect
import dmlab2d
from unittest import mock
from absl.testing import absltest
from absl.testing import parameterized
from meltingpot.python.utils.substrates.wrappers import base
# Copyright 2020 DeepMind Technologies Limited.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     https://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
"""Tests for base wrapper."""




_WRAPPED_METHODS = tuple([
    name for name, _ in inspect.getmembers(dmlab2d.Environment)
    if not name.startswith('_')
])


class WrapperTest(parameterized.TestCase):

  def test_instance(self):
    env = mock.Mock(spec_set=dmlab2d.Environment)

# Path: meltingpot/python/utils/substrates/wrappers/base.py
# class Wrapper(dmlab2d.Environment):
#   def __init__(self, env):
#   def reset(self, *args, **kwargs) -> ...:
#   def step(self, *args, **kwargs) -> ...:
#   def reward_spec(self, *args, **kwargs) -> ...:
#   def discount_spec(self, *args, **kwargs) -> ...:
#   def observation_spec(self, *args, **kwargs) -> ...:
#   def action_spec(self, *args, **kwargs) -> ...:
#   def close(self, *args, **kwargs) -> ...:
#   def observation(self, *args, **kwargs) -> ...:
#   def events(self, *args, **kwargs) -> ...:
#   def list_property(self, *args, **kwargs) -> ...:
#   def write_property(self, *args, **kwargs) -> ...:
#   def read_property(self, *args, **kwargs) -> ...:


# Path: meltingpot/python/utils/substrates/wrappers/base_test.py
import inspect
import dmlab2d
from unittest import mock
from absl.testing import absltest
from absl.testing import parameterized
from meltingpot.python.utils.substrates.wrappers import base

# Copyright 2020 DeepMind Technologies Limited.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     https://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
"""Tests for base wrapper."""




_WRAPPED_METHODS = tuple([
    name for name, _ in inspect.getmembers(dmlab2d.Environment)
    if not name.startswith('_')
])


class WrapperTest(parameterized.TestCase):

  def test_instance(self):
    env = mock.Mock(spec_set=dmlab2d.Environment)

    wrapped = base.Wrapper(env=env)