public void Test_Sleep_ShelterAvailable() { Console.WriteLine(""); Console.WriteLine("Preparing test"); Console.WriteLine(""); var context = MockEngineContext.New(); context.World.Logic.AddActivity(typeof(DrinkWaterActivity)); var settings = context.Settings; var person = new Person(settings); person.Vitals[PersonVitalType.Energy] = 0; person.Home = new Building(BuildingType.Shelter, settings); person.Home.PercentComplete = 100; var needEntry = new NeedEntry(ActivityVerb.Sleep, ItemType.NotSet, PersonVitalType.Energy, 100, settings.DefaultVitalPriorities[PersonVitalType.Energy]); var activity = new SleepActivity(person, needEntry, settings, new ConsoleHelper(settings)); Console.WriteLine(""); Console.WriteLine("Executing test"); Console.WriteLine(""); activity.Act(person); Console.WriteLine(""); Console.WriteLine("Analysing test"); Console.WriteLine(""); Assert.AreEqual(settings.EnergyFromSleepRate, person.Vitals[PersonVitalType.Energy]); }
public static SleepActivityViewModel AsViewModel(this SleepActivity model, Baby baby = null) { if (model == null) { return(null); } var startDate = model.StartTime.ToLocalTime(); return(new SleepActivityViewModel { Id = model.Id, StartDate = startDate, StartTime = startDate.TimeOfDay, EndTime = model.EndTime.HasValue ? model.EndTime.Value.ToLocalTime() : (DateTimeOffset?)null, Duration = model.EndTime.HasValue ? model.EndTime.Value - model.StartTime : DateTimeOffset.Now - model.StartTime, Notes = model.Notes, HowBabyFelt = (Feeling?)model.HowBabyFelt, HowParentFelt = (Feeling?)model.HowParentFelt, Baby = baby != null?baby.AsViewModel() : new BabyViewModel { Id = model.BabyId } }); }
public void Test_Sleep_ShelterAvailable() { Console.WriteLine (""); Console.WriteLine ("Preparing test"); Console.WriteLine (""); var context = MockEngineContext.New (); context.World.Logic.AddActivity (typeof(DrinkWaterActivity)); var settings = context.Settings; var person = new Person (settings); person.Vitals[PersonVitalType.Energy] = 0; person.Home = new Building (BuildingType.Shelter, settings); person.Home.PercentComplete = 100; var needEntry = new NeedEntry (ActivityVerb.Sleep, ItemType.NotSet, PersonVitalType.Energy, 100, settings.DefaultVitalPriorities[PersonVitalType.Energy]); var activity = new SleepActivity (person, needEntry, settings, new ConsoleHelper(settings)); Console.WriteLine (""); Console.WriteLine ("Executing test"); Console.WriteLine (""); activity.Act (person); Console.WriteLine (""); Console.WriteLine ("Analysing test"); Console.WriteLine (""); Assert.AreEqual(settings.EnergyFromSleepRate, person.Vitals[PersonVitalType.Energy]); }
public Activity Parse(XElement inputElement) { var activity = new SleepActivity(); activity.Name = inputElement.Attribute("name").Value; activity.Type = (ActivityType)inputElement.Element(XmlnsConstant.tibcoProcessNameSpace + "type").Value; if (inputElement.Element(XmlnsConstant.tibcoProcessNameSpace + "inputBindings") != null && inputElement.Element(XmlnsConstant.tibcoProcessNameSpace + "inputBindings").Element(XmlnsConstant.sleeptibcoActivityNameSpace + "SleepInputSchema") != null) { activity.InputBindings = inputElement.Element(XmlnsConstant.tibcoProcessNameSpace + "inputBindings").Element(XmlnsConstant.sleeptibcoActivityNameSpace + "SleepInputSchema").Nodes(); activity.Parameters = new XslParser().Parse(activity.InputBindings); } return(activity); }
public static SleepActivityViewModel AsViewModel(this SleepActivity model, Baby baby = null) { return(new SleepActivityViewModel { Id = model.Id, StartTime = model.StartTime, EndTime = model.EndTime, Duration = model.EndTime.HasValue ? Convert.ToInt32((model.StartTime - model.EndTime.Value).TotalMinutes) : 0, Notes = model.Notes, HowBabyFelt = model.HowBabyFelt, HowParentFelt = model.HowParentFelt, Baby = baby != null?baby.AsViewModel() : new BabyViewModel { Id = model.BabyId } }); }
public void SetUp() { this.activityBuilder = new SleepActivityBuilder(new XslBuilder(new XpathBuilder())); this.activity = new SleepActivity("MyActivityName", ActivityType.sleepActivity); var xml = @"<ns1:SleepInputSchema xmlns:xsl=""http://w3.org/1999/XSL/Transform"" xmlns:ns1=""www.tibco.com/plugin/Sleep""> <IntervalInMillisec> <xsl:value-of select=""3000""/> </IntervalInMillisec> </ns1:SleepInputSchema> "; XElement doc = XElement.Parse(xml); this.activity.InputBindings = doc.Nodes(); this.activity.Parameters = new List <ClassParameter> { new ClassParameter { Name = "IntervalInMillisec", Type = "int" } }; }
public static Activity GetSleep() { return(SleepActivity.GetInstance()); }