XSObject[] elements = schema.getElements();
assertEquals(4, elements.length);
XSElement e1 = (XSElement) elements[0];
assertEquals(new XsQName((String) null, "a"), e1.getName());
XSType t1 = e1.getType();
assertEquals(XSString.getInstance(), t1);
XSElement e2 = (XSElement) elements[1];
assertEquals(new XsQName((String) null, "b"), e2.getName());
XSType t2 = e2.getType();
assertEquals(XSFloat.getInstance(), assertRestriction(assertSimpleType(t2)));
XSElement e3 = (XSElement) elements[2];
assertEquals(new XsQName((String) null, "c"), e3.getName());
XSComplexType ct3 = assertComplexType(e3.getType());
XSParticle p3 = assertComplexContent(ct3);
XSGroup g3 = assertGroup(p3);
XSParticle[] particles3 = g3.getParticles();
assertEquals(2, particles3.length);
XSElement e3_1 = assertElement(particles3[0]);
assertEquals(new XsQName((String) null, "a"), e3_1.getName());
assertEquals(e1.getType(), e3_1.getType());
XSParticle p3_2 = particles3[1];
assertEquals(0, p3_2.getMinOccurs());
XSElement e3_2 = assertElement(p3_2);
assertEquals(new XsQName((String) null, "d"), e3_2.getName());
assertEquals(XSDouble.getInstance(), e3_2.getType());
XSAttributable[] a3 = ct3.getAttributes();
assertEquals(1, a3.length);
XSAttribute a3_1 = (XSAttribute) a3[0];
assertEquals(new XsQName((String) null, "e"), a3_1.getName());
assertEquals(XSInt.getInstance(), a3_1.getType());
XSElement e4 = (XSElement) elements[3];
assertEquals(new XsQName((String) null, "f"), e4.getName());
XSComplexType ct4 = assertComplexType(e4.getType());
XSType t4 = assertSimpleContent(ct4).getType();
assertSimpleType(t4);
assertEquals(XSInt.getInstance(), t4);
XSAttributable[] a4 = ct4.getAttributes();
assertEquals(1, a4.length);
XSAttribute a4_1 = (XSAttribute) a4[0];