public Item(Item item, uint quantity, Corporation newOwner) { ItemInfo = item.ItemInfo; Quantity = quantity; Location = item.Location; Owner = newOwner; }
private static Agent AddEmployee(Corporation target, Agent agent) { target.Employees.Add(agent); agent.Corporation = target; return agent; }
public void CorporationHangar() { var corp = new Corporation(); var location = new Manufactory(); var property = corp.GetProperty(location); property.Add(new Item(new ItemInfo())); }
public static CorporationState Save(Corporation corporation) { return new CorporationState { ObjectId = corporation.Id, Name = corporation.Name, Employees = corporation.Employees.Select(Agent.Builder.Save), }; }
public void CantHireAgentEmployedBySomeoneElse() { var state = new AgentState(); var agent = Agent.Builder.Build(state).Build(new TestIdResolver()); var c1 = new Corporation(); c1.Hire(agent); var c2 = new Corporation(); Should.Throw<ArgumentException>(() => c2.Hire(agent)); }
public void CanBeHired() { var state = new AgentState(); var agent = Agent.Builder.Build(state).Build(new TestIdResolver()); var corporation = new Corporation(); corporation.Hire(agent); agent.Corporation.ShouldBe(corporation); corporation.Employees.ShouldContain(agent); }
public static Agent StandUp(this AgentState state, Corporation corporation = null, ILocation initialLocation = null) { var idResolver = IdResolver.Empty; if (initialLocation != null) { state.Location = initialLocation.AsObjectReference(); idResolver = new IdResolutionContext(new[] { initialLocation }); } var builder = Agent.Builder.Build(state) .Resolve((r, a) => a.Corporation = corporation); return builder.Materialise(idResolver.RegisterTestSkills()); }
public static ObjectBuilder<Corporation> Build(CorporationState state) { var corporation = new Corporation { Id = state.ObjectId, Name = state.Name, }; var builder = new ObjectBuilder<Corporation>(corporation); builder .Dependents(state.Employees) .Build(Agent.Builder.Build) .Resolve((resolver, target, agent) => AddEmployee(target, agent)); return builder; }
public static ObjectBuilder<Item> Build(ItemState state, ILocation location = null, Corporation owner = null) { var objRef = state.Type.ToObjectReference(state.Code); var item = new Item { Id = state.ObjectId, Quantity = state.Quantity, Location = location, Owner = owner, }; var builder = new ObjectBuilder<Item>(item); builder .Resolve((resolver, target) => item.ItemInfo = resolver.Get<ItemInfo>(objRef)); return builder; }
public void ObjectTypeIsCorporation() { var corp = new Corporation(); corp.ObjectType.ShouldBe(ObjectType.Corporation); }
public void CorporationVessels() { var corp = new Corporation(); corp.Ships.Add(new Ship()); }
public void CorporationStructures() { var corp = new Corporation(); corp.Structures.Add(new Manufactory()); }
public void CorporationMembers() { var corp = new Corporation(); corp.Employees.Add(new Agent()); }
public void CorporationItems() { var corp = new Corporation(); corp.Property.Add(new Item(new ItemInfo(ItemCode.LightFrigate))); }
public void CorporationBluePrints() { var corp = new Corporation(); corp.BluePrints.Add(new Item(new BluePrintInfo())); }
public void CorporationAuctions() { var corp = new Corporation(); corp.BuyOrders.Add(new BuyOrder()); corp.SellOrders.Add(new SellOrder()); }