# Path: test/tools/mock_descriptors.py
# def make_enum(
#     name: str,
#     values: Tuple[str, int] = (),
#     proto_file_name: str = "foo",
#     locations: Sequence[desc.SourceCodeInfo.Location] = [],
#     path: Tuple[int] = (),
#     full_name: str = ".example.foo.enum",
#     nested_path: Sequence[str] = [],
# ) -> wrappers.Enum:
#     """Mock an Enum object."""
#     source_code_locations = {tuple(location.path): location for location in locations}
#     enum_pb = make_enum_pb2(name, values)
#     return wrappers.Enum(
#         enum_pb, proto_file_name, source_code_locations, path, full_name, nested_path
#     )


import unittest
from test.tools.mock_descriptors import make_enum
from google.protobuf import descriptor_pb2
# Copyright 2020 Google LLC
#
# 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.



class EnumTest(unittest.TestCase):
    def test_basic_properties(self):
        enum = make_enum("Foo")
        self.assertEqual(enum.name, "Foo")
        self.assertEqual(enum.proto_file_name, "foo")
        self.assertEqual(enum.path, ())
        self.assertEqual(
            enum.source_code_line,
            -1,
        )
        self.assertEqual(enum.full_name, ".example.foo.enum")

    def test_enum_value_properties(self):

# Path: test/tools/mock_descriptors.py
# def make_enum(
#     name: str,
#     values: Tuple[str, int] = (),
#     proto_file_name: str = "foo",
#     locations: Sequence[desc.SourceCodeInfo.Location] = [],
#     path: Tuple[int] = (),
#     full_name: str = ".example.foo.enum",
#     nested_path: Sequence[str] = [],
# ) -> wrappers.Enum:
#     """Mock an Enum object."""
#     source_code_locations = {tuple(location.path): location for location in locations}
#     enum_pb = make_enum_pb2(name, values)
#     return wrappers.Enum(
#         enum_pb, proto_file_name, source_code_locations, path, full_name, nested_path
#     )


# Path: test/comparator/wrappers/test_enum.py
import unittest
from test.tools.mock_descriptors import make_enum
from google.protobuf import descriptor_pb2

# Copyright 2020 Google LLC
#
# 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.



class EnumTest(unittest.TestCase):
    def test_basic_properties(self):
        enum = make_enum("Foo")
        self.assertEqual(enum.name, "Foo")
        self.assertEqual(enum.proto_file_name, "foo")
        self.assertEqual(enum.path, ())
        self.assertEqual(
            enum.source_code_line,
            -1,
        )
        self.assertEqual(enum.full_name, ".example.foo.enum")

    def test_enum_value_properties(self):

        enum_type = make_enum(