Skip to content

Commit

Permalink
test for serialization of rationals #61
Browse files Browse the repository at this point in the history
  • Loading branch information
PoslavskySV committed Sep 11, 2019
1 parent f156e02 commit b2bdeb5
Showing 1 changed file with 24 additions and 0 deletions.
24 changes: 24 additions & 0 deletions rings/src/test/java/cc/redberry/rings/RationalsTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
import cc.redberry.rings.bigint.BigInteger;
import cc.redberry.rings.io.Coder;
import cc.redberry.rings.poly.MultivariateRing;
import cc.redberry.rings.poly.multivar.Monomial;
import cc.redberry.rings.poly.multivar.MultivariatePolynomial;
import cc.redberry.rings.test.AbstractTest;
import cc.redberry.rings.util.TimeUnits;
Expand All @@ -11,6 +12,9 @@
import org.junit.Ignore;
import org.junit.Test;

import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.ObjectOutputStream;
import java.util.stream.IntStream;

import static cc.redberry.rings.Rings.*;
Expand Down Expand Up @@ -150,4 +154,24 @@ public void test6() {
public void test7() {
System.out.println(Q.factor(Q.mkNumerator(0)));
}

@Test
public void testSer1() throws IOException {
MultivariateRing<MultivariatePolynomial<BigInteger>> ring = Rings.MultivariateRing(3, Rings.Z);
Rationals<MultivariatePolynomial<BigInteger>> field = Frac(ring);

MultivariatePolynomial<BigInteger> p = MultivariatePolynomial.parse("1+x+y", "x", "y");
MultivariatePolynomial<BigInteger> q = MultivariatePolynomial.parse("1+x-y", "x", "y");
Rational<MultivariatePolynomial<BigInteger>> r = field.mk(p, q);

ByteArrayOutputStream bstream = new ByteArrayOutputStream();
ObjectOutputStream ostream = new ObjectOutputStream(bstream);

ostream.writeObject(r);

Coder<MultivariatePolynomial<BigInteger>, Monomial<BigInteger>, MultivariatePolynomial<BigInteger>> mCoder = Coder.mkMultivariateCoder(ring, "x", "y");
Coder<Rational<MultivariatePolynomial<BigInteger>>, ?, ?> coder = Coder.mkRationalsCoder(field, mCoder);
System.out.println(coder.encode(r));
assert r.equals(coder.decode(coder.encode(r)));
}
}

0 comments on commit b2bdeb5

Please sign in to comment.