]> gitweb.factorcode.org Git - factor.git/commitdiff
charts.lines: add tests for fix-left-chunk, fix implementation
authorAlexander Iljin <ajsoft@yandex.ru>
Thu, 19 Jan 2017 10:14:28 +0000 (13:14 +0300)
committerJohn Benediktsson <mrjbq7@gmail.com>
Mon, 17 Apr 2017 20:54:51 +0000 (13:54 -0700)
lines/lines-tests.factor
lines/lines.factor

index a2f38ebaba3a846af9d6a3c44ea4428196688e12..129e8f3f309b5e25b5f07a70ed0b5c6d6f36093f 100644 (file)
@@ -47,6 +47,38 @@ IN: charts.lines.tests
     -3 3 2-point-chunk
 ] unit-test
 
+! fix-left-chunk: y coord = top limit
+{
+    { { -6 0 } { -3 3 } }
+} [
+    { { -6 0 } { -3 3 } } { { 5 5 } { 6 6 } }
+    -3 3 fix-left-chunk
+] unit-test
+
+! fix-left-chunk: y coord = bottom limit
+{
+    { { -6 0 } { -3 -3 } }
+} [
+    { { -6 0 } { -3 -3 } } { { 5 -5 } { 6 -6 } }
+    -3 3 fix-left-chunk
+] unit-test
+
+! fix-left-chunk: going upwards
+{
+    { { -6 0 } { 2 2 } { 3 3 } }
+} [
+    { { -6 0 } { 2 2 } } { { 5 5 } { 6 6 } }
+    -3 3 fix-left-chunk
+] unit-test
+
+! fix-left-chunk: going downwards
+{
+    { { -6 0 } { -2 -2 } { -1 -3 } }
+} [
+    { { -6 0 } { -2 -2 } } { { 0 -4 } { 6 -6 } }
+    -3 3 fix-left-chunk
+] unit-test
+
 ! tight bounds
 {
     { { { 0 0 } { 0 1 } { 1 2 } { 1 3 } { 2 5 } } }
index 0fb5f267d583c68466cf84766d6217f2dd4bd532..9753b80b2c001c27670441a3162a505ffe2db4f7 100644 (file)
@@ -132,14 +132,14 @@ ALIAS: y second
     left-point y { [ ymin = ] [ ymax = ] } 1|| [
         left
     ] [
-        left-point y right-point y < ymin ymax ? :> y-coord
+        left-point y right-point y > ymin ymax ? :> y-coord
         left-point x right-point x = [
             left-point x y-coord 2array
         ] [
             left-point right-point calc-line-slope
             y-coord left-point calc-point-y
         ] if
-        left but-last-slice swap suffix
+        left swap suffix
     ] if ;
 
 :: fix-right-chunk ( left right ymin ymax -- right' )