Files
vault-para/tests/__pycache__/test_models.cpython-314-pytest-9.0.2.pyc
T

191 lines
35 KiB
Plaintext
Raw Normal View History

+
╥dTiDcСюRt^RIt^RIHuHt^RIt^RIHt^RI H
t
H t H t H
t
HtHtHt!RR4t!RR4t!RR 4t!R
R 4t!R R
4tR#)z Unit tests for core data models.N)зdatetime)зFileInfoзContentAnalysisз TagStructureзFrontmatterDataзValidationResultз ContentTypeз LanguageInfocС0a]tRt^toRtRtRtRtVtR#)з TestFileInfozTest FileInfo model.c
 С■\RRRR^d\P!4\P!4R7pVPpRq2V8HqD'gг\P
!RV3RW#34RR\ P!49g\P!V4'd\P!V4MRR\P!V4R \P!V4/,pR
R V/,p\\P!V44hR ;p;rCVPpRq2V8HqD'gг\P
!RV3RW#34RR\ P!49g\P!V4'd\P!V4MRR\P!V4R \P!V4/,pR
R V/,p\\P!V44hR ;p;rCVPpR
q2VJqD'gг\P
!RV3RW#34RR\ P!49g\P!V4'd\P!V4MRR\P!V4R \P!V4/,pR
R V/,p\\P!V44hR ;p;rCVPpRq2V8HqD'gг\P
!RV3RW#34RR\ P!49g\P!V4'd\P!V4MRR\P!V4R \P!V4/,pR
R V/,p\\P!V44hR ;p;rCR #)z,Test FileInfo creation with required fields.z test/file.mdzfile.mdзtestЗ.md)зpathзnameз directoryз extensionзsizeзcreatedзmodifiedзpy0з file_infoзpy2зpy5Зassert %(py7)sзpy7NT╘З==)z,%(py2)s
{%(py2)s = %(py0)s.path
} == %(py5)s)z,%(py2)s
{%(py2)s = %(py0)s.name
} == %(py5)s╘зis╘z3%(py2)s
{%(py2)s = %(py0)s.is_markdown
} is %(py5)s)z5%(py2)s
{%(py2)s = %(py0)s.relative_path
} == %(py5)s)rrзnowrз
@pytest_arз_call_reprcompareз @py_builtinsзlocalsз_should_repr_global_nameз _safereprзAssertionErrorз_format_explanationrз is_markdownз
relative_path)зselfrз @py_assert1з @py_assert4з @py_assert3з @py_format6з @py_format8s& з,D:\tmp\vault\vault-para\tests\test_models.pyзtest_file_info_creationз$TestFileInfo.test_file_info_creationДьььььэ≈L▓L⌠Nэ≈\▓\⌠^Т
┬ П▐~┴~п/═п/═я/┬~в/┬yв/┬yв/┬~в/═в▐~┴~п*═п*═я*┬~в*┬yв*┬yв*┬~в*═вв$п,╗п,╗п,п,┬yв,┬yв,п,╗в,рв&п8╗.п8╗.я8с8п8┬yв8р8┬yв8п8╗.в8Сc
 Сn\RRRR^d\P!4\P!44p\RRRR^d\P!4\P!44pVPpRqCVJqU'gг\P
