import os
import unittest

from تقدیر.ذرائع import سی_اس_وی
from تقدیر.مقام import مقام

راستہ = os.path.split(__file__)[0]
مسل_سی_اس_وی = os.path.join(راستہ, 'وسائل/روزانہ.csv')

تبدل = {'شمسی_تابکاری': 'شمسی تابکاری'}


class امتحان_مقام(unittest.TestCase):
    @classmethod
    def setUpClass(قسم):
        قسم.سے, قسم.تک = '۲۰۱۳۰۱۰۱', '۲۰۱۳۰۱۰۹'
        قسم.جگہ = dict(عرض=11.02, طول=76.96, بلندی=1)
        قسم.مقام = مقام(**قسم.جگہ)

        قسم.مسل_سی_اس = سی_اس_وی(مسل_سی_اس_وی, **قسم.جگہ, تبديل_ستون=تبدل)

    def test_کوائف_پانا(خود):
        اعداد = خود.مقام.کوائف_پانا(خود.سے, خود.تک, ذرائع=خود.مسل_سی_اس)
        خود.assertEqual(len(اعداد.لاپتہ()), 0)

    def test_خاکے(خود):
        ذر = سی_اس_وی(مسل_سی_اس_وی, **خود.جگہ, تبديل_ستون=تبدل, خاکے='۲۔۶')
        اعداد = خود.مقام.کوائف_پانا(خود.سے, خود.تک, ذرائع=(ذر,), خاکے='۲۔۶')
        خود.assertEqual(len(اعداد.لاپتہ()), 0)

    def test_خاکے_سحی_نہیں(خود):
        ذر = سی_اس_وی(مسل_سی_اس_وی, **خود.جگہ, تبديل_ستون=تبدل, خاکے='۲۔۶')
        اعداد = خود.مقام.کوائف_پانا(خود.سے, خود.تک, ذرائع=(ذر,))
        خود.assertEqual(len(اعداد.لاپتہ()), 9)

    def test_تاریخ_سحی_نہیں(خود):
        ذر = سی_اس_وی(مسل_سی_اس_وی, **خود.جگہ, تبديل_ستون=تبدل, خاکے='۲۔۶')
        with خود.assertRaises(ValueError):
            خود.مقام.کوائف_پانا(خود.تک, خود.سے, ذرائع=(ذر,), خاکے='۲۔۶')
