gzz-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Gzz-commits] gzz/lava gzz/potion/Expression.java gzz/zzutil/...


From: Benja Fallenstein
Subject: [Gzz-commits] gzz/lava gzz/potion/Expression.java gzz/zzutil/...
Date: Mon, 02 Dec 2002 20:30:09 -0500

CVSROOT:        /cvsroot/gzz
Module name:    gzz
Changes by:     Benja Fallenstein <address@hidden>      02/12/02 20:30:09

Modified files:
        lava/gzz/potion: Expression.java 
        lava/gzz/zzutil: Containment.java 
        lava/test/gzz/zzutil: Containment.test 

Log message:
        Complete Containment.java

CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/gzz/gzz/lava/gzz/potion/Expression.java.diff?tr1=1.1&tr2=1.2&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gzz/gzz/lava/gzz/zzutil/Containment.java.diff?tr1=1.4&tr2=1.5&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gzz/gzz/lava/test/gzz/zzutil/Containment.test.diff?tr1=1.1&tr2=1.2&r1=text&r2=text

Patches:
Index: gzz/lava/gzz/potion/Expression.java
diff -u gzz/lava/gzz/potion/Expression.java:1.1 
gzz/lava/gzz/potion/Expression.java:1.2
--- gzz/lava/gzz/potion/Expression.java:1.1     Thu Nov 21 18:51:35 2002
+++ gzz/lava/gzz/potion/Expression.java Mon Dec  2 20:30:09 2002
@@ -1,9 +1,10 @@
+//(c):Benja Fallenstein and others
 package gzz.potion;
 import java.util.*;
 import gzz.vob.linebreaking.HChain;
 
-public interface Expression{
+public interface Expression {
 
-       String getString(Map context);
-       void render(Map context, HChain into);
+    String getString(Map context);
+    void render(Map context, HChain into);
 }
Index: gzz/lava/gzz/zzutil/Containment.java
diff -u gzz/lava/gzz/zzutil/Containment.java:1.4 
gzz/lava/gzz/zzutil/Containment.java:1.5
--- gzz/lava/gzz/zzutil/Containment.java:1.4    Mon Nov 25 18:52:50 2002
+++ gzz/lava/gzz/zzutil/Containment.java        Mon Dec  2 20:30:09 2002
@@ -82,7 +82,26 @@
      *        (i.e., has a connection on d..contain-list, or
      *        a connection negwards on d.contain).
      */
-    public static void addContainedCell(Cell add, Cell into) 
+    public static void addContainedCell(Cell into, Cell add) 
                                throws IllegalArgumentException {
+       Dim d_contain = into.space.getDim(Ids.d_contain);
+       Dim d_contain_list = into.space.getDim(Ids.d_contain_list);
+
+       if(add.s(d_contain, -1) != null ||
+          add.s(d_contain_list, -1) != null || 
+          add.s(d_contain_list) != null) {
+           throw new IllegalArgumentException("Already contained: "+add);
+       }
+
+       if(into.s(d_contain) == null)
+           into.connect(d_contain, add);
+       else {
+           Cell c = into.s(d_contain, 1);
+           while(c.s(d_contain_list) != null &&
+                 c.s(d_contain_list).s(d_contain, -1) == null) {
+               c = c.s(d_contain_list);
+           }
+           c.insert(d_contain_list, 1, add);
+       }
     }
 }
Index: gzz/lava/test/gzz/zzutil/Containment.test
diff -u gzz/lava/test/gzz/zzutil/Containment.test:1.1 
gzz/lava/test/gzz/zzutil/Containment.test:1.2
--- gzz/lava/test/gzz/zzutil/Containment.test:1.1       Mon Nov 25 18:52:51 2002
+++ gzz/lava/test/gzz/zzutil/Containment.test   Mon Dec  2 20:30:09 2002
@@ -45,3 +45,39 @@
            enfs[1].plus(enfs[2].plus(enfs[3]))
     assert Containment.getContainedEnfilade(c2) == enfs[4]
     assert Containment.getContainedEnfilade(c3) == enfs[5]
+
+
+def testAddContained():
+    s = space()
+    d = Dims(s)
+
+    c = s.N()
+    c.setText("A")
+    c1 = s.N()
+    c1.setText(" true")
+    c1a = s.N()
+    c1a.setText(" ")
+    c2 = s.N()
+    c2.setText("challenge")
+
+    add = Containment.addContainedCell
+    get = Containment.getContainedText
+
+    add(c, c1);
+    add(c, c2);
+    add(c1, c1a);
+
+    assert get(c) == "A true challenge"
+    assert get(c1) == " true "
+    assert c.t() == "A"
+
+    try:
+        add(c2, c1a)
+    except java.lang.IllegalArgumentException:
+        pass
+    else:
+        assert 0
+
+    assert get(c) == "A true challenge"
+    assert get(c1) == " true "
+    assert c.t() == "A"




reply via email to

[Prev in Thread] Current Thread [Next in Thread]