!RV3RW434RR\ P!49g\P!V4'd\P!V4MRR \P!V4R
\P!V4/,pR R V/,p\\P!V44hR
;p;rTVPpRqCVJqU'gг\P
!RV3RW434RR\ P!49g\P!V4'd\P!V4MRR \P!V4R
\P!V4/,pR R V/,p\\P!V44hR
;p;rTR
#)zTest markdown file detection.ztest.mdз.r
ztest.txtz.txtTrзmd_filerrrrNFзtxt_filerr) rrr r)r!r"r#r$r%r&r'r()r+r7r8r,r-r.r/r0s& r1зtest_is_markdown_detectionз'TestFileInfo.test_is_markdown_detection$s:Д≤9═i╟╟e╦Sд(г,б,ц.тRZвR^рR^сR`сa┬э≤J╗
╟C╦юдhгlбlцnтV^вVbрVbсVdсe┬Юв"п*═dп*═dп*с*п*┬wв*р*┬wв*п*═dвв#п,═uп,═uп,п,┬xв,┬xв,п,═uв,r4N) з__name__з
__module__з __qualname__з__firstlineno__з__doc__r2r9з__static_attributes__з__classdictcell__╘з
__classdict__s@r1r
r
sЬ┤ыР9В"-r4r
cС0a]tRt^-toRtRtRtRtVtR#)зTestContentAnalysiszTest ContentAnalysis model.c  С \\P\PRR.R7pVP
p\Pq2V8HqD'Eg\ P!RV3RW#34RR\P!49g\ P!V4'd\ P!V4MRR\ P!V4RR\P!49g!\ P!\4'd\ P!\4MRR \ P!V4/,pR
R V/,p\\ P!V44hR ;p;rCVPp\Pq2V8HqD'Eg\ P!RV3RW#34RR\P!49g\ P!V4'd\ P!V4MRR\ P!V4RR
\P!49g!\ P!\4'd\ P!\4MR
R \ P!V4/,pR
R V/,p\\ P!V44hR ;p;rCVPpRR.qrV8HqD'gг\ P!RV3RW'34RR\P!49g\ P!V4'd\ P!V4MRR\ P!V4R\ P!V4/,pRRV/,p \\ P!V 44hR ;p;rGVP pRqrV8HqD'gг\ P!RV3RW'34RR\P!49g\ P!V4'd\ P!V4MRR\ P!V4R\ P!V4/,pRRV/,p \\ P!V 44hR ;p;rGR #)zTest ContentAnalysis creation.зaiзml)зlanguageз content_typeзtopicsrзanalysisrзpy4rзpy6Зassert %(py8)sзpy8Nrrrrзbasicr)zM%(py2)s
{%(py2)s = %(py0)s.language
} == %(py6)s
{%(py6)s = %(py4)s.ENGLISH
})zN%(py2)s
{%(py2)s = %(py0)s.content_type
} == %(py6)s
{%(py6)s = %(py4)s.NOTE
})z.%(py2)s
{%(py2)s = %(py0)s.topics
} == %(py5)s╘z2%(py2)s
{%(py2)s = %(py0)s.complexity
} == %(py5)s)rrзENGLISHrзNOTErJr!r"r#r$r%r&r'r(rKrLз
complexity)
r+rMr,з @py_assert5r.з @py_format7з @py_format9r-r/r0s
& r1зtest_content_analysis_creationз2TestContentAnalysis.test_content_analysis_creation0sSД≤$░<Т
П в я п8╓Lв$8я$8п8п$8я8п в8┬xв8┬xв8п в8╓Lв8р8╓Lв8п$8вв$п8╛ в(8я(8п8п(8я8п8┬xв8┬xв8п8╛ в8╛ в8п(8вп.═4╗═,п.═,я.┬в.┬xв.┬xв.┬в.═,в.рв"п-═gп-═gя-с-п-┬xв-р-┬xв-п-═gв-r4c  С$\\P\P.RR7pVP
pRq2V8HqD'gг\ P!R V3R W#34RR\P!49g\ P!V4'd\ P!V4MRR\ P!V4R\ P!V4/,pRR V/,p\\ P!V44hR
;p;rCR
#)
z(Test complexity validation in post_init.зinvalid)rJrKrLrVrRrrMrrrrNrrS)rrrTrrUrVr!r"r#r$r%r&r'r()r+rMr,r-r.r/r0s& r1зtest_complexity_validationз.TestContentAnalysis.test_complexity_validation=Дь Т 
Пв"п-═gп-═gя-с-п-┬xв-р-┬xв-п-═gв-r4r;N) r<r=r>r?r@rZr^rArBrCs@r1rFrF-sЬ┤ы%Р .В  .r4rFcС0a]tRt^ItoRtRtRtRtVtR#)зTestTagStructurezTest TagStructure model.c  С" \R.R.R.R.R.R7pVPpR.q2V8HqD'gг\P!RV3RW#34RR\P
!49g\P !V4'd\P!V4MRR \P!V4R
\P!V4/,pR R V/,p\\P!V44hR
;p;rCVPpR.q2V8HqD'gг\P!RV3RW#34RR\P
!49g\P !V4'd\P!V4MRR \P!V4R
\P!V4/,pR R V/,p\\P!V44hR
;p;rCVPpR.q2V8HqD'gг\P!RV3RW#34RR\P
!49g\P !V4'd\P!V4MRR \P!V4R
\P!V4/,pR R V/,p\\P!V44hR
;p;rCVPpR.q2V8HqD'gг\P!RV3RW#34RR\P
!49g\P !V4'd\P!V4MRR \P!V4R
\P!V4/,pR R V/,p\\P!V44hR
;p;rCVPpR.q2V8HqD'gг\P!RV3RW#34RR\P
!49g\P !V4'd\P!V4MRR \P!V4R
\P!V4/,pR R V/,p\\P!V44hR
;p;rCR
#)zTest TagStructure creation.зprojectЗtech/aiзpythonЗlang/enзcustom╘зprimaryз hierarchicalзcontentзmetargrзtagsrrrrNr)z/%(py2)s
{%(py2)s = %(py0)s.primary
} == %(py5)s)z4%(py2)s
{%(py2)s = %(py0)s.hierarchical
} == %(py5)s)z/%(py2)s
{%(py2)s = %(py0)s.content
} == %(py5)s)z,%(py2)s
{%(py2)s = %(py0)s.meta
} == %(py5)s)z.%(py2)s
{%(py2)s = %(py0)s.custom
} == %(py5)s)rrir!r"r#r$r%r&r'r(rjrkrlrg)r+rmr,r-r.r/r0s& r1зtest_tag_structure_creationз,TestTagStructure.test_tag_structure_creationLsoДь░Kь#≤ь░Jьь░:Т 
П▐|┴|п*═ ≤{п*≤{я*с*┬|в*┬tв*┬tв*┬|в*≤{вв я п/═Y═Kп/═Kя/п в/┬tв/┬tв/п в/═Kв▐|┴|п)═≤zп)≤zя)┬|в)┬tв)┬tв)┬|в)≤zв)р▐y┴yп'≤Y≤Kп'≤Kя'с'┬yв'┬tв'р'┬tв'┬yв'≤Kв'р▐{┴{п(≤x≤jп(≤jя(с(┬{в(┬tв(┬tв(┬{в(≤jв(r4c С4\RR.R.RR.R.R.R7pVP4p\V4p^qCV8HqU'Eg\P!R"V3R#W434RR \
P !49g!\P!\4'd\P!\4MR R
R \
P !49g\P!V4'd\P!V4MR R \P!V4R
\P!V4/,pRRV/,p\\P!V44hR;p;rTRq┬V9q3'g╠\P!R$V3R%W┌34R
\P!V4R R \
P !49g\P!V4'd\P!V4MR /,p RRV /,p
\\P!V
44hR;r┐Rq┬V9q3'g╠\P!R$V3R%W┌34R
\P!V4R R \
P !49g\P!V4'd\P!V4MR /,p RRV /,p
\\P!V
44hR;r┐Rq┬V9q3'g╠\P!R$V3R%W┌34R
\P!V4R R \
P !49g\P!V4'd\P!V4MR /,p RRV /,p
\\P!V
44hR;r┐Rq┬V9q3'g╠\P!R$V3R%W┌34R
\P!V4R R \
P !49g\P!V4'd\P!V4MR /,p RRV /,p
\\P!V
44hR;r┐Rq┬V9q3'g╠\P!R$V3R%W┌34R
\P!V4R R \
P !49g\P!V4'd\P!V4MR /,p RRV /,p
\\P!V
44hR;r┐Rq┬V9q3'g╠\P!R$V3R%W┌34R
\P!V4R R \
P !49g\P!V4'd\P!V4MR /,p RRV /,p
\\P!V
44hR;r┐\V4p \V 4p\V4qцV 8HqU'Egа\P!R"V3R&W<34RR \
P !49g!\P!\4'd\P!\4MR R
R\
P !49g\P!V 4'd\P!V 4MRR \P!V4RR \
P !49g!\P!\4'd\P!\4MR R
R \
P !49g\P!V4'd\P!V4MR R\P!V 4/,pRRV/,p
\\P!V
44hR;p;r\\RR.R.RR.R.R.R7pVP4p\V4p^qCV8HqU'Eg\P!R"V3R#W434RR \
P !49g!\P!\4'd\P!\4MR R
R\
P !49g\P!V4'd\P!V4MRR \P!V4R
\P!V4/,pRRV/,p\\P!V44hR;p;rT\V4p\V4p\V4pVV8Hqл'Eg.\P!R"V 3R'VV34RR \
P !49g!\P!\4'd\P!\4MR R
R\
P !49g!\P!\4'd\P!\4MRRR\
P !49g\P!V4'd\P!V4MRR\P!V4R
\P!V4RR \
P !49g!\P!\4'd\P!\4MR RR\
P !49g\P!V4'd\P!V4MRR\P!V4/,pR R!V/,p\\P!V44hR;p;p;p pR#)(z)Test all_tags method returns unique tags.rcз duplicaterdrerfrgrhrзlenзpy1зall_tagsзpy3rOrPrQNЗassert %(py5)srз unique_tagszassert %(py10)sзpy10зtag1зtag2зtag3зtag4з deduplicatedзsetrrNзpy9зpy11zassert %(py13)sзpy13r)z0%(py3)s
{%(py3)s = %(py0)s(%(py1)s)
} == %(py6)s╘зin)z%(py1)s in %(py3)s)zN%(py3)s
{%(py3)s = %(py0)s(%(py1)s)
} == %(py8)s
{%(py8)s = %(py5)s(%(py6)s)
})zn%(py6)s
{%(py6)s = %(py0)s(%(py4)s
{%(py4)s = %(py1)s(%(py2)s)
})
} == %(py11)s
{%(py11)s = %(py8)s(%(py9)s)
}) rrtrrr!r"r#r$r%r&r'r(r~)r+rmrtз @py_assert2rWr-rXrYз @py_assert0з @py_format4r/rwз @py_assert7з @py_format11зtags_with_more_duplicatesr}r.з @py_assert10з @py_format12з @py_format14s& r1зtest_all_tags_methodз%TestTagStructure.test_all_tags_method\sСДь п#≤ь≤{пь░:Т 
П≈=▒=⌠?┬Д░8▀}п!═п!═я!┬}в!▄sв!▄sв!п!░8в!░8в!┬}в!═в!рп&≤hя&с&┬{в&у&┬{в&≤hв&р&≤hв&рп$≤Hя$┬yв$┬yв$≤Hв$≤Hвп$≤Hя$┬yв$┬yв$≤Hв$≤Hвп#≤8я#┬xв#┬xв#≤8в#≤8вп$≤Hя$┬yв$┬yв$≤Hв$≤Hвп#≤8я#┬xв#┬xв#≤8в#≤8в≤(⌠m┬ э░;сп0╓3═xё=п0═=я0пв0▄sв0▄sв0п0░;в0░;в0пв0╓3в0╓3в0п0═xв0═xв0═=в%1ь≤Vпь≤Vпь░8Т %
п;┬ э░<с п%═Aп%═Aя%п в%▄sв%▄sв%п%░<в%р%░<в%п в%═Aв░|с$п:▄sп%п:╛╗\с):п:п%п):я:п%п):в:▄sв:▄sв:п:■3в:■3в:п:░|в:░|в:п:п:╛в:╛в:п:╗\в:р:╗\в:п):в:r4r;N) r<r=r>r?r@rnr█rArBrCs@r1raraIsЬ┤ы"Р)В "";r4racС0a]tRt^│toRtRtRtRtVtR#)зTestFrontmatterDatazTest FrontmatterData model.c  СL\RRR.RRR7pVPpRq2V8HqD'gг\P!RV3RW#34RR\P
!49g\P !V4'd\P!V4MRR \P!V4R
\P!V4/,pR R V/,p\\P!V44hR
;p;rCVPpRR.q2V8HqD'gг\P!RV3RW#34RR\P
!49g\P !V4'd\P!V4MRR \P!V4R
\P!V4/,pR R V/,p\\P!V44hR
;p;rCVPpRq2V8HqD'gг\P!RV3RW#34RR\P
!49g\P !V4'd\P!V4MRR \P!V4R
\P!V4/,pR R V/,p\\P!V44hR
;p;rCVPpRq2V8HqD'gг\P!RV3RW#34RR\P
!49g\P !V4'd\P!V4MRR \P!V4R
\P!V4/,pR R V/,p\\P!V44hR
;p;rCR
#)zTest FrontmatterData creation.зTestryrzЗ
2024-01-01зnote)зtitlermrзtyperз frontmatterrrrrNr)z-%(py2)s
{%(py2)s = %(py0)s.title
} == %(py5)s)z,%(py2)s
{%(py2)s = %(py0)s.tags
} == %(py5)s)z/%(py2)s
{%(py2)s = %(py0)s.created
} == %(py5)s)z,%(py2)s
{%(py2)s = %(py0)s.type
} == %(py5)s)
rr∙r!r"r#r$r%r&r'r(rmrr√)r+r≈r,r-r.r/r0s& r1зtest_frontmatter_data_creationз2TestFrontmatterData.test_frontmatter_data_creation└Дь≤&п ьТ 
Пв я п*═Fп*═Fя*п в*┬{в*┬{в*п в*═Fввяп3═F╗Fп#3п3п#3я3с3пв3┬{в3┬{в3пв3п#3в3рв"п2═lп2═lя2с2п2┬{в2р2┬{в2п2═lввяп)═6п)═6я)пв)┬{в)┬{в)пв)═6в)r4c Сf\RR.RRRR/R7pVP4pVR,pRqCV8HqU'gy\P!RV3RW434R \P!V4R
\P!V4/,pR R V/,p\ \P !V44hR;p;rTVR
,pR.qCV8HqU'gy\P!RV3RW434R \P!V4R
\P!V4/,pR R V/,p\ \P !V44hR;p;rTVR,pRqCV8HqU'gy\P!RV3RW434R \P!V4R
\P!V4/,pR R V/,p\ \P !V44hR;p;rTRq3V9qU'g╠\P!RV3RW234R \P!V4RR\P!49g\P!V4'd\P!V4MR/,pRRV/,p \ \P !V 44hR;r5VR,pRqCV8HqU'gy\P!RV3RW434R \P!V4R
\P!V4/,pR R V/,p\ \P !V44hR;p;rTR#)z)Test to_dict method excludes None values.r▓ryr⌠Nrgзvalue)r∙rmrзupdatedз
custom_fieldsr∙rsrNzassert %(py6)srOrmrruзresultrvrr)z%(py1)s == %(py4)s)Зnot in)z%(py1)s not in %(py3)s)
rзto_dictr!r"r&r'r(r#r$r%)
r+r≈r┘r.r└з @py_format5rXr├r/s
& r1зtest_to_dict_methodз'TestFrontmatterData.test_to_dict_method▓Дьь ьь#═Wп