Warning: session_start(): open(/var/lib/php/sessions/sess_3odo90a95een7759digtkflrc5, O_RDWR) failed: No space left on device (28) in /var/www/tb-usercake/models/config.php on line 51
Warning: session_start(): Failed to read session data: files (path: /var/lib/php/sessions) in /var/www/tb-usercake/models/config.php on line 51
!7
set flag ConceptRef_markInToString.
//set flag MetaTransformer_debug.
concept Bla {
S name;
new Ref myRef;
new RefL references;
}
module > DynPrintLog {
start-thread {
new Concepts cc;
Bla a = cnew(cc, Bla, name := "a");
Bla b = cnew(cc, Bla, name := "hello", whatever := 123, ref := a, myRef := a,
references := ll(a, a));
pnl(conceptShadow_rawMap(a));
ConceptShadow shadow = ConceptShadow(a);
print(shadow);
pnl(conceptShadow_rawMap(b));
shadow = ConceptShadow(b);
print(shadow);
assertEqualsVerbose(getClassName(Bla), shadow.get(":class"));
assertEqualsVerbose(ConceptID(a.id), shadow.get("ref"));
assertEqualsVerbose(ConceptID(a.id), shadow.get("myRef"));
assertEqualsVerbose(ll(ConceptID(a.id), ConceptID(a.id)), shadow.get("references"));
assertEqualsVerbose(b.id, shadow.get("id"));
assertEqualsVerbose("hello", shadow.get("name"));
// check that 2 shadows of same unchanged object are equal
assertEqualsVerbose(shadow, ConceptShadow(b));
// change object
cset(b, name := "newName");
ConceptShadow shadow2 = new(b);
assertNotEqualsVerbose(shadow, shadow2);
}
}