Skip to content

Commit

Permalink
Merge branch '__rultor'
Browse files Browse the repository at this point in the history
  • Loading branch information
rultor committed Apr 9, 2024
2 parents 1c78c6d + 4e7d001 commit 29def27
Show file tree
Hide file tree
Showing 2 changed files with 38 additions and 33 deletions.
6 changes: 3 additions & 3 deletions eo-runtime/src/main/java/org/eolang/UniverseDefault.java
Original file line number Diff line number Diff line change
Expand Up @@ -155,13 +155,13 @@ private static String replace(final String name) {
final char cur = name.charAt(iter);
switch (cur) {
case '^':
builder.append('蟻');
builder.append(Attr.RHO);
break;
case '@':
builder.append('蠁');
builder.append(Attr.PHI);
break;
case '&':
builder.append('蟽');
builder.append(Attr.SIGMA);
break;
default:
builder.append(cur);
Expand Down
65 changes: 35 additions & 30 deletions eo-runtime/src/test/java/org/eolang/UniverseDefaultTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -23,63 +23,67 @@
*/
package org.eolang;

import EOorg.EOeolang.EOint;
import EOorg.EOeolang.EOseq;
import java.util.HashMap;
import java.util.Map;
import org.cactoos.map.MapOf;
import org.hamcrest.MatcherAssert;
import org.hamcrest.Matchers;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Disabled;
import org.junit.jupiter.api.Test;

/**
* Test case for {@link UniverseDefault}.
* @since 0.31
* @todo #2931:30min Enable the tests. The tests were disabled because Universe can't find object.
* Most probably it's because {@link PhDefault#take(String, Phi)} method makes copy of object
* before returning. Need to find out what's going on and enable the tests
*/
final class UniverseDefaultTest {

/**
* Name of attribute.
* Name of attribute bound with abstract object.
*/
private static final String ATT = "value";
private static final String ABSTRACT_ATT = "abstract";

/**
* Name of dataizable attribute.
*/
private static final String VALUE_ATT = "value";

/**
* Data byte array.
*/
private static final byte[] DATA = new BytesOf(123456789L).take();

@Test
@Disabled
void findsSimpleAtt() {
final Phi phi = new DummyWithAt(Phi.);
final UniverseDefault universe = new UniverseDefault(phi);
MatcherAssert.assertThat(
universe.find("$.".concat(UniverseDefaultTest.ATT)),
universe.find(
String.format("%s.%s.%s", "$", UniverseDefaultTest.ABSTRACT_ATT, Attr.RHO)
),
Matchers.equalTo(
phi.take(UniverseDefaultTest.ATT).hashCode()
phi.hashCode()
)
);
}

@Test
@Disabled
void findsLongAtt() {
final Phi phi = new DummyWithStructure(Phi.);
final UniverseDefault universe = new UniverseDefault(phi);
MatcherAssert.assertThat(
universe.find(
String.format(
"$.%s.%s",
UniverseDefaultTest.ATT,
UniverseDefaultTest.ATT
"$.%s.%s.%s.%s",
UniverseDefaultTest.ABSTRACT_ATT,
UniverseDefaultTest.ABSTRACT_ATT,
Attr.RHO,
Attr.RHO
)
),
Matchers.equalTo(
phi.take(UniverseDefaultTest.ATT).take(UniverseDefaultTest.ATT).hashCode()
phi.hashCode()
)
);
}
Expand Down Expand Up @@ -111,7 +115,7 @@ void dataizesIndexed() {
new DummyWithAt(Phi.)
);
final int vertex = universe.find(
"$.".concat(UniverseDefaultTest.ATT)
"$.".concat(UniverseDefaultTest.VALUE_ATT)
);
MatcherAssert.assertThat(
universe.dataize(vertex),
Expand Down Expand Up @@ -172,10 +176,10 @@ void bindsCopyToAbstract() {
final int copy = universe.copy(eobytes);
universe.put(copy, UniverseDefaultTest.DATA);
universe.bind(
dummy.hashCode(), copy, UniverseDefaultTest.ATT
dummy.hashCode(), copy, UniverseDefaultTest.ABSTRACT_ATT
);
MatcherAssert.assertThat(
new Dataized(dummy.take(UniverseDefaultTest.ATT)).take(),
new Dataized(dummy.take(UniverseDefaultTest.ABSTRACT_ATT)).take(),
Matchers.equalTo(
UniverseDefaultTest.DATA
)
Expand All @@ -188,22 +192,20 @@ void bindsCopyToAbstract() {
*/
private static class DummyWithAt extends PhDefault {

/**
* Main ctor.
* @param sigma Sigma.
* @param att Att name.
*/
DummyWithAt(final Phi sigma, final String att) {
super(sigma);
this.add(att, new AtOnce(new AtComposite(sigma, self -> new Data.ToPhi(1L))));
}

/**
* Ctor.
* @param sigma Sigma.
*/
DummyWithAt(final Phi sigma) {
this(sigma, UniverseDefaultTest.ATT);
super(sigma);
this.add(
UniverseDefaultTest.ABSTRACT_ATT,
new AtComposite(sigma, self -> new EOint(Phi.))
);
this.add(
UniverseDefaultTest.VALUE_ATT,
new AtComposite(sigma, self -> new Data.ToPhi(1L))
);
}
}

Expand All @@ -219,7 +221,7 @@ private static class DummyWithStructure extends PhDefault {
*/
DummyWithStructure(final Phi sigma) {
super(sigma);
this.add(UniverseDefaultTest.ATT, new AtOnce(new AtComposite(this, DummyWithAt::new)));
this.add(UniverseDefaultTest.ABSTRACT_ATT, new AtComposite(this, DummyWithAt::new));
}
}

Expand All @@ -235,7 +237,10 @@ private static class DummyAbstract extends PhDefault {
*/
DummyAbstract(final Phi sigma) {
super(sigma);
this.add(UniverseDefaultTest.ATT, new AtVoid(UniverseDefaultTest.ATT));
this.add(
UniverseDefaultTest.ABSTRACT_ATT,
new AtVoid(UniverseDefaultTest.ABSTRACT_ATT)
);
}
}
}

1 comment on commit 29def27

@0pdd
Copy link

@0pdd 0pdd commented on 29def27 Apr 9, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Puzzle 2931-86a23c6e disappeared from eo-runtime/src/test/java/org/eolang/UniverseDefaultTest.java), that's why I closed #3015. Please, remember that the puzzle was not necessarily removed in this particular commit. Maybe it happened earlier, but we discovered this fact only now.

Please sign in to comment.