From 9e5bce524c01fa07f83d3770df92aae45d981f8d Mon Sep 17 00:00:00 2001 From: Steven Kirk Date: Wed, 6 May 2015 17:50:21 +0200 Subject: [PATCH] Fixed D2D render tests. A few were beoken due to UseLayoutRounding changes and a few were false negatives due to artifacts. Try using RootMeanSquared as the error metric and an arbitrary value of 0.02 which seems to be about right from current data. --- .../Path_Expander_With_Border.expected.png | Bin 1311 -> 1281 bytes .../Rectangle_2px_Stroke.expected.png | Bin 619 -> 611 bytes .../Rectangle_Stroke_Fill.expected.png | Bin 620 -> 615 bytes Tests/Perspex.RenderTests/TestBase.cs | 13 +++---------- 4 files changed, 3 insertions(+), 10 deletions(-) diff --git a/TestFiles/Direct2D1/Shapes/Path/Path_Expander_With_Border.expected.png b/TestFiles/Direct2D1/Shapes/Path/Path_Expander_With_Border.expected.png index 9c72e69ea923ef1c78ed6ac289eac3c92fc1a627..4a7f4c26b06e0d7fefff05e0f1089072c0cd23db 100644 GIT binary patch delta 1182 zcmWlYeNYr-0LFD$;N25pk2Akm753iaButQEI{d&_*yHZv;~dfkf;60~34_sdDydP= z(;d7MX5C#*gn`M#tpWQ&`jS3|z%95eW^BrYnM~G`0HLXC#u&7wclVFq&OZD6vG4qz zJ#X+E#2vnOUEGdc4SVKpT$6svrjJkfmsq0{h=leGSc;Rlc*go+IX8>)(20_5I)PNpT4)GSy!V6Zhzm-eXHI;^*xbAD*FaZJz`A34b45 zDeWv((CIT*1N{E3*m6uZ4)f72oj?8HWYb&&5MqvxFsg{fIVegzqAbqTdaH=Y&%>jXWX2bn$gg z4xvettAMC1f??pvlOQX;%E`PB-7vWbVyp-bQl2dmnJ#YTl0#_5=t4wKF&qR+zC^O( z(EtSgSqEGUJbT&cPITWY3sht!I~_uTSx%%P73_2~5^xG43_H!EQJjKEHCx+>My+xq zr7UG@Luforj-!;v*xF_^Zk8K?QtD%Cc{Fa36pWK*xm0h!6Hf%~@GJ$_O1q%g#+3(=mh6fp zf~7Epg85Qis>pDCGK$h+0}-~vB@|pIZAkTrom@@}iYA8>h;S)1ktdu*fG>cD0YAVU zI*A&};D>2JvsDDjn3s4bUr(wb9IJ>SzfC%xkqR9v`!{Ne;fMPyNswQnXwuC2i*%gn{035 zZ&&|n#>ZgrF$PrcNwi+|oHCubj%^21ZOQwknsxg3Ok{#JZkAqoEDT!XvBF?GCHuR~{ageBVGZgTw@xnCm zt||pktI?4|wBwNSto1^lMXc4FC8>8*sT2KSiYNLDnXSnqRod-!{x4zT9(u&5-Cl}+ zt&<%jn^@#Y;+W>|n1HP5+g6B{C4-SW4qHr*7axZrq43~~h94#LY z#||&&F4?vA;V%oM-leb972T}*gzFR@m@?^P+#pA(D;vu6?LImqFuG$= z%d?%mX9l>O$v>mri+yZ~C0)(|&eBQG0iK^SU#EE?FfC-$+2{oR7Hhpi z-QW9>?(aRW`^%iN$KG!bj3%4^pxX27{o@1IoaSaCGFz##%YSqG@et*$M&A^$BI&m( ztW%D1jWWJZduOAQAQJwm3Tu=9j8&%fxR);(sRBfp87;m-7HKIBWRi5G#QsiMVf>HDUpJ10i3`Ptn zTF=*{$S;F_4~ib+Yd{tKu_$_qp9`w!&qbn}oksJFy?Y;CPkT2a(ZfzA*%YP3F1K^!12hh0h3 zKH{nac$bg;im3gK`=C?rx z9=Cm0{_N3{FSenxp<-rW5hu35UH130hWe`MgLqZyW(Mfkp>yUQo%SWbrqty+9i=*F zuF+}V2yAt2(dpc&Gi9$%j)6DK5waarv!yK+^)C?0lBqbM%tnQU1CT&lBI?LvED(zT zvFr)Y0+DWmta6!&5TF17J_}#k52?06s(H+0f=v-1>RsU?1@iYm{<+LFijUX2f_TIw znMie;*42bZoKhm87HC}}9&t#Cr22-|brO%*q!>b-q-6$ik4uUn)h$|P6YgHz8UrHKNPrr>2rEr^tHlG|@-ajtPJp_79ll`+Tw@c~Qtgwpd!|6P zIrdeOV|wLi9`na@OnxYx5;F46fw*}!qGRj*1jnRJ0q4bK5fI-k z0%s`)PWUh=p|JD{4!cXs(euoqyBVXy8A$_44_c2DJb4i<`gUIYe=#T8liIJmC>(}Q O&fs0*<1Xa9v;TjC((*R| diff --git a/TestFiles/Direct2D1/Shapes/Rectangle/Rectangle_2px_Stroke.expected.png b/TestFiles/Direct2D1/Shapes/Rectangle/Rectangle_2px_Stroke.expected.png index c3ee9548b0b56d55f906f6dab4810e516c287333..cebe42f3dffecec76c3184b4dc3c95a3351a6ca5 100644 GIT binary patch literal 611 zcmeAS@N?(olHy`uVBq!ia0vp^CqS5k4M?tyST_$yF%}28J29*~C-V}>VM%xNb!1@J z*w6hZk(GggiPzJ`F{C2y?bVIE4Gugk2iyNuvng7}DIQ8!+sU@)6BAGi1H+9ghSBRH zZv>hZoMV!=l|Le$Xukg4E%rtQ0S=~7Vu*%8!I^2VM%xNb!1@J z*w6hZk(GggNz~KDF{C2y?Nvjr!wv#02PgmkpDuZL*>$E=yH%5Z9x&St)Wg8=BmMfD zbGF>-x63}vWR3e#D-hojY{`Z6 W#q7DC*bgd#1Uy~+T-G@yGywo`EMoxx diff --git a/TestFiles/Direct2D1/Shapes/Rectangle/Rectangle_Stroke_Fill.expected.png b/TestFiles/Direct2D1/Shapes/Rectangle/Rectangle_Stroke_Fill.expected.png index 2eb5c946cee0c765bd2948e8172a1f4c3062a8a4..d1c13a9e57f842dc1c881f387fe80db1d00510c0 100644 GIT binary patch delta 121 zcmaFE@|$e1{EqSR8Nu|G)XthJr+$rYWa$e1{EqSR5_?|KEIhgGZunQ;A^OtltdcF$^H^XLEMh z^Lee4bFC}RGV$;GrErf!{g*|ZJWHM8#))egCq59-C^-A>&gOzmx$JfvU@Zm9w%)tc Vz*-dhXy$*AfTydU%Q~loCIHbwFzNsR diff --git a/Tests/Perspex.RenderTests/TestBase.cs b/Tests/Perspex.RenderTests/TestBase.cs index 6a842001a8..f64a3f5693 100644 --- a/Tests/Perspex.RenderTests/TestBase.cs +++ b/Tests/Perspex.RenderTests/TestBase.cs @@ -66,18 +66,11 @@ namespace Perspex.Direct2D1.RenderTests string actualPath = Path.Combine(this.OutputPath, testName + ".out.png"); MagickImage expected = new MagickImage(expectedPath); MagickImage actual = new MagickImage(actualPath); - MagickErrorInfo error = expected.Compare(actual); + double error = expected.Compare(actual, ErrorMetric.RootMeanSquared); - if (error.NormalizedMaximumError > 0.1) + if (error > 0.02) { - if (error.NormalizedMaximumError > 0.15) - { - Assert.True(false, "NormalizedMaximumError = " + error.NormalizedMaximumError); - } - else - { - Assert.True(false, "Close but no cigar. NormalizedMaximumError = " + error.NormalizedMaximumError); - } + Assert.True(false, "Error = " + error); } } }