# testConfigFileSet.py -- Portage Unit Testing Functionality
# Copyright 2007-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2

import os
import tempfile

from portage._sets.files import ConfigFileSet
from portage.tests import TestCase, test_cps


class ConfigFileSetTestCase(TestCase):
    """Simple Test Case for ConfigFileSet"""

    def setUp(self):
        super().setUp()
        fd, self.testfile = tempfile.mkstemp(
            suffix=".testdata", prefix=self.__class__.__name__, text=True
        )
        f = os.fdopen(fd, "w")
        for i in range(len(test_cps)):
            atom = test_cps[i]
            if i % 2 == 0:
                f.write(atom + " abc def\n")
            else:
                f.write(atom + "\n")
        f.close()

    def tearDown(self):
        os.unlink(self.testfile)

    def testConfigStaticFileSet(self):
        s = ConfigFileSet(self.testfile)
        s.load()
        self.assertEqual(set(test_cps), s.getAtoms())
