"""
:synopsis: Tests pour le module filemanager

python -m unittest -v autotest.py
"""

import unittest
from filemanager import FileManager

f = open('www/index.html', 'r', encoding = 'utf8')
text_index_html = f.read()
f.close()

class MyTest(unittest.TestCase):
    def test1(self):
        """
        Test de la méthode exists
        """
        self.assertTrue(FileManager("requete.py").exists())
        self.assertTrue(FileManager("/requete.py").exists())
        self.assertTrue(FileManager("www/livres.png").exists())
        self.assertTrue(FileManager("/www/livres.png").exists())
        self.assertFalse(FileManager("gloups.ds").exists())
        self.assertFalse(FileManager("/gloups.ds").exists())

    def test2(self):
        """
        Test de la méthode exists_in_public
        """
        self.assertFalse(FileManager("requete.py").exists_in_public())
        self.assertFalse(FileManager("/requete.py").exists_in_public())
        self.assertTrue(FileManager("livres.png").exists_in_public())
        self.assertTrue(FileManager("/livres.png").exists_in_public())
        self.assertFalse(FileManager("gloups.ds").exists_in_public())
        self.assertFalse(FileManager("/gloups.ds").exists_in_public())

    def test3(self):
        """
        Test de la méthode ext
        """
        self.assertEqual(FileManager("requete.py").ext(), 'py')
        self.assertEqual(FileManager("/test.html").ext(), 'html')
        self.assertEqual(FileManager("www").ext(), '')

    def test4(self):
        """
        Test de load_text()
        """
        self.assertEqual(FileManager("www/index.html").load_text(), text_index_html)
        self.assertEqual(FileManager("www/inexistant.html").load_text(), None)

    def test5(self):
        """
        Test de load_text_in_public()
        """
        self.assertEqual(FileManager("index.html").load_textInPublic(), text_index_html)
        self.assertEqual(FileManager("inexistant.html").load_textInPublic(), None)

if __name__ == '__main__':
    unittest.main()
