BundleDescription a1_100 = state.getFactory().createBundleDescription(state, manifest, "a1_100", 0);
BundleDescription a1_100 = state.getFactory().createBundleDescription(state, manifest, "a1_100", id++);
	public void testFragmentConstraints() throws BundleException {		State state = buildEmptyState();		Hashtable manifest = new Hashtable();		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2");		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "A1");		manifest.put(Constants.BUNDLE_VERSION, "1.0.0");		manifest.put(Constants.EXPORT_PACKAGE, "a; uses:=d");		manifest.put(Constants.IMPORT_PACKAGE, "b; version=2.0");		manifest.put(Constants.REQUIRE_BUNDLE, "C1; bundle-version=\"[2.0, 3.0)\"");		BundleDescription a1_100 = state.getFactory().createBundleDescription(state, manifest, "a1_100", 0);		manifest = new Hashtable();		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2");		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "A1.Frag");		manifest.put(Constants.BUNDLE_VERSION, "1.0.0");		manifest.put(Constants.FRAGMENT_HOST, "A1");		manifest.put(Constants.EXPORT_PACKAGE, "a.frag");		manifest.put(Constants.IMPORT_PACKAGE, "b; version=1.0");		manifest.put(Constants.REQUIRE_BUNDLE, "C1; bundle-version=\"[2.0, 3.0)\"");		BundleDescription a1frag_100 = state.getFactory().createBundleDescription(state, manifest, "a1frag_100", 1);		manifest = new Hashtable();		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2");		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "B1");		manifest.put(Constants.BUNDLE_VERSION, "1.0.0");		manifest.put(Constants.EXPORT_PACKAGE, "b; version=2.1");		BundleDescription b1_100 = state.getFactory().createBundleDescription(state, manifest, "b1_100", 3);		manifest = new Hashtable();		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2");		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "C1");		manifest.put(Constants.BUNDLE_VERSION, "2.0.1");		manifest.put(Constants.EXPORT_PACKAGE, "c");		BundleDescription c1_100 = state.getFactory().createBundleDescription(state, manifest, "c1_100", 4);		state.addBundle(a1_100);		state.addBundle(a1frag_100);		state.addBundle(b1_100);		state.addBundle(c1_100);		state.resolve();		assertTrue("0.1", a1_100.isResolved());		assertTrue("0.2", a1frag_100.isResolved());		assertTrue("0.3", b1_100.isResolved());		assertTrue("0.4", c1_100.isResolved());		// now use a fragment that has conflicting imports/requires with the host		manifest = new Hashtable();		manifest.put(Constants.BUNDLE_MANIFESTVERSION, "2");		manifest.put(Constants.BUNDLE_SYMBOLICNAME, "A1.Frag");		manifest.put(Constants.BUNDLE_VERSION, "1.0.0");		manifest.put(Constants.FRAGMENT_HOST, "A1");		manifest.put(Constants.EXPORT_PACKAGE, "a.frag");		manifest.put(Constants.IMPORT_PACKAGE, "b; version=2.1");		manifest.put(Constants.REQUIRE_BUNDLE, "C1; bundle-version=\"[2.0, 2.5)\"");		a1frag_100 = state.getFactory().createBundleDescription(state, manifest, "a1frag_100", 1);		state.updateBundle(a1frag_100);		state.resolve(false);		assertTrue("1.1", a1_100.isResolved());		assertFalse("1.2", a1frag_100.isResolved());		assertTrue("1.3", b1_100.isResolved());		assertTrue("1.4", c1_100.isResolved());	}