use of nars.subterm.ArrayTermVector in project narchy by automenta.
the class AnonTest method testMixedAnonVector.
@Test
public void testMixedAnonVector() {
Term[] x = { $.varDep(1), $.varIndep(2), $.varQuery(3), Anom.the(4) };
Random rng = new XoRoShiRo128PlusRandom(1);
for (int i = 0; i < 4; i++) {
ArrayUtils.shuffle(x, rng);
assertEqual(new UnitSubterm(x[0]), new AnonVector(x[0]));
assertEqual(new TermVector2(x[0], x[1]), new AnonVector(x[0], x[1]));
assertEqual(new ArrayTermVector(x), new AnonVector(x));
}
}
use of nars.subterm.ArrayTermVector in project narchy by automenta.
the class TermTest method testHashConsistent.
@Test
public void testHashConsistent() {
Term x = $.the("z");
Subterms a = new UnitSubterm(x);
Subterms b = new ArrayTermVector(x);
assertEquals(a, b);
assertEquals(a.hashCode(), b.hashCode());
assertEquals(a.hashCodeSubterms(), b.hashCodeSubterms());
assertEquals(a.toString(), b.toString());
}
use of nars.subterm.ArrayTermVector in project narchy by automenta.
the class AnonTest method testAnomVectorNegations.
@Test
public void testAnomVectorNegations() {
Term[] x = { Anom.the(3), Anom.the(1), Anom.the(2).neg() };
AnonVector av = new AnonVector(x);
assertEquals(new ArrayTermVector(x).toString(), av.toString());
assertEqual(new ArrayTermVector(x), av);
Term twoNeg = x[2];
assertTrue(av.contains(twoNeg));
assertFalse(av.containsNeg(twoNeg));
assertTrue(av.containsRecursively(twoNeg));
assertTrue(av.containsRecursively(twoNeg.neg()), () -> av + " containsRecursively " + twoNeg.neg());
// assertTrue(The.subterms(x) instanceof AnonVector );
}
use of nars.subterm.ArrayTermVector in project narchy by automenta.
the class AnonTest method testAnomVector.
@Test
public void testAnomVector() {
Term[] x = { Anom.the(3), Anom.the(1), Anom.the(2) };
assertEqual(new UnitSubterm(x[0]), new AnonVector(x[0]));
assertEqual(new TermVector2(x[0], x[1]), new AnonVector(x[0], x[1]));
assertEqual(new ArrayTermVector(x), new AnonVector(x));
}
Aggregations