public void GivenListOfUnitsWhenCreatedThenCountIsAvailable() { var units = CreateUnits("m", "ac", "mm"); var collection = new UnitCollection <IUnit>(units); Assert.AreEqual(3, collection.Count); }
public void GivenListOfUnitsWhenIndexedByDomainIdThenUnit() { var units = CreateUnits("mm", "m", "in"); var collection = new UnitCollection <IUnit>(units); Assert.AreSame(units[1], collection["m"]); }
public void TestSimpleOneRoundExpeditionWithTenOfAllUnits() { var sendUnits = new UnitCollection( new UnitAmount(UnitInfo.WorkerUnitType, 10), new UnitAmount(UnitInfo.SoldierUnitType, 10), new UnitAmount(UnitInfo.ScientistUnitType, 10)); ExpeditionData data = new ExpeditionData { Owner = null, // not important StartingRound = 1, EndingRound = 1, AssignedUnits = sendUnits, RemainingUnits = sendUnits.Clone(), CurrentRange = 0.0m, DiscoveredResources = new ResourceCollection() }; ExpeditionLogic expeditionLogic = ObtainExpeditionLogic(); var statePrinter = StatePrinters.For(data); statePrinter.PrintState(data, Console.Out); expeditionLogic.ProcessExpedition(data, 1); statePrinter.PrintState(data, Console.Out); }
public Result Process() { var result = new Result(); if (SlotCollection != null && _slotOptions.Count == SlotCollection.Count) { foreach (var options in _slotOptions) { SlotOptions options1 = options; if (options1.MachineId.HasValue) { int machineId = options1.MachineId.Value; var slot = SlotCollection.First(x => x.Id == machineId); slot.SlotOptions = options; } } _slotOptions.Clear(); result.SlotsUpdated = true; } if (LogRetrieved) { if (result.SlotsUpdated) { result.ExecuteRetrieval = true; } if (UnitCollection != null && !_unitCollectionEqualityComparer.Equals(_previousUnitCollection, UnitCollection)) { _previousUnitCollection = UnitCollection; result.ExecuteRetrieval = true; } } return(result); }
/// <summary> /// 获得分页列表,无论是否是缓存实体都从数据库直接拿取数据 /// </summary> /// <param name="pPageIndex">页数</param> /// <param name="pPageSize">每页列表</param> /// <param name="pOrderBy">排序</param> /// <param name="pSortExpression">排序字段</param> /// <param name="pRecordCount">列表行数</param> /// <returns>数据分页</returns> public static List <UnitInfo> GetPagedList(int pPageIndex, int pPageSize, SortDirection pOrderBy, string pSortExpression, out int pRecordCount) { if (pPageIndex <= 1) { pPageIndex = 1; } List <UnitInfo> list = new List <UnitInfo>(); Query q = Unit.CreateQuery(); q.PageIndex = pPageIndex; q.PageSize = pPageSize; q.ORDER_BY(pSortExpression, pOrderBy.ToString()); UnitCollection collection = new UnitCollection(); collection.LoadAndCloseReader(q.ExecuteReader()); foreach (Unit unit in collection) { UnitInfo unitInfo = new UnitInfo(); LoadFromDAL(unitInfo, unit); list.Add(unitInfo); } pRecordCount = q.GetRecordCount(); return(list); }
private bool UpdateUnitCollectionFromMessage(FahClientMessage message) { var existingUnitCollection = UnitCollection; UnitCollection = UnitCollection.Load(message.MessageText); return(existingUnitCollection is null || !UnitCollectionEqualityComparer.Instance.Equals(existingUnitCollection, UnitCollection)); }
//Find references on class initialisation private void Start() { Instance = this; cNetworkManager = GameObject.Find("_NetworkManager").GetComponent <NetworkManager>(); cUnitCollection = UnitCollection.Instance; goUnitVault = GameObject.Find("_ClientUnitVault"); }
public UnitBox() { InitializeComponent(); unitCollection = new UnitCollection(); units.SelectionChanged += units_SelectionChanged; units.ItemsSource = unitCollection; }
/// <summary> /// 获得数据列表 /// </summary> /// <returns></returns> public static List <UnitInfo> GetList() { string cacheKey = GetCacheKey(); //本实体已经注册成缓存实体,并且缓存存在的时候,直接从缓存取 if (CachedEntityCommander.IsTypeRegistered(typeof(UnitInfo)) && CachedEntityCommander.GetCache(cacheKey) != null) { return(CachedEntityCommander.GetCache(cacheKey) as List <UnitInfo>); } else { List <UnitInfo> list = new List <UnitInfo>(); UnitCollection collection = new UnitCollection(); Query qry = new Query(Unit.Schema); collection.LoadAndCloseReader(qry.ExecuteReader()); foreach (Unit unit in collection) { UnitInfo unitInfo = new UnitInfo(); LoadFromDAL(unitInfo, unit); list.Add(unitInfo); } //生成缓存 if (CachedEntityCommander.IsTypeRegistered(typeof(UnitInfo))) { CachedEntityCommander.SetCache(cacheKey, list); } return(list); } }
public void GivenListOfUnitsWhenEnmeratedThenAllUnitsAreEnumerated() { var units = CreateUnits("m", "ft", "mm", "in", "cm"); var collection = new UnitCollection<IUnit>(units); var actual = collection.Count(); Assert.AreEqual(5, actual); }
/// <summary>Creates a new <see cref="Power"/> instance. /// </summary> /// <param name="name">Name.</param> public Power(string name) { this.name = name; this.units = new UnitCollection(); this.ownedSupplyProvinces = new ProvinceCollection(); this.homeProvinces = new ProvinceCollection(); }
public void GivenListWithDuplicateUnitsWWhenCreatedThenDuplicatesAreRemoved() { var units = CreateUnits("mm", "m", "mm"); var collecion = new UnitCollection <IUnit>(units); Assert.AreEqual(2, collecion.Count); }
public void GivenDomainIdNotInUnitsWhenIndexedThenNull() { var units = CreateUnits("m", "mm"); var collection = new UnitCollection <IUnit>(units); var unit = collection["ft"]; Assert.IsNull(unit); }
public void GivenDomainIdNotInUnitsWhenIndexedThenNull() { var units = CreateUnits("m", "mm"); var collection = new UnitCollection<IUnit>(units); var unit = collection["ft"]; Assert.IsNull(unit); }
public void Start() { unitCollection = UnitCollection.GetSingleton(); player1Faction = unitCollection.FactionPicker(PlayerPrefs.GetInt("Player1Faction")); player2Faction = unitCollection.FactionPicker(PlayerPrefs.GetInt("Player2Faction")); UpdateUI(); }
public void GivenListOfUnitsWhenEnmeratedThenAllUnitsAreEnumerated() { var units = CreateUnits("m", "ft", "mm", "in", "cm"); var collection = new UnitCollection <IUnit>(units); var actual = collection.Count(); Assert.AreEqual(5, actual); }
/// <summary> /// 批量装载 /// </summary> internal static void LoadFromDALPatch(List <UnitInfo> pList, UnitCollection pCollection) { foreach (Unit unit in pCollection) { UnitInfo unitInfo = new UnitInfo(); LoadFromDAL(unitInfo, unit); pList.Add(unitInfo); } }
public Player(Vector3 position, int facing) { this.uuid = Guid.NewGuid(); this.position = position; this.facing = facing; this.all_units = new UnitCollection(); this.manage_units = new UnitManagement(); }
public int[] Execute(UnitCollection units, RuleArgs args) { int[] result = new int[m_rules.Count]; int pos = 0; foreach (Rule rule in m_rules) { result[pos++] = rule.Execute(units, args); } return(result); }
public void RoundingTest() { var manager = new UnitsManager(new UnitCollection(UnitCollection.CreateUnits())); var meter = manager.GetUnit(UnitID.Meter); meter.Magnitude = 123456789; double d = 1000000; string dstr = d.ToString(); }
public void Awake() { // Singleton makes sure there is only one of this object if (m_Singleton != null) { DestroyImmediate(gameObject); return; } m_Singleton = this; DontDestroyOnLoad(this.gameObject); }
public void EqualityTest1() { string message = File.ReadAllText("..\\..\\..\\TestFiles\\Client_v7_1\\units.txt"); string messageCopy = message; var unitCollection1 = new UnitCollection(); unitCollection1.Fill(MessageCache.GetNextJsonMessage(ref messageCopy)); var unitCollection2 = new UnitCollection(); messageCopy = message; unitCollection2.Fill(MessageCache.GetNextJsonMessage(ref messageCopy)); Assert.IsTrue(unitCollection1.Equals(unitCollection2)); }
public void ManagerTest() { var manager = new UnitsManager(new UnitCollection(UnitCollection.CreateUnits())); var meter = manager.GetUnit(UnitID.Meter); //manager.Units.First(p => p.Name.Equals("Meter", StringComparison.InvariantCultureIgnoreCase)); Assert.IsNotNull(meter, "The unit Meter was not found."); meter.Magnitude = 5; // 5m manager.UpdateUnits(meter); }
private static void Main(string[] args) { /* * Task.Run(async() => * { * await UnitManager.CreateInstance(args); * }).GetAwaiter().GetResult(); */ Task.Run(async() => { await UnitCollection.CollectServiceAsync(args); }).GetAwaiter().GetResult(); }
/// <summary> /// Undoes the execution of a previous <see cref="IUnit"/>. /// </summary> /// <exception cref="InvalidOperationException"> /// Occurs if there are no previously executed units to undo.</exception> public UnitResult Undo(object ownerKey) { if (ownerKey == null) { return(Undo()); } if (!undoableDictionary.TryGetValue(ownerKey, out UnitCollection <IUndoableUnit> undoableUnits)) { throw new InvalidOperationException("No undoable units for the specified owner key."); } IUndoableUnit undoableUnit = undoableUnits.Pop(); if (!repeatableDictionary.TryGetValue(ownerKey, out UnitCollection <IInternalUnit> repeatableUnits)) { throw new InvalidOperationException("No repeatable units for the specified owner key."); } repeatableUnits.RemoveLast(); var eventArgs = new CancellableUndoServiceEventArgs(undoableUnit) { OwnerKey = ownerKey }; OnUndoing(eventArgs); if (eventArgs.Cancel) { undoableUnits.AddLast(undoableUnit); return(UnitResult.Cancelled); } if (!redoableDictionary.TryGetValue(ownerKey, out UnitCollection <IUndoableUnit> redoableUnits)) { redoableUnits = new UnitCollection <IUndoableUnit>(); redoableDictionary[ownerKey] = redoableUnits; } redoableUnits.AddLast(undoableUnit); var result = undoableUnit.Undo(); TrimIfRequired(ownerKey); OnUndone(new UndoServiceEventArgs(undoableUnit)); return(result); }
/// <summary> /// Aggregate Data and return UnitInfo Dictionary. /// </summary> public DataAggregatorResult AggregateData(ClientRun clientRun, UnitCollection unitCollection, Info info, Options options, SlotOptions slotOptions, UnitInfo currentUnitInfo, int slotId) { if (clientRun == null) throw new ArgumentNullException("clientRun"); if (unitCollection == null) throw new ArgumentNullException("unitCollection"); if (options == null) throw new ArgumentNullException("options"); if (slotOptions == null) throw new ArgumentNullException("slotOptions"); if (currentUnitInfo == null) throw new ArgumentNullException("currentUnitInfo"); var result = new DataAggregatorResult(); result.CurrentUnitIndex = -1; SlotRun slotRun = null; if (clientRun.SlotRuns.ContainsKey(slotId)) { slotRun = clientRun.SlotRuns[slotId]; } result.StartTime = clientRun.Data.StartTime; result.Arguments = clientRun.Data.Arguments; result.ClientVersion = clientRun.Data.ClientVersion; result.UserID = clientRun.Data.UserID; result.MachineID = clientRun.Data.MachineID; result.Status = slotRun != null ? slotRun.Data.Status : SlotStatus.Unknown; if (Logger.IsDebugEnabled) { foreach (var s in clientRun.Where(x => x.LineType == LogLineType.Error)) { Logger.DebugFormat(Constants.ClientNameFormat, ClientName, String.Format("Failed to parse log line: {0}", s)); } } GenerateUnitInfoDataFromQueue(result, slotRun, unitCollection, options, slotOptions, currentUnitInfo, slotId); result.Queue = BuildClientQueue(unitCollection, info, slotOptions, slotId); if (result.UnitInfos.ContainsKey(result.CurrentUnitIndex) && result.UnitInfos[result.CurrentUnitIndex].LogLines != null) { result.CurrentLogLines = result.UnitInfos[result.CurrentUnitIndex].LogLines; } else if (slotRun != null) { result.CurrentLogLines = slotRun.ToList(); } else { result.CurrentLogLines = clientRun.ToList(); } return result; }
public UnitCollection Standardize(UnitCollection units) { UnitCollection standardized = new UnitCollection(); Vector <double> mean = CalculateMean(units); Vector <double> sd = CalculateStandardDeviation(units, mean); foreach (Unit unit in units.List) { standardized.Add(((unit.ToVector() - mean) / sd).ToArray()); } return(standardized); }
/// <summary>Executes the specified unit.</summary> /// <param name="unit">The command to execute.</param> /// <param name="argument">The argument passed to the unit on execution.</param> /// <param name="ownerKey">An object identifying the owner of the unit.</param> public UnitResult PerformUnit <T>( UndoableUnitBase <T> unit, T argument, object ownerKey) { //AssertArg.IsNotNull(unit, nameof(unit)); if (unit == null) { throw new ArgumentNullException(nameof(unit)); } if (ownerKey == null) { return(PerformUnit(unit, argument)); } var eventArgs = new CancellableUndoServiceEventArgs(unit) { OwnerKey = ownerKey }; OnExecuting(eventArgs); if (eventArgs.Cancel) { return(UnitResult.Cancelled); } redoableDictionary.Remove(ownerKey); if (!repeatableDictionary.TryGetValue(ownerKey, out UnitCollection <IInternalUnit> repeatableUnits)) { repeatableUnits = new UnitCollection <IInternalUnit>(); repeatableDictionary[ownerKey] = repeatableUnits; } repeatableUnits.AddLast(unit); if (!undoableDictionary.TryGetValue(ownerKey, out UnitCollection <IUndoableUnit> undoableUnits)) { undoableUnits = new UnitCollection <IUndoableUnit>(); undoableDictionary[ownerKey] = undoableUnits; } undoableUnits.AddLast(unit); UnitResult result = unit.PerformUnit(argument, UnitMode.FirstTime); TrimIfRequired(ownerKey); OnExecuted(new UndoServiceEventArgs(unit)); return(result); }
public Vector <double> CalculateMean(UnitCollection units) { Vector <double> mean = Vector <double> .Build.Dense(units.NumberOfValues()); foreach (Unit unit in units.List) { Vector <double> v = unit.ToVector(); mean += v; } mean *= 1.0 / units.List.Count(); return(mean); }
Matrix <double> CalculateCovariance(UnitCollection units) { Matrix <double> covariance = Matrix <double> .Build.Dense(units.NumberOfValues(), units.NumberOfValues()); foreach (Unit unit in units.List) { Vector <double> v = unit.ToVector() - Mean; covariance += v.ToColumnMatrix() * v.ToRowMatrix(); } covariance *= 1.0 / units.List.Count(); return(covariance); }
public Vector <double> CalculateStandardDeviation(UnitCollection units, Vector <double> mean) { Vector <double> sd = Vector <double> .Build.Dense(units.NumberOfValues()); foreach (Unit unit in units.List) { Vector <double> v = unit.ToVector(); sd += (v - mean).PointwisePower(2); } sd *= 1.0 / units.List.Count(); return(sd.PointwisePower(0.5)); }
public double CalculateProbabilityLimit(UnitCollection units) { double min = 1; foreach (Unit unit in units.List) { double px = CalculateProbability(unit); if (px < min) { min = px; } } return(min); }
/// <summary> /// Performs the execution of a <see cref="IUnit"/> /// instance that has been undone, then places it back /// into the command stack. /// </summary> public UnitResult Redo(object ownerKey) { if (ownerKey == null) { return(Redo()); } if (!redoableDictionary.TryGetValue(ownerKey, out UnitCollection <IUndoableUnit> redoableUnits)) { throw new InvalidOperationException("No units to be redone for the specified owner key."); } IUndoableUnit unit = redoableUnits.Pop(); var eventArgs = new CancellableUndoServiceEventArgs(unit); OnRedoing(eventArgs); if (eventArgs.Cancel) { redoableUnits.AddLast(unit); return(UnitResult.Cancelled); } var internalUnit = (IInternalUnit)unit; if (!repeatableDictionary.TryGetValue(ownerKey, out UnitCollection <IInternalUnit> repeatableUnits)) { repeatableUnits = new UnitCollection <IInternalUnit>(); } repeatableUnits.AddLast(internalUnit); if (!undoableDictionary.TryGetValue(ownerKey, out UnitCollection <IUndoableUnit> undoableUnits)) { undoableUnits = new UnitCollection <IUndoableUnit>(); } undoableUnits.AddLast(unit); UnitResult result = internalUnit.PerformUnit(internalUnit.Argument, UnitMode.Redo); TrimIfRequired(ownerKey); OnRedone(new UndoServiceEventArgs(unit)); return(result); }
public void ConversionCorrectness() { var manager = new UnitsManager(new UnitCollection(UnitCollection.CreateUnits())); var inches = manager.GetUnit(UnitID.Inch); Assert.IsNotNull(inches); var feet = manager.GetUnit(UnitID.Foot); Assert.IsNotNull(feet); inches.Magnitude = 32; manager.UpdateUnits(sourceUnit: inches); Assert.AreEqual <double>(expected: 2.6666666666666667, actual: feet.Magnitude.Value, message: "Conversion from inches to feet is incorrect!"); }
public static void ParseUnits(XDocument document, Instance instance) { // parse units and add to instance // ix:header/ix:resources/xbrli:unit var unitNs = document.Root.GetNamespaceOfPrefix("xbrli"); var unitElements = document.Root.Descendants(unitNs + "unit"); var unitSerializer = new XmlSerializer(typeof(Unit)); var units = new UnitCollection(instance); foreach (var unitElement in unitElements) { var unitReader = unitElement.CreateReader(); var unit = (Unit)unitSerializer.Deserialize(unitReader); units.Add(unit); } instance.Units = units; }
public void FillDerivedTest1() { string message = File.ReadAllText("..\\..\\..\\TestFiles\\Client_v7_1\\units.txt"); var unitCollection = new UnitCollection(); unitCollection.Fill<UnitDerived>(MessageCache.GetNextJsonMessage(ref message)); Assert.AreEqual(0, unitCollection[0].Id); Assert.AreEqual("00", ((UnitDerived)unitCollection[0]).IdString); Assert.AreEqual(null, ((UnitDerived)unitCollection[0]).IdBool); Assert.AreEqual("RUNNING", unitCollection[0].State); Assert.AreEqual(FahUnitStatus.Running, unitCollection[0].StateEnum); Assert.AreEqual(null, unitCollection[0].Error); Assert.AreEqual(11020, unitCollection[0].Project); Assert.AreEqual(0, unitCollection[0].Run); Assert.AreEqual(1921, unitCollection[0].Clone); Assert.AreEqual(24, unitCollection[0].Gen); Assert.AreEqual("0xa3", unitCollection[0].Core); Assert.AreEqual("0x000000210a3b1e5b4d824701aee79f1e", unitCollection[0].UnitId); Assert.AreEqual("59.00%", unitCollection[0].PercentDone); Assert.AreEqual(1000, unitCollection[0].TotalFrames); Assert.AreEqual(590, unitCollection[0].FramesDone); Assert.AreEqual("27/May/2011-19:34:24", unitCollection[0].Assigned); Assert.AreEqual(new DateTime(2011, 5, 27, 19, 34, 24), unitCollection[0].AssignedDateTime); Assert.AreEqual("04/Jun/2011-19:34:24", unitCollection[0].Timeout); Assert.AreEqual(new DateTime(2011, 6, 4, 19, 34, 24), unitCollection[0].TimeoutDateTime); Assert.AreEqual("08/Jun/2011-19:34:24", unitCollection[0].Deadline); Assert.AreEqual(new DateTime(2011, 6, 8, 19, 34, 24), unitCollection[0].DeadlineDateTime); Assert.AreEqual("171.64.65.55", unitCollection[0].WorkServer); Assert.AreEqual("171.67.108.26", unitCollection[0].CollectionServer); Assert.AreEqual(String.Empty, unitCollection[0].WaitingOn); Assert.AreEqual(0, unitCollection[0].Attempts); Assert.AreEqual("0.00 secs", unitCollection[0].NextAttempt); Assert.AreEqual(0, unitCollection[0].Slot); Assert.AreEqual("2 hours 28 mins", unitCollection[0].Eta); Assert.AreEqual(new TimeSpan(2, 28, 0), unitCollection[0].EtaTimeSpan); Assert.AreEqual(1749.96, unitCollection[0].Ppd); Assert.AreEqual("3 mins 38 secs", unitCollection[0].Tpf); Assert.AreEqual(new TimeSpan(0, 3, 38), unitCollection[0].TpfTimeSpan); Assert.AreEqual(443, unitCollection[0].BaseCredit); Assert.AreEqual(443, unitCollection[0].CreditEstimate); }
public void FillTest4() { string message = File.ReadAllText("..\\..\\..\\TestFiles\\Client_v7_4\\units.txt"); var unitCollection = new UnitCollection(); unitCollection.Fill(MessageCache.GetNextJsonMessage(ref message)); Assert.AreEqual(1, unitCollection[0].Id); Assert.AreEqual("RUNNING", unitCollection[0].State); Assert.AreEqual(FahUnitStatus.Running, unitCollection[0].StateEnum); Assert.AreEqual(null, unitCollection[0].Error); Assert.AreEqual(7507, unitCollection[0].Project); Assert.AreEqual(0, unitCollection[0].Run); Assert.AreEqual(34, unitCollection[0].Clone); Assert.AreEqual(1, unitCollection[0].Gen); Assert.AreEqual("0xa3", unitCollection[0].Core); Assert.AreEqual("0x00000001fbcb017d4e495fa0e0a7ef94", unitCollection[0].UnitId); Assert.AreEqual("36.00%", unitCollection[0].PercentDone); Assert.AreEqual(500, unitCollection[0].TotalFrames); Assert.AreEqual(180, unitCollection[0].FramesDone); Assert.AreEqual("17/Aug/2011-15:14:58", unitCollection[0].Assigned); Assert.AreEqual(new DateTime(2011, 8, 17, 15, 14, 58), unitCollection[0].AssignedDateTime); Assert.AreEqual("21/Aug/2011-12:50:58", unitCollection[0].Timeout); Assert.AreEqual(new DateTime(2011, 8, 21, 12, 50, 58), unitCollection[0].TimeoutDateTime); Assert.AreEqual("24/Aug/2011-03:14:58", unitCollection[0].Deadline); Assert.AreEqual(new DateTime(2011, 8, 24, 3, 14, 58), unitCollection[0].DeadlineDateTime); Assert.AreEqual("128.143.199.97", unitCollection[0].WorkServer); Assert.AreEqual(new IPAddress(new byte[] { 128, 143, 199, 97 }), unitCollection[0].WorkServerIPAddress); Assert.AreEqual("130.237.165.141", unitCollection[0].CollectionServer); Assert.AreEqual(new IPAddress(new byte[] { 130, 237, 165, 141 }), unitCollection[0].CollectionServerIPAddress); Assert.AreEqual(String.Empty, unitCollection[0].WaitingOn); Assert.AreEqual(0, unitCollection[0].Attempts); Assert.AreEqual("0.00 secs", unitCollection[0].NextAttempt); Assert.AreEqual(TimeSpan.Zero, unitCollection[0].NextAttemptTimeSpan); Assert.AreEqual(0, unitCollection[0].Slot); Assert.AreEqual("9 hours 14 mins", unitCollection[0].Eta); // not exactly the same value seen in SimulationInfo.EtaTimeSpan Assert.AreEqual(new TimeSpan(9, 14, 0), unitCollection[0].EtaTimeSpan); Assert.AreEqual(1332.08, unitCollection[0].Ppd); Assert.AreEqual("8 mins 42 secs", unitCollection[0].Tpf); Assert.AreEqual(new TimeSpan(0, 8, 42), unitCollection[0].TpfTimeSpan); Assert.AreEqual(805, unitCollection[0].BaseCredit); Assert.AreEqual(805, unitCollection[0].CreditEstimate); Assert.AreEqual(0, unitCollection[1].Id); Assert.AreEqual("RUNNING", unitCollection[1].State); Assert.AreEqual(FahUnitStatus.Running, unitCollection[1].StateEnum); Assert.AreEqual(null, unitCollection[0].Error); Assert.AreEqual(5788, unitCollection[1].Project); Assert.AreEqual(9, unitCollection[1].Run); Assert.AreEqual(838, unitCollection[1].Clone); Assert.AreEqual(9, unitCollection[1].Gen); Assert.AreEqual("0x11", unitCollection[1].Core); Assert.AreEqual("0x26fdfab84e4c0607000903460009169c", unitCollection[1].UnitId); Assert.AreEqual("96.00%", unitCollection[1].PercentDone); Assert.AreEqual(20000, unitCollection[1].TotalFrames); Assert.AreEqual(19200, unitCollection[1].FramesDone); Assert.AreEqual("17/Aug/2011-18:18:47", unitCollection[1].Assigned); Assert.AreEqual(new DateTime(2011, 8, 17, 18, 18, 47), unitCollection[1].AssignedDateTime); Assert.AreEqual("<invalid>", unitCollection[1].Timeout); Assert.AreEqual(null, unitCollection[1].TimeoutDateTime); Assert.AreEqual("01/Sep/2011-18:18:47", unitCollection[1].Deadline); Assert.AreEqual(new DateTime(2011, 9, 1, 18, 18, 47), unitCollection[1].DeadlineDateTime); Assert.AreEqual("171.64.65.106", unitCollection[1].WorkServer); Assert.AreEqual(new IPAddress(new byte[] { 171, 64, 65, 106 }), unitCollection[1].WorkServerIPAddress); Assert.AreEqual("171.67.108.25", unitCollection[1].CollectionServer); Assert.AreEqual(new IPAddress(new byte[] { 171, 67, 108, 25 }), unitCollection[1].CollectionServerIPAddress); Assert.AreEqual(String.Empty, unitCollection[1].WaitingOn); Assert.AreEqual(0, unitCollection[1].Attempts); Assert.AreEqual("0.00 secs", unitCollection[1].NextAttempt); Assert.AreEqual(TimeSpan.Zero, unitCollection[1].NextAttemptTimeSpan); Assert.AreEqual(1, unitCollection[1].Slot); Assert.AreEqual("4 mins 22 secs", unitCollection[1].Eta); // not exactly the same value seen in SimulationInfo.EtaTimeSpan Assert.AreEqual(new TimeSpan(0, 4, 22), unitCollection[1].EtaTimeSpan); Assert.AreEqual(0, unitCollection[1].Ppd); Assert.AreEqual("1 mins 21 secs", unitCollection[1].Tpf); Assert.AreEqual(new TimeSpan(0, 1, 21), unitCollection[1].TpfTimeSpan); Assert.AreEqual(0, unitCollection[1].BaseCredit); Assert.AreEqual(0, unitCollection[1].CreditEstimate); Assert.AreEqual(2, unitCollection[2].Id); Assert.AreEqual("RUNNING", unitCollection[2].State); Assert.AreEqual(FahUnitStatus.Running, unitCollection[2].StateEnum); Assert.AreEqual(null, unitCollection[0].Error); Assert.AreEqual(5796, unitCollection[2].Project); Assert.AreEqual(19, unitCollection[2].Run); Assert.AreEqual(79, unitCollection[2].Clone); Assert.AreEqual(5, unitCollection[2].Gen); Assert.AreEqual("0x11", unitCollection[2].Core); Assert.AreEqual("0x5df0a3a64e4c24b70005004f001316a4", unitCollection[2].UnitId); Assert.AreEqual("4.00%", unitCollection[2].PercentDone); Assert.AreEqual(20000, unitCollection[2].TotalFrames); Assert.AreEqual(800, unitCollection[2].FramesDone); Assert.AreEqual("17/Aug/2011-20:29:43", unitCollection[2].Assigned); Assert.AreEqual(new DateTime(2011, 8, 17, 20, 29, 43), unitCollection[2].AssignedDateTime); Assert.AreEqual("<invalid>", unitCollection[2].Timeout); Assert.AreEqual(null, unitCollection[2].TimeoutDateTime); Assert.AreEqual("01/Sep/2011-20:29:43", unitCollection[2].Deadline); Assert.AreEqual(new DateTime(2011, 9, 1, 20, 29, 43), unitCollection[2].DeadlineDateTime); Assert.AreEqual("171.64.65.106", unitCollection[2].WorkServer); Assert.AreEqual(new IPAddress(new byte[] { 171, 64, 65, 106 }), unitCollection[2].WorkServerIPAddress); Assert.AreEqual("171.67.108.25", unitCollection[2].CollectionServer); Assert.AreEqual(new IPAddress(new byte[] { 171, 67, 108, 25 }), unitCollection[2].CollectionServerIPAddress); Assert.AreEqual(String.Empty, unitCollection[2].WaitingOn); Assert.AreEqual(0, unitCollection[2].Attempts); Assert.AreEqual("0.00 secs", unitCollection[2].NextAttempt); Assert.AreEqual(TimeSpan.Zero, unitCollection[2].NextAttemptTimeSpan); Assert.AreEqual(2, unitCollection[2].Slot); Assert.AreEqual("3 hours 04 mins", unitCollection[2].Eta); // not exactly the same value seen in SimulationInfo.EtaTimeSpan Assert.AreEqual(new TimeSpan(3, 4, 0), unitCollection[2].EtaTimeSpan); Assert.AreEqual(0, unitCollection[2].Ppd); Assert.AreEqual("1 mins 55 secs", unitCollection[2].Tpf); Assert.AreEqual(new TimeSpan(0, 1, 55), unitCollection[2].TpfTimeSpan); Assert.AreEqual(0, unitCollection[2].BaseCredit); Assert.AreEqual(0, unitCollection[2].CreditEstimate); }
public void FillTest3() { string message = File.ReadAllText("..\\..\\..\\TestFiles\\Client_v7_3\\units.txt"); var unitCollection = new UnitCollection(); unitCollection.Fill(MessageCache.GetNextJsonMessage(ref message)); Assert.AreEqual(0, unitCollection[0].Id); Assert.AreEqual("RUNNING", unitCollection[0].State); Assert.AreEqual(FahUnitStatus.Running, unitCollection[0].StateEnum); Assert.AreEqual(null, unitCollection[0].Error); Assert.AreEqual(7018, unitCollection[0].Project); Assert.AreEqual(2, unitCollection[0].Run); Assert.AreEqual(76, unitCollection[0].Clone); Assert.AreEqual(18, unitCollection[0].Gen); Assert.AreEqual("0xa4", unitCollection[0].Core); Assert.AreEqual("0x0000002c0001329c4dfba21231353df5", unitCollection[0].UnitId); Assert.AreEqual("3.00%", unitCollection[0].PercentDone); Assert.AreEqual(10000, unitCollection[0].TotalFrames); Assert.AreEqual(300, unitCollection[0].FramesDone); Assert.AreEqual("09/Aug/2011-05:40:17", unitCollection[0].Assigned); Assert.AreEqual(new DateTime(2011, 8, 9, 5, 40, 17), unitCollection[0].AssignedDateTime); Assert.AreEqual("17/Aug/2011-05:40:17", unitCollection[0].Timeout); Assert.AreEqual(new DateTime(2011, 8, 17, 5, 40, 17), unitCollection[0].TimeoutDateTime); Assert.AreEqual("20/Aug/2011-05:40:17", unitCollection[0].Deadline); Assert.AreEqual(new DateTime(2011, 8, 20, 5, 40, 17), unitCollection[0].DeadlineDateTime); Assert.AreEqual("129.74.85.15", unitCollection[0].WorkServer); Assert.AreEqual(new IPAddress(new byte[] { 129, 74, 85, 15 }), unitCollection[0].WorkServerIPAddress); Assert.AreEqual("129.74.85.16", unitCollection[0].CollectionServer); Assert.AreEqual(new IPAddress(new byte[] { 129, 74, 85, 16 }), unitCollection[0].CollectionServerIPAddress); Assert.AreEqual(String.Empty, unitCollection[0].WaitingOn); Assert.AreEqual(0, unitCollection[0].Attempts); Assert.AreEqual("0.00 secs", unitCollection[0].NextAttempt); Assert.AreEqual(TimeSpan.Zero, unitCollection[0].NextAttemptTimeSpan); Assert.AreEqual(0, unitCollection[0].Slot); Assert.AreEqual("3 hours 32 mins", unitCollection[0].Eta); // not exactly the same value seen in SimulationInfo.EtaTimeSpan Assert.AreEqual(new TimeSpan(3, 32, 0), unitCollection[0].EtaTimeSpan); Assert.AreEqual(3937.41, unitCollection[0].Ppd); Assert.AreEqual("2 mins 11 secs", unitCollection[0].Tpf); Assert.AreEqual(new TimeSpan(0, 2, 11), unitCollection[0].TpfTimeSpan); Assert.AreEqual(600, unitCollection[0].BaseCredit); Assert.AreEqual(600, unitCollection[0].CreditEstimate); }
public void FillTest2() { string message = File.ReadAllText("..\\..\\..\\TestFiles\\Client_v7_2\\units.txt"); var unitCollection = new UnitCollection(); unitCollection.Fill(MessageCache.GetNextJsonMessage(ref message)); Assert.AreEqual(0, unitCollection[0].Id); Assert.AreEqual("RUNNING", unitCollection[0].State); Assert.AreEqual(FahUnitStatus.Running, unitCollection[0].StateEnum); Assert.AreEqual(null, unitCollection[0].Error); Assert.AreEqual(10083, unitCollection[0].Project); Assert.AreEqual(0, unitCollection[0].Run); Assert.AreEqual(17, unitCollection[0].Clone); Assert.AreEqual(24, unitCollection[0].Gen); Assert.AreEqual("0xa4", unitCollection[0].Core); Assert.AreEqual("0x000000480001329c4ddbf194abdd0077", unitCollection[0].UnitId); Assert.AreEqual("0.00%", unitCollection[0].PercentDone); Assert.AreEqual(10000, unitCollection[0].TotalFrames); Assert.AreEqual(0, unitCollection[0].FramesDone); Assert.AreEqual("09/Aug/2011-02:54:54", unitCollection[0].Assigned); Assert.AreEqual(new DateTime(2011, 8, 9, 2, 54, 54), unitCollection[0].AssignedDateTime); Assert.AreEqual("17/Aug/2011-02:54:54", unitCollection[0].Timeout); Assert.AreEqual(new DateTime(2011, 8, 17, 2, 54, 54), unitCollection[0].TimeoutDateTime); Assert.AreEqual("20/Aug/2011-02:54:54", unitCollection[0].Deadline); Assert.AreEqual(new DateTime(2011, 8, 20, 2, 54, 54), unitCollection[0].DeadlineDateTime); Assert.AreEqual("129.74.85.15", unitCollection[0].WorkServer); Assert.AreEqual(new IPAddress(new byte[] { 129, 74, 85, 15 }), unitCollection[0].WorkServerIPAddress); Assert.AreEqual("129.74.85.16", unitCollection[0].CollectionServer); Assert.AreEqual(new IPAddress(new byte[] { 129, 74, 85, 16 }), unitCollection[0].CollectionServerIPAddress); Assert.AreEqual(String.Empty, unitCollection[0].WaitingOn); Assert.AreEqual(0, unitCollection[0].Attempts); Assert.AreEqual("0.00 secs", unitCollection[0].NextAttempt); Assert.AreEqual(TimeSpan.Zero, unitCollection[0].NextAttemptTimeSpan); Assert.AreEqual(0, unitCollection[0].Slot); Assert.AreEqual("0.00 secs", unitCollection[0].Eta); Assert.AreEqual(TimeSpan.Zero, unitCollection[0].EtaTimeSpan); Assert.AreEqual(0.0, unitCollection[0].Ppd); Assert.AreEqual("0.00 secs", unitCollection[0].Tpf); Assert.AreEqual(TimeSpan.Zero, unitCollection[0].TpfTimeSpan); Assert.AreEqual(600, unitCollection[0].BaseCredit); Assert.AreEqual(600, unitCollection[0].CreditEstimate); }
public void FillTest12() { string message = File.ReadAllText("..\\..\\..\\TestFiles\\Client_v7_12\\units.txt"); var unitCollection = new UnitCollection(); unitCollection.Fill(MessageCache.GetNextJsonMessage(ref message)); Assert.AreEqual(0, unitCollection[0].Id); Assert.AreEqual("READY", unitCollection[0].State); Assert.AreEqual(FahUnitStatus.Ready, unitCollection[0].StateEnum); Assert.AreEqual("NO_ERROR", unitCollection[0].Error); Assert.AreEqual(7006, unitCollection[0].Project); Assert.AreEqual(1, unitCollection[0].Run); Assert.AreEqual(540, unitCollection[0].Clone); Assert.AreEqual(6, unitCollection[0].Gen); Assert.AreEqual("0xa4", unitCollection[0].Core); Assert.AreEqual("0x0000000f0001329c4dfb8f31e319f044", unitCollection[0].UnitId); Assert.AreEqual("43.00%", unitCollection[0].PercentDone); Assert.AreEqual(10000, unitCollection[0].TotalFrames); Assert.AreEqual(4300, unitCollection[0].FramesDone); Assert.AreEqual("2013-02-02T16:44:18Z", unitCollection[0].Assigned); Assert.AreEqual(new DateTime(2013, 2, 2, 16, 44, 18), unitCollection[0].AssignedDateTime); Assert.AreEqual("2013-02-10T16:44:18Z", unitCollection[0].Timeout); Assert.AreEqual(new DateTime(2013, 2, 10, 16, 44, 18), unitCollection[0].TimeoutDateTime); Assert.AreEqual("2013-02-13T16:44:18Z", unitCollection[0].Deadline); Assert.AreEqual(new DateTime(2013, 2, 13, 16, 44, 18), unitCollection[0].DeadlineDateTime); Assert.AreEqual("129.74.85.15", unitCollection[0].WorkServer); Assert.AreEqual(new IPAddress(new byte[] { 129, 74, 85, 15 }), unitCollection[0].WorkServerIPAddress); Assert.AreEqual("129.74.85.16", unitCollection[0].CollectionServer); Assert.AreEqual(new IPAddress(new byte[] { 129, 74, 85, 16 }), unitCollection[0].CollectionServerIPAddress); Assert.AreEqual(String.Empty, unitCollection[0].WaitingOn); Assert.AreEqual(0, unitCollection[0].Attempts); Assert.AreEqual("0.00 secs", unitCollection[0].NextAttempt); Assert.AreEqual(TimeSpan.Zero, unitCollection[0].NextAttemptTimeSpan); Assert.AreEqual(0, unitCollection[0].Slot); Assert.AreEqual("2 hours 46 mins", unitCollection[0].Eta); // not exactly the same value seen in SimulationInfo.EtaTimeSpan Assert.AreEqual(new TimeSpan(2, 46, 0), unitCollection[0].EtaTimeSpan); Assert.AreEqual(18686, unitCollection[0].Ppd); Assert.AreEqual("2 mins 55 secs", unitCollection[0].Tpf); Assert.AreEqual(new TimeSpan(0, 2, 55), unitCollection[0].TpfTimeSpan); Assert.AreEqual(600, unitCollection[0].BaseCredit); Assert.AreEqual(3785, unitCollection[0].CreditEstimate); Assert.AreEqual(null, unitCollection[0].Description); }
public void FillTest11() { string message = File.ReadAllText("..\\..\\..\\TestFiles\\Client_v7_11\\units.txt"); var unitCollection = new UnitCollection(); unitCollection.Fill(MessageCache.GetNextJsonMessage(ref message)); Assert.AreEqual(1, unitCollection[0].Id); Assert.AreEqual("RUNNING", unitCollection[0].State); Assert.AreEqual(FahUnitStatus.Running, unitCollection[0].StateEnum); Assert.AreEqual("OK", unitCollection[0].Error); Assert.AreEqual(7610, unitCollection[0].Project); Assert.AreEqual(192, unitCollection[0].Run); Assert.AreEqual(0, unitCollection[0].Clone); Assert.AreEqual(58, unitCollection[0].Gen); Assert.AreEqual("0xa4", unitCollection[0].Core); Assert.AreEqual("0x0000004e664f2dd04de6d35869ac2ae3", unitCollection[0].UnitId); Assert.AreEqual("95.25%", unitCollection[0].PercentDone); Assert.AreEqual(2000, unitCollection[0].TotalFrames); Assert.AreEqual(1900, unitCollection[0].FramesDone); Assert.AreEqual("2012-02-17T21:48:22Z", unitCollection[0].Assigned); Assert.AreEqual(new DateTime(2012, 2, 17, 21, 48, 22), unitCollection[0].AssignedDateTime); Assert.AreEqual("2012-02-29T14:50:46Z", unitCollection[0].Timeout); Assert.AreEqual(new DateTime(2012, 2, 29, 14, 50, 46), unitCollection[0].TimeoutDateTime); Assert.AreEqual("2012-03-08T10:17:10Z", unitCollection[0].Deadline); Assert.AreEqual(new DateTime(2012, 3, 8, 10, 17, 10), unitCollection[0].DeadlineDateTime); Assert.AreEqual("171.64.65.104", unitCollection[0].WorkServer); Assert.AreEqual(new IPAddress(new byte[] { 171, 64, 65, 104 }), unitCollection[0].WorkServerIPAddress); Assert.AreEqual("171.67.108.49", unitCollection[0].CollectionServer); Assert.AreEqual(new IPAddress(new byte[] { 171, 67, 108, 49 }), unitCollection[0].CollectionServerIPAddress); Assert.AreEqual(String.Empty, unitCollection[0].WaitingOn); Assert.AreEqual(0, unitCollection[0].Attempts); Assert.AreEqual("0.00 secs", unitCollection[0].NextAttempt); Assert.AreEqual(TimeSpan.Zero, unitCollection[0].NextAttemptTimeSpan); Assert.AreEqual(0, unitCollection[0].Slot); Assert.AreEqual("23 mins 01 secs", unitCollection[0].Eta); // not exactly the same value seen in SimulationInfo.EtaTimeSpan Assert.AreEqual(new TimeSpan(0, 23, 1), unitCollection[0].EtaTimeSpan); Assert.AreEqual(14327.57, unitCollection[0].Ppd); Assert.AreEqual("4 mins 51 secs", unitCollection[0].Tpf); Assert.AreEqual(new TimeSpan(0, 4, 51), unitCollection[0].TpfTimeSpan); Assert.AreEqual(788, unitCollection[0].BaseCredit); Assert.AreEqual(4825.61, unitCollection[0].CreditEstimate); Assert.AreEqual("This project involves additional sampling of the FiP35 WW domain shot from the ultra-long trajectories run by DE Shaw on their new supercomputer ANTON. We are testing the differences between these new ultra-long trajectories and shorter ones from FAH, to test how simulations run on FAH stack up to more traditional methods.\r", unitCollection[0].Description); }
public void FillTest6() { string message = File.ReadAllText("..\\..\\..\\TestFiles\\Client_v7_6\\units.txt"); var unitCollection = new UnitCollection(); unitCollection.Fill(MessageCache.GetNextJsonMessage(ref message)); Assert.AreEqual(3, unitCollection[0].Id); Assert.AreEqual("SEND", unitCollection[0].State); Assert.AreEqual(FahUnitStatus.Send, unitCollection[0].StateEnum); Assert.AreEqual(null, unitCollection[0].Error); Assert.AreEqual(6507, unitCollection[0].Project); Assert.AreEqual(19, unitCollection[0].Run); Assert.AreEqual(288, unitCollection[0].Clone); Assert.AreEqual(32, unitCollection[0].Gen); Assert.AreEqual("0x78", unitCollection[0].Core); Assert.AreEqual("0x6b4ddec54d9a40f3002001200013196b", unitCollection[0].UnitId); Assert.AreEqual("16.00%", unitCollection[0].PercentDone); Assert.AreEqual(250, unitCollection[0].TotalFrames); Assert.AreEqual(40, unitCollection[0].FramesDone); Assert.AreEqual("04/Apr/2011-22:06:43", unitCollection[0].Assigned); Assert.AreEqual(new DateTime(2011, 4, 4, 22, 6, 43), unitCollection[0].AssignedDateTime); Assert.AreEqual("<invalid>", unitCollection[0].Timeout); Assert.AreEqual(null, unitCollection[0].TimeoutDateTime); Assert.AreEqual("01/May/2011-22:06:43", unitCollection[0].Deadline); Assert.AreEqual(new DateTime(2011, 5, 1, 22, 6, 43), unitCollection[0].DeadlineDateTime); Assert.AreEqual("171.64.65.62", unitCollection[0].WorkServer); Assert.AreEqual(new IPAddress(new byte[] { 171, 64, 65, 62 }), unitCollection[0].WorkServerIPAddress); Assert.AreEqual("171.67.108.25", unitCollection[0].CollectionServer); Assert.AreEqual(new IPAddress(new byte[] { 171, 67, 108, 25 }), unitCollection[0].CollectionServerIPAddress); Assert.AreEqual("Send Results", unitCollection[0].WaitingOn); Assert.AreEqual(5, unitCollection[0].Attempts); Assert.AreEqual("4 mins 14 secs", unitCollection[0].NextAttempt); Assert.AreEqual(new TimeSpan(0, 4, 14), unitCollection[0].NextAttemptTimeSpan); Assert.AreEqual(0, unitCollection[0].Slot); Assert.AreEqual("15 hours 57 mins", unitCollection[0].Eta); Assert.AreEqual(new TimeSpan(15, 57, 0), unitCollection[0].EtaTimeSpan); Assert.AreEqual(0, unitCollection[0].Ppd); Assert.AreEqual("11 mins 23 secs", unitCollection[0].Tpf); Assert.AreEqual(new TimeSpan(0, 11, 23), unitCollection[0].TpfTimeSpan); Assert.AreEqual(0, unitCollection[0].BaseCredit); Assert.AreEqual(0, unitCollection[0].CreditEstimate); Assert.AreEqual(2, unitCollection[1].Id); Assert.AreEqual("SEND", unitCollection[1].State); Assert.AreEqual(FahUnitStatus.Send, unitCollection[1].StateEnum); Assert.AreEqual(null, unitCollection[0].Error); Assert.AreEqual(6513, unitCollection[1].Project); Assert.AreEqual(19, unitCollection[1].Run); Assert.AreEqual(316, unitCollection[1].Clone); Assert.AreEqual(26, unitCollection[1].Gen); Assert.AreEqual("0x78", unitCollection[1].Core); Assert.AreEqual("0x5d7cdbac4d9494e3001a013c00131971", unitCollection[1].UnitId); Assert.AreEqual("58.00%", unitCollection[1].PercentDone); Assert.AreEqual(250, unitCollection[1].TotalFrames); Assert.AreEqual(145, unitCollection[1].FramesDone); Assert.AreEqual("31/Mar/2011-14:51:15", unitCollection[1].Assigned); Assert.AreEqual(new DateTime(2011, 3, 31, 14, 51, 15), unitCollection[1].AssignedDateTime); Assert.AreEqual("<invalid>", unitCollection[1].Timeout); Assert.AreEqual(null, unitCollection[1].TimeoutDateTime); Assert.AreEqual("21/Apr/2011-14:51:15", unitCollection[1].Deadline); Assert.AreEqual(new DateTime(2011, 4, 21, 14, 51, 15), unitCollection[1].DeadlineDateTime); Assert.AreEqual("171.64.65.62", unitCollection[1].WorkServer); Assert.AreEqual(new IPAddress(new byte[] { 171, 64, 65, 62 }), unitCollection[1].WorkServerIPAddress); Assert.AreEqual("171.67.108.25", unitCollection[1].CollectionServer); Assert.AreEqual(new IPAddress(new byte[] { 171, 67, 108, 25 }), unitCollection[1].CollectionServerIPAddress); Assert.AreEqual("Send Results", unitCollection[1].WaitingOn); Assert.AreEqual(5, unitCollection[1].Attempts); Assert.AreEqual("4 mins 07 secs", unitCollection[1].NextAttempt); Assert.AreEqual(new TimeSpan(0, 4, 7), unitCollection[1].NextAttemptTimeSpan); Assert.AreEqual(0, unitCollection[1].Slot); Assert.AreEqual("5 hours 23 mins", unitCollection[1].Eta); Assert.AreEqual(new TimeSpan(5, 23, 0), unitCollection[1].EtaTimeSpan); Assert.AreEqual(0, unitCollection[1].Ppd); Assert.AreEqual("7 mins 41 secs", unitCollection[1].Tpf); Assert.AreEqual(new TimeSpan(0, 7, 41), unitCollection[1].TpfTimeSpan); Assert.AreEqual(0, unitCollection[1].BaseCredit); Assert.AreEqual(0, unitCollection[1].CreditEstimate); Assert.AreEqual(1, unitCollection[2].Id); Assert.AreEqual("SEND", unitCollection[2].State); Assert.AreEqual(FahUnitStatus.Send, unitCollection[2].StateEnum); Assert.AreEqual(null, unitCollection[0].Error); Assert.AreEqual(6522, unitCollection[2].Project); Assert.AreEqual(7, unitCollection[2].Run); Assert.AreEqual(90, unitCollection[2].Clone); Assert.AreEqual(43, unitCollection[2].Gen); Assert.AreEqual("0x78", unitCollection[2].Core); Assert.AreEqual("0x59f9f94c4d93264f002b005a0007197a", unitCollection[2].UnitId); Assert.AreEqual("82.80%", unitCollection[2].PercentDone); Assert.AreEqual(250, unitCollection[2].TotalFrames); Assert.AreEqual(207, unitCollection[2].FramesDone); Assert.AreEqual("30/Mar/2011-12:47:11", unitCollection[2].Assigned); Assert.AreEqual(new DateTime(2011, 3, 30, 12, 47, 11), unitCollection[2].AssignedDateTime); Assert.AreEqual("<invalid>", unitCollection[2].Timeout); Assert.AreEqual(null, unitCollection[2].TimeoutDateTime); Assert.AreEqual("18/Apr/2011-12:47:11", unitCollection[2].Deadline); Assert.AreEqual(new DateTime(2011, 4, 18, 12, 47, 11), unitCollection[2].DeadlineDateTime); Assert.AreEqual("171.64.65.62", unitCollection[2].WorkServer); Assert.AreEqual(new IPAddress(new byte[] { 171, 64, 65, 62 }), unitCollection[2].WorkServerIPAddress); Assert.AreEqual("171.67.108.25", unitCollection[2].CollectionServer); Assert.AreEqual(new IPAddress(new byte[] { 171, 67, 108, 25 }), unitCollection[2].CollectionServerIPAddress); Assert.AreEqual("Send Results", unitCollection[2].WaitingOn); Assert.AreEqual(5, unitCollection[2].Attempts); Assert.AreEqual("4 mins 10 secs", unitCollection[2].NextAttempt); Assert.AreEqual(new TimeSpan(0, 4, 10), unitCollection[2].NextAttemptTimeSpan); Assert.AreEqual(0, unitCollection[2].Slot); Assert.AreEqual("1 hours 52 mins", unitCollection[2].Eta); Assert.AreEqual(new TimeSpan(1, 52, 0), unitCollection[2].EtaTimeSpan); Assert.AreEqual(0, unitCollection[2].Ppd); Assert.AreEqual("6 mins 31 secs", unitCollection[2].Tpf); Assert.AreEqual(new TimeSpan(0, 6, 31), unitCollection[2].TpfTimeSpan); Assert.AreEqual(0, unitCollection[2].BaseCredit); Assert.AreEqual(0, unitCollection[2].CreditEstimate); Assert.AreEqual(0, unitCollection[3].Id); Assert.AreEqual("SEND", unitCollection[3].State); Assert.AreEqual(FahUnitStatus.Send, unitCollection[3].StateEnum); Assert.AreEqual(null, unitCollection[0].Error); Assert.AreEqual(6524, unitCollection[3].Project); Assert.AreEqual(14, unitCollection[3].Run); Assert.AreEqual(78, unitCollection[3].Clone); Assert.AreEqual(83, unitCollection[3].Gen); Assert.AreEqual("0x78", unitCollection[3].Core); Assert.AreEqual("0x213f1ddd4da208ef0053004e000e197c", unitCollection[3].UnitId); Assert.AreEqual("78.80%", unitCollection[3].PercentDone); Assert.AreEqual(250, unitCollection[3].TotalFrames); Assert.AreEqual(197, unitCollection[3].FramesDone); Assert.AreEqual("10/Apr/2011-19:45:51", unitCollection[3].Assigned); Assert.AreEqual(new DateTime(2011, 4, 10, 19, 45, 51), unitCollection[3].AssignedDateTime); Assert.AreEqual("<invalid>", unitCollection[3].Timeout); Assert.AreEqual(null, unitCollection[3].TimeoutDateTime); Assert.AreEqual("05/May/2011-19:45:51", unitCollection[3].Deadline); Assert.AreEqual(new DateTime(2011, 5, 5, 19, 45, 51), unitCollection[3].DeadlineDateTime); Assert.AreEqual("171.64.65.62", unitCollection[3].WorkServer); Assert.AreEqual(new IPAddress(new byte[] { 171, 64, 65, 62 }), unitCollection[3].WorkServerIPAddress); Assert.AreEqual("171.67.108.25", unitCollection[3].CollectionServer); Assert.AreEqual(new IPAddress(new byte[] { 171, 67, 108, 25 }), unitCollection[3].CollectionServerIPAddress); Assert.AreEqual("Send Results", unitCollection[3].WaitingOn); Assert.AreEqual(5, unitCollection[3].Attempts); Assert.AreEqual("3 mins 55 secs", unitCollection[3].NextAttempt); Assert.AreEqual(new TimeSpan(0, 3, 55), unitCollection[3].NextAttemptTimeSpan); Assert.AreEqual(0, unitCollection[3].Slot); Assert.AreEqual("3 hours 01 mins", unitCollection[3].Eta); Assert.AreEqual(new TimeSpan(3, 1, 0), unitCollection[3].EtaTimeSpan); Assert.AreEqual(0, unitCollection[3].Ppd); Assert.AreEqual("8 mins 33 secs", unitCollection[3].Tpf); Assert.AreEqual(new TimeSpan(0, 8, 33), unitCollection[3].TpfTimeSpan); Assert.AreEqual(0, unitCollection[3].BaseCredit); Assert.AreEqual(0, unitCollection[3].CreditEstimate); Assert.AreEqual(4, unitCollection[4].Id); Assert.AreEqual("RUNNING", unitCollection[4].State); Assert.AreEqual(FahUnitStatus.Running, unitCollection[4].StateEnum); Assert.AreEqual(null, unitCollection[0].Error); Assert.AreEqual(7600, unitCollection[4].Project); Assert.AreEqual(41, unitCollection[4].Run); Assert.AreEqual(65, unitCollection[4].Clone); Assert.AreEqual(3, unitCollection[4].Gen); Assert.AreEqual("0xa4", unitCollection[4].Core); Assert.AreEqual("0x00000008664f2dcd4dee8ab75177cc82", unitCollection[4].UnitId); Assert.AreEqual("78.60%", unitCollection[4].PercentDone); Assert.AreEqual(2000, unitCollection[4].TotalFrames); Assert.AreEqual(1572, unitCollection[4].FramesDone); Assert.AreEqual("09/Aug/2011-12:59:36", unitCollection[4].Assigned); Assert.AreEqual(new DateTime(2011, 8, 9, 12, 59, 36), unitCollection[4].AssignedDateTime); Assert.AreEqual("23/Aug/2011-11:04:24", unitCollection[4].Timeout); Assert.AreEqual(new DateTime(2011, 8, 23, 11, 4, 24), unitCollection[4].TimeoutDateTime); Assert.AreEqual("01/Sep/2011-17:47:36", unitCollection[4].Deadline); Assert.AreEqual(new DateTime(2011, 9, 1, 17, 47, 36), unitCollection[4].DeadlineDateTime); Assert.AreEqual("171.64.65.101", unitCollection[4].WorkServer); Assert.AreEqual(new IPAddress(new byte[] { 171, 64, 65, 101 }), unitCollection[4].WorkServerIPAddress); Assert.AreEqual("171.67.108.49", unitCollection[4].CollectionServer); Assert.AreEqual(new IPAddress(new byte[] { 171, 67, 108, 49 }), unitCollection[4].CollectionServerIPAddress); Assert.AreEqual(String.Empty, unitCollection[4].WaitingOn); Assert.AreEqual(0, unitCollection[4].Attempts); Assert.AreEqual("0.00 secs", unitCollection[4].NextAttempt); Assert.AreEqual(TimeSpan.Zero, unitCollection[4].NextAttemptTimeSpan); Assert.AreEqual(0, unitCollection[4].Slot); Assert.AreEqual("1.12 days", unitCollection[4].Eta); Assert.AreEqual(new TimeSpan(1, 2, 52, 48), unitCollection[4].EtaTimeSpan); Assert.AreEqual(177.05, unitCollection[4].Ppd); Assert.AreEqual("1 hours 16 mins", unitCollection[4].Tpf); Assert.AreEqual(new TimeSpan(1, 16, 0), unitCollection[4].TpfTimeSpan); Assert.AreEqual(937, unitCollection[4].BaseCredit); Assert.AreEqual(937, unitCollection[4].CreditEstimate); }
/// <summary> /// 批量装载 /// </summary> internal static void LoadFromDALPatch(List< UnitInfo> pList, UnitCollection pCollection) { foreach (Unit unit in pCollection) { UnitInfo unitInfo = new UnitInfo(); LoadFromDAL(unitInfo, unit ); pList.Add(unitInfo); } }
/// <summary> /// 获得数据列表 /// </summary> /// <returns></returns> public static List<UnitInfo> GetList() { string cacheKey = GetCacheKey(); //本实体已经注册成缓存实体,并且缓存存在的时候,直接从缓存取 if (CachedEntityCommander.IsTypeRegistered(typeof(UnitInfo)) && CachedEntityCommander.GetCache(cacheKey) != null) { return CachedEntityCommander.GetCache(cacheKey) as List< UnitInfo>; } else { List< UnitInfo> list =new List< UnitInfo>(); UnitCollection collection=new UnitCollection(); Query qry = new Query(Unit.Schema); collection.LoadAndCloseReader(qry.ExecuteReader()); foreach(Unit unit in collection) { UnitInfo unitInfo= new UnitInfo(); LoadFromDAL(unitInfo,unit); list.Add(unitInfo); } //生成缓存 if (CachedEntityCommander.IsTypeRegistered(typeof(UnitInfo))) { CachedEntityCommander.SetCache(cacheKey, list); } return list; } }
/// <summary> /// 获得分页列表,无论是否是缓存实体都从数据库直接拿取数据 /// </summary> /// <param name="pPageIndex">页数</param> /// <param name="pPageSize">每页列表</param> /// <param name="pOrderBy">排序</param> /// <param name="pSortExpression">排序字段</param> /// <param name="pRecordCount">列表行数</param> /// <returns>数据分页</returns> public static List<UnitInfo> GetPagedList(int pPageIndex,int pPageSize,SortDirection pOrderBy,string pSortExpression,out int pRecordCount) { if(pPageIndex<=1) pPageIndex=1; List< UnitInfo> list = new List< UnitInfo>(); Query q = Unit .CreateQuery(); q.PageIndex = pPageIndex; q.PageSize = pPageSize; q.ORDER_BY(pSortExpression,pOrderBy.ToString()); UnitCollection collection=new UnitCollection(); collection.LoadAndCloseReader(q.ExecuteReader()); foreach (Unit unit in collection) { UnitInfo unitInfo = new UnitInfo(); LoadFromDAL(unitInfo, unit); list.Add(unitInfo); } pRecordCount=q.GetRecordCount(); return list; }
public UnitOfMeasureSystem(UnitSystemUnitOfMeasureSystem unitOfMeasureSystem, InternalUnitSystemManager unitSystemManager) { DomainID = unitOfMeasureSystem.domainID; _units = GetUnitDimensions(unitOfMeasureSystem.UnitOfMeasureRef, unitSystemManager); }
public void FillTest9() { string message = File.ReadAllText("..\\..\\..\\TestFiles\\Client_v7_9\\units.txt"); var unitCollection = new UnitCollection(); unitCollection.Fill(MessageCache.GetNextJsonMessage(ref message)); Assert.AreEqual(0, unitCollection[0].Id); Assert.AreEqual("RUNNING", unitCollection[0].State); Assert.AreEqual(FahUnitStatus.Running, unitCollection[0].StateEnum); Assert.AreEqual(null, unitCollection[0].Error); Assert.AreEqual(7905, unitCollection[0].Project); Assert.AreEqual(47, unitCollection[0].Run); Assert.AreEqual(37, unitCollection[0].Clone); Assert.AreEqual(0, unitCollection[0].Gen); Assert.AreEqual("0xa4", unitCollection[0].Core); Assert.AreEqual("0x0000000000ac9c234ecff97c3e910a84", unitCollection[0].UnitId); Assert.AreEqual("0.00%", unitCollection[0].PercentDone); Assert.AreEqual(500, unitCollection[0].TotalFrames); Assert.AreEqual(0, unitCollection[0].FramesDone); Assert.AreEqual("2011-12-08T02:59:57", unitCollection[0].Assigned); Assert.AreEqual(new DateTime(2011, 12, 8, 2, 59, 57), unitCollection[0].AssignedDateTime); Assert.AreEqual("2011-12-17T02:59:57", unitCollection[0].Timeout); Assert.AreEqual(new DateTime(2011, 12, 17, 2, 59, 57), unitCollection[0].TimeoutDateTime); Assert.AreEqual("2011-12-27T02:59:57", unitCollection[0].Deadline); Assert.AreEqual(new DateTime(2011, 12, 27, 2, 59, 57), unitCollection[0].DeadlineDateTime); Assert.AreEqual("128.113.12.163", unitCollection[0].WorkServer); Assert.AreEqual(new IPAddress(new byte[] { 128, 113, 12, 163 }), unitCollection[0].WorkServerIPAddress); Assert.AreEqual("129.74.85.16", unitCollection[0].CollectionServer); Assert.AreEqual(new IPAddress(new byte[] { 129, 74, 85, 16 }), unitCollection[0].CollectionServerIPAddress); Assert.AreEqual(String.Empty, unitCollection[0].WaitingOn); Assert.AreEqual(0, unitCollection[0].Attempts); Assert.AreEqual("0.00 secs", unitCollection[0].NextAttempt); Assert.AreEqual(TimeSpan.Zero, unitCollection[0].NextAttemptTimeSpan); Assert.AreEqual(0, unitCollection[0].Slot); Assert.AreEqual("0.00 secs", unitCollection[0].Eta); // not exactly the same value seen in SimulationInfo.EtaTimeSpan Assert.AreEqual(TimeSpan.Zero, unitCollection[0].EtaTimeSpan); Assert.AreEqual(0.0, unitCollection[0].Ppd); Assert.AreEqual("0.00 secs", unitCollection[0].Tpf); Assert.AreEqual(TimeSpan.Zero, unitCollection[0].TpfTimeSpan); Assert.AreEqual(487, unitCollection[0].BaseCredit); Assert.AreEqual(487, unitCollection[0].CreditEstimate); }
public void FillTest5() { string message = File.ReadAllText("..\\..\\..\\TestFiles\\Client_v7_5\\units.txt"); var unitCollection = new UnitCollection(); unitCollection.Fill(MessageCache.GetNextJsonMessage(ref message)); Assert.AreEqual(2, unitCollection[0].Id); Assert.AreEqual("RUNNING", unitCollection[0].State); Assert.AreEqual(FahUnitStatus.Running, unitCollection[0].StateEnum); Assert.AreEqual(null, unitCollection[0].Error); Assert.AreEqual(11294, unitCollection[0].Project); Assert.AreEqual(7, unitCollection[0].Run); Assert.AreEqual(243, unitCollection[0].Clone); Assert.AreEqual(66, unitCollection[0].Gen); Assert.AreEqual("0x16", unitCollection[0].Core); Assert.AreEqual("0x000000440a3b1e5c4d9a1d0b2f409204", unitCollection[0].UnitId); Assert.AreEqual("98.00%", unitCollection[0].PercentDone); Assert.AreEqual(50000, unitCollection[0].TotalFrames); Assert.AreEqual(49000, unitCollection[0].FramesDone); Assert.AreEqual("08/Aug/2011-16:21:25", unitCollection[0].Assigned); Assert.AreEqual(new DateTime(2011, 8, 8, 16, 21, 25), unitCollection[0].AssignedDateTime); Assert.AreEqual("14/Aug/2011-16:21:25", unitCollection[0].Timeout); Assert.AreEqual(new DateTime(2011, 8, 14, 16, 21, 25), unitCollection[0].TimeoutDateTime); Assert.AreEqual("18/Aug/2011-16:21:25", unitCollection[0].Deadline); Assert.AreEqual(new DateTime(2011, 8, 18, 16, 21, 25), unitCollection[0].DeadlineDateTime); Assert.AreEqual("171.64.65.56", unitCollection[0].WorkServer); Assert.AreEqual(new IPAddress(new byte[] { 171, 64, 65, 56 }), unitCollection[0].WorkServerIPAddress); Assert.AreEqual("171.67.108.26", unitCollection[0].CollectionServer); Assert.AreEqual(new IPAddress(new byte[] { 171, 67, 108, 26 }), unitCollection[0].CollectionServerIPAddress); Assert.AreEqual(String.Empty, unitCollection[0].WaitingOn); Assert.AreEqual(0, unitCollection[0].Attempts); Assert.AreEqual("0.00 secs", unitCollection[0].NextAttempt); Assert.AreEqual(TimeSpan.Zero, unitCollection[0].NextAttemptTimeSpan); Assert.AreEqual(1, unitCollection[0].Slot); Assert.AreEqual("6 mins 19 secs", unitCollection[0].Eta); // not exactly the same value seen in SimulationInfo.EtaTimeSpan Assert.AreEqual(new TimeSpan(0, 6, 19), unitCollection[0].EtaTimeSpan); Assert.AreEqual(6874.98, unitCollection[0].Ppd); Assert.AreEqual("3 mins 50 secs", unitCollection[0].Tpf); Assert.AreEqual(new TimeSpan(0, 3, 50), unitCollection[0].TpfTimeSpan); Assert.AreEqual(1835, unitCollection[0].BaseCredit); Assert.AreEqual(1835, unitCollection[0].CreditEstimate); Assert.AreEqual(1, unitCollection[1].Id); Assert.AreEqual("RUNNING", unitCollection[1].State); Assert.AreEqual(FahUnitStatus.Running, unitCollection[1].StateEnum); Assert.AreEqual(null, unitCollection[0].Error); Assert.AreEqual(7611, unitCollection[1].Project); Assert.AreEqual(0, unitCollection[1].Run); Assert.AreEqual(34, unitCollection[1].Clone); Assert.AreEqual(21, unitCollection[1].Gen); Assert.AreEqual("0xa4", unitCollection[1].Core); Assert.AreEqual("0x00000015664f2dd04df0f4a23f4a5e77", unitCollection[1].UnitId); Assert.AreEqual("26.75%", unitCollection[1].PercentDone); Assert.AreEqual(2000, unitCollection[1].TotalFrames); Assert.AreEqual(535, unitCollection[1].FramesDone); Assert.AreEqual("08/Aug/2011-12:32:11", unitCollection[1].Assigned); Assert.AreEqual(new DateTime(2011, 8, 8, 12, 32, 11), unitCollection[1].AssignedDateTime); Assert.AreEqual("20/Aug/2011-05:34:35", unitCollection[1].Timeout); Assert.AreEqual(new DateTime(2011, 8, 20, 5, 34, 35), unitCollection[1].TimeoutDateTime); Assert.AreEqual("28/Aug/2011-01:00:59", unitCollection[1].Deadline); Assert.AreEqual(new DateTime(2011, 8, 28, 1, 0, 59), unitCollection[1].DeadlineDateTime); Assert.AreEqual("171.64.65.104", unitCollection[1].WorkServer); Assert.AreEqual(new IPAddress(new byte[] { 171, 64, 65, 104 }), unitCollection[1].WorkServerIPAddress); Assert.AreEqual("171.67.108.49", unitCollection[1].CollectionServer); Assert.AreEqual(new IPAddress(new byte[] { 171, 67, 108, 49 }), unitCollection[1].CollectionServerIPAddress); Assert.AreEqual(String.Empty, unitCollection[1].WaitingOn); Assert.AreEqual(0, unitCollection[1].Attempts); Assert.AreEqual("0.00 secs", unitCollection[1].NextAttempt); Assert.AreEqual(TimeSpan.Zero, unitCollection[1].NextAttemptTimeSpan); Assert.AreEqual(0, unitCollection[1].Slot); Assert.AreEqual("1.09 days", unitCollection[1].Eta); // not exactly the same value seen in SimulationInfo.EtaTimeSpan Assert.AreEqual(new TimeSpan(1, 2, 9, 36), unitCollection[1].EtaTimeSpan); Assert.AreEqual(527.69, unitCollection[1].Ppd); Assert.AreEqual("21 mins 30 secs", unitCollection[1].Tpf); Assert.AreEqual(new TimeSpan(0, 21, 30), unitCollection[1].TpfTimeSpan); Assert.AreEqual(788, unitCollection[1].BaseCredit); Assert.AreEqual(788, unitCollection[1].CreditEstimate); }
public void FillTest10() { string message = File.ReadAllText("..\\..\\..\\TestFiles\\Client_v7_10\\units.txt"); var unitCollection = new UnitCollection(); unitCollection.Fill(MessageCache.GetNextJsonMessage(ref message)); Assert.AreEqual(1, unitCollection[0].Id); Assert.AreEqual("RUNNING", unitCollection[0].State); Assert.AreEqual(FahUnitStatus.Running, unitCollection[0].StateEnum); Assert.AreEqual("OK", unitCollection[0].Error); Assert.AreEqual(7610, unitCollection[0].Project); Assert.AreEqual(630, unitCollection[0].Run); Assert.AreEqual(0, unitCollection[0].Clone); Assert.AreEqual(59, unitCollection[0].Gen); Assert.AreEqual("0xa4", unitCollection[0].Core); Assert.AreEqual("0x00000050664f2dd04de6d4f93deb418d", unitCollection[0].UnitId); Assert.AreEqual("33.00%", unitCollection[0].PercentDone); Assert.AreEqual(2000, unitCollection[0].TotalFrames); Assert.AreEqual(660, unitCollection[0].FramesDone); Assert.AreEqual("2012-01-10T23:20:27", unitCollection[0].Assigned); Assert.AreEqual(new DateTime(2012, 1, 10, 23, 20, 27), unitCollection[0].AssignedDateTime); Assert.AreEqual("2012-01-22T16:22:51", unitCollection[0].Timeout); Assert.AreEqual(new DateTime(2012, 1, 22, 16, 22, 51), unitCollection[0].TimeoutDateTime); Assert.AreEqual("2012-01-30T11:49:15", unitCollection[0].Deadline); Assert.AreEqual(new DateTime(2012, 1, 30, 11, 49, 15), unitCollection[0].DeadlineDateTime); Assert.AreEqual("171.64.65.104", unitCollection[0].WorkServer); Assert.AreEqual(new IPAddress(new byte[] { 171, 64, 65, 104 }), unitCollection[0].WorkServerIPAddress); Assert.AreEqual("171.67.108.49", unitCollection[0].CollectionServer); Assert.AreEqual(new IPAddress(new byte[] { 171, 67, 108, 49 }), unitCollection[0].CollectionServerIPAddress); Assert.AreEqual(String.Empty, unitCollection[0].WaitingOn); Assert.AreEqual(0, unitCollection[0].Attempts); Assert.AreEqual("0.00 secs", unitCollection[0].NextAttempt); Assert.AreEqual(TimeSpan.Zero, unitCollection[0].NextAttemptTimeSpan); Assert.AreEqual(0, unitCollection[0].Slot); Assert.AreEqual("2 hours 38 mins", unitCollection[0].Eta); // not exactly the same value seen in SimulationInfo.EtaTimeSpan Assert.AreEqual(new TimeSpan(2, 38, 0), unitCollection[0].EtaTimeSpan); Assert.AreEqual(30495.84, unitCollection[0].Ppd); Assert.AreEqual("2 mins 26 secs", unitCollection[0].Tpf); Assert.AreEqual(new TimeSpan(0, 2, 26), unitCollection[0].TpfTimeSpan); Assert.AreEqual(788, unitCollection[0].BaseCredit); Assert.AreEqual(5172.29, unitCollection[0].CreditEstimate); Assert.AreEqual("This project involves additional sampling of the FiP35 WW domain shot from the ultra-long trajectories run by DE Shaw on their new supercomputer ANTON. We are testing the differences between these new ultra-long trajectories and shorter ones from FAH, to test how simulations run on FAH stack up to more traditional methods.\r", unitCollection[0].Description); Assert.AreEqual(2, unitCollection[1].Id); Assert.AreEqual("RUNNING", unitCollection[1].State); Assert.AreEqual(FahUnitStatus.Running, unitCollection[1].StateEnum); Assert.AreEqual("OK", unitCollection[0].Error); Assert.AreEqual(5772, unitCollection[1].Project); Assert.AreEqual(7, unitCollection[1].Run); Assert.AreEqual(364, unitCollection[1].Clone); Assert.AreEqual(252, unitCollection[1].Gen); Assert.AreEqual("0x11", unitCollection[1].Core); Assert.AreEqual("0x241a68704f0d0e3a00fc016c0007168c", unitCollection[1].UnitId); Assert.AreEqual("51.00%", unitCollection[1].PercentDone); Assert.AreEqual(15000, unitCollection[1].TotalFrames); Assert.AreEqual(7650, unitCollection[1].FramesDone); Assert.AreEqual("2012-01-11T04:21:14", unitCollection[1].Assigned); Assert.AreEqual(new DateTime(2012, 1, 11, 4, 21, 14), unitCollection[1].AssignedDateTime); Assert.AreEqual("<invalid>", unitCollection[1].Timeout); Assert.AreEqual(null, unitCollection[1].TimeoutDateTime); Assert.AreEqual("2012-01-14T04:21:14", unitCollection[1].Deadline); Assert.AreEqual(new DateTime(2012, 1, 14, 4, 21, 14), unitCollection[1].DeadlineDateTime); Assert.AreEqual("171.67.108.11", unitCollection[1].WorkServer); Assert.AreEqual(new IPAddress(new byte[] { 171, 67, 108, 11 }), unitCollection[1].WorkServerIPAddress); Assert.AreEqual("171.67.108.25", unitCollection[1].CollectionServer); Assert.AreEqual(new IPAddress(new byte[] { 171, 67, 108, 25 }), unitCollection[1].CollectionServerIPAddress); Assert.AreEqual(String.Empty, unitCollection[1].WaitingOn); Assert.AreEqual(0, unitCollection[1].Attempts); Assert.AreEqual("0.00 secs", unitCollection[1].NextAttempt); Assert.AreEqual(TimeSpan.Zero, unitCollection[1].NextAttemptTimeSpan); Assert.AreEqual(1, unitCollection[1].Slot); Assert.AreEqual("27 mins 14 secs", unitCollection[1].Eta); // not exactly the same value seen in SimulationInfo.EtaTimeSpan Assert.AreEqual(new TimeSpan(0, 27, 14), unitCollection[1].EtaTimeSpan); Assert.AreEqual(0, unitCollection[1].Ppd); Assert.AreEqual("33.82 secs", unitCollection[1].Tpf); Assert.AreEqual(new TimeSpan(0, 0, 0, 33, 820), unitCollection[1].TpfTimeSpan); Assert.AreEqual(0, unitCollection[1].BaseCredit); Assert.AreEqual(0, unitCollection[1].CreditEstimate); Assert.AreEqual(1196, unitCollection[1].Description.Length); }
public void Client_v7_10_0() { const int slotId = 0; _dataAggregator.ClientName = "Client_v7_10"; var fahLog = FahLog.Read(File.ReadLines("..\\..\\..\\TestFiles\\Client_v7_10\\log.txt"), FahLogType.FahClient); string message = File.ReadAllText("..\\..\\..\\TestFiles\\Client_v7_10\\units.txt"); var unitCollection = new UnitCollection(); unitCollection.Fill(JsonMessageConnection.GetNextJsonMessage(ref message)); message = File.ReadAllText("..\\..\\..\\TestFiles\\Client_v7_10\\info.txt"); var info = new Info(); info.Fill(JsonMessageConnection.GetNextJsonMessage(ref message)); message = File.ReadAllText("..\\..\\..\\TestFiles\\Client_v7_10\\options.txt"); var options = new Options(); options.Fill(JsonMessageConnection.GetNextJsonMessage(ref message)); message = File.ReadAllText("..\\..\\..\\TestFiles\\Client_v7_10\\slot-options1.txt"); var slotOptions = new SlotOptions(); slotOptions.Fill(JsonMessageConnection.GetNextJsonMessage(ref message)); var result = _dataAggregator.AggregateData(fahLog.ClientRuns.First(), unitCollection, info, options, slotOptions, new UnitInfo(), slotId); Assert.AreEqual(1, result.UnitInfos.Count); Assert.IsFalse(result.UnitInfos.Any(x => x.Value == null)); #region Check Data Aggregator Assert.IsNotNull(result.Queue); Assert.AreEqual(1, result.CurrentUnitIndex); Assert.AreEqual(new DateTime(2012, 1, 11, 3, 24, 22), result.StartTime); Assert.AreEqual(null, result.Arguments); Assert.AreEqual(null, result.ClientVersion); Assert.AreEqual(null, result.UserID); Assert.AreEqual(0, result.MachineID); Assert.AreEqual(SlotStatus.Unknown, result.Status); Assert.IsNotNull(result.CurrentLogLines); Assert.IsFalse(result.UnitInfos.Any(x => x.Value.LogLines == null)); if (result.UnitInfos.ContainsKey(result.CurrentUnitIndex)) { Assert.AreEqual(result.CurrentLogLines, result.UnitInfos[result.CurrentUnitIndex].LogLines); } #endregion var unitInfoData = result.UnitInfos[result.CurrentUnitIndex]; #region Check Unit Info Data Values Assert.AreEqual(null, unitInfoData.OwningSlotName); Assert.AreEqual(null, unitInfoData.OwningClientName); Assert.AreEqual(null, unitInfoData.OwningClientPath); Assert.AreEqual(-1, unitInfoData.OwningSlotId); Assert.AreEqual(DateTime.MinValue, unitInfoData.UnitRetrievalTime); Assert.AreEqual("harlam357", unitInfoData.FoldingID); Assert.AreEqual(32, unitInfoData.Team); Assert.AreEqual(SlotType.CPU, unitInfoData.SlotType); Assert.AreEqual(new DateTime(2012, 1, 10, 23, 20, 27), unitInfoData.DownloadTime); Assert.AreEqual(new DateTime(2012, 1, 22, 16, 22, 51), unitInfoData.DueTime); Assert.AreEqual(new TimeSpan(3, 25, 32), unitInfoData.UnitStartTimeStamp); Assert.AreEqual(DateTime.MinValue, unitInfoData.FinishedTime); Assert.AreEqual(2.27f, unitInfoData.CoreVersion); Assert.AreEqual(7610, unitInfoData.ProjectID); Assert.AreEqual(630, unitInfoData.ProjectRun); Assert.AreEqual(0, unitInfoData.ProjectClone); Assert.AreEqual(59, unitInfoData.ProjectGen); Assert.AreEqual(String.Empty, unitInfoData.ProteinName); Assert.AreEqual(String.Empty, unitInfoData.ProteinTag); Assert.AreEqual(WorkUnitResult.Unknown, unitInfoData.UnitResult); Assert.AreEqual(660000, unitInfoData.RawFramesComplete); Assert.AreEqual(2000000, unitInfoData.RawFramesTotal); Assert.AreEqual(10, unitInfoData.FramesObserved); Assert.AreEqual(33, unitInfoData.CurrentFrame.FrameID); Assert.AreEqual(new TimeSpan(4, 46, 8), unitInfoData.CurrentFrame.TimeOfFrame); Assert.AreEqual(new TimeSpan(0, 8, 31), unitInfoData.CurrentFrame.FrameDuration); Assert.AreEqual("A4", unitInfoData.CoreID); #endregion }
public void FillTest7() { string message = File.ReadAllText("..\\..\\..\\TestFiles\\Client_v7_7\\units.txt"); var unitCollection = new UnitCollection(); unitCollection.Fill(MessageCache.GetNextJsonMessage(ref message)); Assert.AreEqual(2, unitCollection[0].Id); Assert.AreEqual("RUNNING", unitCollection[0].State); Assert.AreEqual(FahUnitStatus.Running, unitCollection[0].StateEnum); Assert.AreEqual(null, unitCollection[0].Error); Assert.AreEqual(11051, unitCollection[0].Project); Assert.AreEqual(0, unitCollection[0].Run); Assert.AreEqual(2, unitCollection[0].Clone); Assert.AreEqual(39, unitCollection[0].Gen); Assert.AreEqual("0xa3", unitCollection[0].Core); Assert.AreEqual("0x000000280a3b1e5b4db73f5943ba9ef4", unitCollection[0].UnitId); Assert.AreEqual("91.00%", unitCollection[0].PercentDone); Assert.AreEqual(1000, unitCollection[0].TotalFrames); Assert.AreEqual(910, unitCollection[0].FramesDone); Assert.AreEqual("22/Aug/2011-18:29:03", unitCollection[0].Assigned); Assert.AreEqual(new DateTime(2011, 8, 22, 18, 29, 3), unitCollection[0].AssignedDateTime); Assert.AreEqual("03/Sep/2011-18:29:03", unitCollection[0].Timeout); Assert.AreEqual(new DateTime(2011, 9, 3, 18, 29, 3), unitCollection[0].TimeoutDateTime); Assert.AreEqual("15/Sep/2011-18:29:03", unitCollection[0].Deadline); Assert.AreEqual(new DateTime(2011, 9, 15, 18, 29, 3), unitCollection[0].DeadlineDateTime); Assert.AreEqual("171.64.65.55", unitCollection[0].WorkServer); Assert.AreEqual(new IPAddress(new byte[] { 171, 64, 65, 55 }), unitCollection[0].WorkServerIPAddress); Assert.AreEqual("171.67.108.26", unitCollection[0].CollectionServer); Assert.AreEqual(new IPAddress(new byte[] { 171, 67, 108, 26 }), unitCollection[0].CollectionServerIPAddress); Assert.AreEqual(String.Empty, unitCollection[0].WaitingOn); Assert.AreEqual(0, unitCollection[0].Attempts); Assert.AreEqual("0.00 secs", unitCollection[0].NextAttempt); Assert.AreEqual(TimeSpan.Zero, unitCollection[0].NextAttemptTimeSpan); Assert.AreEqual(0, unitCollection[0].Slot); Assert.AreEqual("42 mins 47 secs", unitCollection[0].Eta); // not exactly the same value seen in SimulationInfo.EtaTimeSpan Assert.AreEqual(new TimeSpan(0, 42, 47), unitCollection[0].EtaTimeSpan); Assert.AreEqual(1859.89, unitCollection[0].Ppd); Assert.AreEqual("4 mins 59 secs", unitCollection[0].Tpf); Assert.AreEqual(new TimeSpan(0, 4, 59), unitCollection[0].TpfTimeSpan); Assert.AreEqual(645, unitCollection[0].BaseCredit); Assert.AreEqual(645, unitCollection[0].CreditEstimate); Assert.AreEqual(0, unitCollection[1].Id); Assert.AreEqual("RUNNING", unitCollection[1].State); Assert.AreEqual(FahUnitStatus.Running, unitCollection[1].StateEnum); Assert.AreEqual(null, unitCollection[0].Error); Assert.AreEqual(6801, unitCollection[1].Project); Assert.AreEqual(6348, unitCollection[1].Run); Assert.AreEqual(0, unitCollection[1].Clone); Assert.AreEqual(305, unitCollection[1].Gen); Assert.AreEqual("0x15", unitCollection[1].Core); Assert.AreEqual("0x0000014d0a3b1e644d94b9700899a51b", unitCollection[1].UnitId); Assert.AreEqual("40.00%", unitCollection[1].PercentDone); Assert.AreEqual(50000, unitCollection[1].TotalFrames); Assert.AreEqual(20000, unitCollection[1].FramesDone); Assert.AreEqual("23/Aug/2011-00:37:16", unitCollection[1].Assigned); Assert.AreEqual(new DateTime(2011, 8, 23, 0, 37, 16), unitCollection[1].AssignedDateTime); Assert.AreEqual("28/Aug/2011-00:37:16", unitCollection[1].Timeout); Assert.AreEqual(new DateTime(2011, 8, 28, 0, 37, 16), unitCollection[1].TimeoutDateTime); Assert.AreEqual("02/Sep/2011-00:37:16", unitCollection[1].Deadline); Assert.AreEqual(new DateTime(2011, 9, 2, 0, 37, 16), unitCollection[1].DeadlineDateTime); Assert.AreEqual("171.64.65.64", unitCollection[1].WorkServer); Assert.AreEqual(new IPAddress(new byte[] { 171, 64, 65, 64 }), unitCollection[1].WorkServerIPAddress); Assert.AreEqual("171.67.108.26", unitCollection[1].CollectionServer); Assert.AreEqual(new IPAddress(new byte[] { 171, 67, 108, 26 }), unitCollection[1].CollectionServerIPAddress); Assert.AreEqual(String.Empty, unitCollection[1].WaitingOn); Assert.AreEqual(0, unitCollection[1].Attempts); Assert.AreEqual("0.00 secs", unitCollection[1].NextAttempt); Assert.AreEqual(TimeSpan.Zero, unitCollection[1].NextAttemptTimeSpan); Assert.AreEqual(1, unitCollection[1].Slot); Assert.AreEqual("2 hours 10 mins", unitCollection[1].Eta); // not exactly the same value seen in SimulationInfo.EtaTimeSpan Assert.AreEqual(new TimeSpan(2, 10, 0), unitCollection[1].EtaTimeSpan); Assert.AreEqual(8868.96, unitCollection[1].Ppd); Assert.AreEqual("2 mins 11 secs", unitCollection[1].Tpf); Assert.AreEqual(new TimeSpan(0, 2, 11), unitCollection[1].TpfTimeSpan); Assert.AreEqual(1348, unitCollection[1].BaseCredit); Assert.AreEqual(1348, unitCollection[1].CreditEstimate); }
public void Client_v7_10_0() { const int slotId = 0; _dataAggregator.ClientName = "Client_v7_10"; var lines = LogReader.GetLogLines(File.ReadAllLines("..\\..\\..\\TestFiles\\Client_v7_10\\log.txt").Where(x => x.Length != 0), LogFileType.FahClient); lines = lines.Filter(LogFilterType.SlotAndNonIndexed, slotId).ToList(); string message = File.ReadAllText("..\\..\\..\\TestFiles\\Client_v7_10\\units.txt"); var unitCollection = new UnitCollection(); unitCollection.Fill(MessageCache.GetNextJsonMessage(ref message)); message = File.ReadAllText("..\\..\\..\\TestFiles\\Client_v7_10\\info.txt"); var info = new Info(); info.Fill(MessageCache.GetNextJsonMessage(ref message)); message = File.ReadAllText("..\\..\\..\\TestFiles\\Client_v7_10\\options.txt"); var options = new Options(); options.Fill(MessageCache.GetNextJsonMessage(ref message)); message = File.ReadAllText("..\\..\\..\\TestFiles\\Client_v7_10\\slot-options1.txt"); var slotOptions = new SlotOptions(); slotOptions.Fill(MessageCache.GetNextJsonMessage(ref message)); var units = _dataAggregator.AggregateData(lines, unitCollection, info, options, slotOptions, new UnitInfo(), slotId); Assert.AreEqual(1, units.Count); Assert.IsFalse(units.Any(x => x.Value == null)); #region Check Data Aggregator Assert.IsNotNull(_dataAggregator.Queue); Assert.AreEqual(1, _dataAggregator.CurrentUnitIndex); Assert.IsNotNull(_dataAggregator.CurrentClientRun); Assert.IsNotNull(_dataAggregator.CurrentLogLines); Assert.AreEqual(1, _dataAggregator.UnitLogLines.Count); Assert.IsFalse(_dataAggregator.UnitLogLines.Any(x => x.Value == null)); if (_dataAggregator.UnitLogLines.ContainsKey(_dataAggregator.CurrentUnitIndex)) { Assert.AreEqual(_dataAggregator.CurrentLogLines, _dataAggregator.UnitLogLines[_dataAggregator.CurrentUnitIndex]); } #endregion var unitInfoData = units[_dataAggregator.CurrentUnitIndex]; #region Check Unit Info Data Values Assert.AreEqual(null, unitInfoData.OwningSlotName); Assert.AreEqual(null, unitInfoData.OwningClientName); Assert.AreEqual(null, unitInfoData.OwningClientPath); Assert.AreEqual(-1, unitInfoData.OwningSlotId); Assert.AreEqual(DateTime.MinValue, unitInfoData.UnitRetrievalTime); Assert.AreEqual("harlam357", unitInfoData.FoldingID); Assert.AreEqual(32, unitInfoData.Team); Assert.AreEqual(SlotType.CPU, unitInfoData.SlotType); Assert.AreEqual(new DateTime(2012, 1, 10, 23, 20, 27), unitInfoData.DownloadTime); Assert.AreEqual(new DateTime(2012, 1, 22, 16, 22, 51), unitInfoData.DueTime); Assert.AreEqual(new TimeSpan(3, 25, 32), unitInfoData.UnitStartTimeStamp); Assert.AreEqual(DateTime.MinValue, unitInfoData.FinishedTime); Assert.AreEqual(2.27f, unitInfoData.CoreVersion); Assert.AreEqual(7610, unitInfoData.ProjectID); Assert.AreEqual(630, unitInfoData.ProjectRun); Assert.AreEqual(0, unitInfoData.ProjectClone); Assert.AreEqual(59, unitInfoData.ProjectGen); Assert.AreEqual(String.Empty, unitInfoData.ProteinName); Assert.AreEqual(String.Empty, unitInfoData.ProteinTag); Assert.AreEqual(WorkUnitResult.Unknown, unitInfoData.UnitResult); Assert.AreEqual(660000, unitInfoData.RawFramesComplete); Assert.AreEqual(2000000, unitInfoData.RawFramesTotal); Assert.AreEqual(10, unitInfoData.FramesObserved); Assert.AreEqual(33, unitInfoData.CurrentFrame.FrameID); Assert.AreEqual(new TimeSpan(4, 46, 8), unitInfoData.CurrentFrame.TimeOfFrame); Assert.AreEqual(new TimeSpan(0, 8, 31), unitInfoData.CurrentFrame.FrameDuration); Assert.AreEqual("A4", unitInfoData.CoreID); #endregion }
public void FillNotDerivedTest() { string message = File.ReadAllText("..\\..\\..\\TestFiles\\Client_v7_1\\units.txt"); var unitCollection = new UnitCollection(); unitCollection.Fill<UnitNotDerived>(MessageCache.GetNextJsonMessage(ref message)); }
public void GivenListOfUnitsWhenIndexedByDomainIdThenUnit() { var units = CreateUnits("mm", "m", "in"); var collection = new UnitCollection<IUnit>(units); Assert.AreSame(units[1], collection["m"]); }
public void Reset() { _lastHeartbeat = null; _unitCollection = null; _unitCollectionUpdated = false; _slotCollection = null; _slotOptions.Clear(); _receivedMessages.Clear(); }
public void GivenListWithDuplicateUnitsWWhenCreatedThenDuplicatesAreRemoved() { var units = CreateUnits("mm", "m", "mm"); var collecion = new UnitCollection<IUnit>(units); Assert.AreEqual(2, collecion.Count); }
/// <summary> /// Aggregate Data and return UnitInfo Dictionary. /// </summary> public IDictionary<int, UnitInfo> AggregateData(ICollection<LogLine> logLines, UnitCollection unitCollection, Info info, Options options, SlotOptions slotOptions, UnitInfo currentUnitInfo, int slotId) { if (logLines == null) throw new ArgumentNullException("logLines"); if (unitCollection == null) throw new ArgumentNullException("unitCollection"); if (options == null) throw new ArgumentNullException("options"); if (slotOptions == null) throw new ArgumentNullException("slotOptions"); if (currentUnitInfo == null) throw new ArgumentNullException("currentUnitInfo"); _currentUnitIndex = -1; // only take up to the last MaxDisplayableLogLines _currentLogLines = logLines.Skip(Math.Max(0, logLines.Count - Constants.MaxDisplayableLogLines)).ToList(); _logInterpreter = new LogInterpreter(logLines, LogReader.GetClientRuns(logLines, LogFileType.FahClient)); _currentClientRun = _logInterpreter.CurrentClientRun; // report errors that came back from log parsing foreach (var s in _logInterpreter.LogLineParsingErrors) { _logger.Debug(Constants.ClientNameFormat, ClientName, s); } IDictionary<int, UnitInfo> parsedUnits = GenerateUnitInfoDataFromQueue(unitCollection, options, slotOptions, currentUnitInfo, slotId); _clientQueue = BuildClientQueue(unitCollection, info, slotOptions, slotId); _logInterpreter = null; return parsedUnits; }
public void GivenListOfUnitsWhenCreatedThenCountIsAvailable() { var units = CreateUnits("m", "ac", "mm"); var collection = new UnitCollection<IUnit>(units); Assert.AreEqual(3, collection.Count); }