idx.loadModule("class1");
idx.ready();
assertModuleBinding("class1");
assertClassBinding("class1.A");
NBinding b = assertAttributeBinding("class1.A.__bases__");
assertStaticSynthetic(b);
assertTrue(b.getType().isTupleType());
assertTrue(((NTupleType)b.getType()).getElementTypes().isEmpty());
b = assertAttributeBinding("class1.A.__name__");
assertStaticSynthetic(b);
assertEquals(b.getType(), idx.builtins.BaseStr);
b = assertAttributeBinding("class1.A.__module__");
assertStaticSynthetic(b);
assertEquals(b.getType(), idx.builtins.BaseStr);
b = assertAttributeBinding("class1.A.__doc__");
assertStaticSynthetic(b);
assertEquals(b.getType(), idx.builtins.BaseStr);
b = assertAttributeBinding("class1.A.__dict__");
assertStaticSynthetic(b);
assertTrue(b.getType().isDictType());
assertEquals(((NDictType)b.getType()).getKeyType(), idx.builtins.BaseStr);
assertTrue(((NDictType)b.getType()).getValueType().isUnknownType());
}