 		}
 	}
 
-	private func versionsForDependency(project: ProjectIdentifier) -> ColdSignal<PinnedVersion> {
-		return .fromValues([
+	private func versionsForDependency(project: ProjectIdentifier) -> SignalProducer<PinnedVersion, CarthageError> {
+		return SignalProducer(values: [
 			PinnedVersion("0.4.1"),
 			PinnedVersion("0.9.0"),
 			PinnedVersion("1.0.2"),

		}

		it("should correctly order transitive dependencies") {
			let resolver = Resolver(versionsForDependency: { project in
				switch project.name {
				case "EmbeddedFrameworks":
					return .single(PinnedVersion("1.0.0"))

				case "Alamofire":
					return .single(PinnedVersion("1.1.2"))

				case "SwiftyJSON":
					return .single(PinnedVersion("2.1.2"))

				case "Swell":
					return .single(PinnedVersion("1.0.0"))

				default:
					assert(false)
				}
			}, cartfileForDependency: { dependency in
				if dependency.project.name == "EmbeddedFrameworks" {
					return .single(self.loadTestCartfile("EmbeddedFrameworksCartfile"))
				} else {
					return .single(Cartfile())
				}
			}, resolvedGitReference: { _ in .error(RACError.Empty.error) })

			let dependencies = self.orderedDependencies(resolver, fromCartfile: self.loadTestCartfile("EmbeddedFrameworksContainerCartfile"))
			expect(dependencies.count).to(equal(4));

		])
	}

	private func cartfileForDependency(dependency: Dependency<PinnedVersion>) -> SignalProducer<Cartfile, CarthageError> {
		var cartfile = Cartfile()

		if dependency.project == ProjectIdentifier.GitHub(GitHubRepository(owner: "ReactiveCocoa", name: "ReactiveCocoa")) {
			cartfile = Cartfile.fromString("github \"jspahrsummers/libextobjc\" ~> 0.4\ngithub \"jspahrsummers/objc-build-scripts\" >= 3.0").value!
		} else if dependency.project == ProjectIdentifier.GitHub(GitHubRepository(owner: "jspahrsummers", name: "objc-build-scripts")) {
			cartfile = Cartfile.fromString("github \"jspahrsummers/xcconfigs\" ~> 1.0").value!
		}

		return SignalProducer(value: cartfile)
	}

	private func resolvedGitReference(project: ProjectIdentifier, reference: String) -> SignalProducer<PinnedVersion, CarthageError> {
		return SignalProducer(value: PinnedVersion("8ff4393ede2ca86d5a78edaf62b3a14d90bffab9"))
	}
}
