static void Main(string[] args) { List <int> input = Console.ReadLine().Split(new string[] { ",", " " }, StringSplitOptions.RemoveEmptyEntries).Select(int.Parse).ToList(); Lake <int> lake = new Lake <int>(input); Console.WriteLine(string.Join(", ", lake)); }
static void Main() { var input = Console.ReadLine() .Split(new[] { ' ', ',' }, StringSplitOptions.RemoveEmptyEntries) .Select(int.Parse) .ToList(); var lake = new Lake <int>(input); var jumps = new Queue <int>(); var index = 0; foreach (var stoneNum in lake) { if (index % 2 == 0) { jumps.Enqueue(stoneNum); } index++; } index = input.Count % 2 == 0 ? 0 : 1; foreach (var stoneNum in lake.Reverse()) { if (index % 2 == 0) { jumps.Enqueue(stoneNum); } index++; } Console.WriteLine(string.Join(", ", jumps)); }
public void GetLakeFromService_AndReturnDefaultView() { // Arrange var mockedLakeFactory = new Mock <ILakeFactory>(); var mockedLocationFactory = new Mock <ILocationFactory>(); var mockedLake = new Lake() { Name = "Test lake", Info = "Test info" }; var mockedLakeService = new Mock <ILakeService>(); mockedLakeService.Setup(s => s.FindByName(It.IsAny <string>())).Returns(mockedLake).Verifiable(); var mockedLocationService = new Mock <ILocationService>(); var mockedFishService = new Mock <IFishService>(); var controller = new LakeController(mockedLakeFactory.Object, mockedLocationFactory.Object, mockedLakeService.Object, mockedLocationService.Object, mockedFishService.Object); // Act var result = controller.Edit(It.IsAny <string>()) as ViewResult; var model = result.ViewData.Model as EditLakeViewModel; // Assert Assert.AreEqual("", result.ViewName); Assert.AreEqual(mockedLake.Name, model.LakeName); Assert.AreEqual(mockedLake.Info, model.LakeInfo); }
public static void Main() { int[] stones = Console.ReadLine().Split(", ").Select(int.Parse).ToArray(); var lake = new Lake <int>(stones); Console.WriteLine(string.Join(", ", lake)); }
public void AddLakeToDbContext() { // Arrange var lake = new Lake() { Name = "Test lake" }; var mockedCollection = new List <Lake>(); var mockedDbSet = MockDbSet.Mock(mockedCollection.AsQueryable()); mockedDbSet.Setup(d => d.Add(It.IsAny <Lake>())).Callback <Lake>((l) => mockedCollection.Add(l)); var mockedDbContext = new Mock <IDatabaseContext>(); mockedDbContext.Setup(c => c.Lakes).Returns(mockedDbSet.Object); var lakeService = new LakeService(mockedDbContext.Object); // Act lakeService.Add(lake); // Assert Assert.IsTrue(mockedCollection.Count == 1); Assert.AreEqual(lake, mockedCollection[0]); }
private void lbl_start_Click(object sender, EventArgs e) { ReservoirCreator classCreator = type ? new Water.LakeCreator(): (ReservoirCreator)(new Water.PondCreator()); var obj = classCreator.reservoir(); if (obj.GetType().ToString() == "Water.Lake") { Lake lake = new Lake(); lake.Name = txt_name.Text; lake.Square = int.Parse(txt_sq.Text); lake.Number = int.Parse(txt_river.Text); lake.WeightWater = int.Parse(txt_weight.Text); lake.MaxDepth = int.Parse(txt_.Text); reservoirList.Add(lake); } else if (obj.GetType().ToString() == "Water.Pond") { Pond lake = new Pond(); lake.Name = txt_name.Text; lake.Square = int.Parse(txt_sq.Text); lake.Number = int.Parse(txt_river.Text); lake.WeightWater = int.Parse(txt_weight.Text); lake.MaxDepth = int.Parse(txt_.Text); reservoirList.Add(lake); } lbl_see.Visible = true; }
public void SetNewValuesToLake_AndSetSuccessMessage_InTempData_IfEditNotFailed() { // Arrange var mockedLakeFactory = new Mock <ILakeFactory>(); var mockedLocationFactory = new Mock <ILocationFactory>(); var mockedLake = new Lake() { Name = "Test lake", Info = "Test info" }; var mockedLakeService = new Mock <ILakeService>(); mockedLakeService.Setup(s => s.FindByName(It.IsAny <string>())).Returns(mockedLake).Verifiable(); mockedLakeService.Setup(s => s.Save()).Verifiable(); var mockedLocationService = new Mock <ILocationService>(); var mockedFishService = new Mock <IFishService>(); var controller = new LakeController(mockedLakeFactory.Object, mockedLocationFactory.Object, mockedLakeService.Object, mockedLocationService.Object, mockedFishService.Object); var model = new EditLakeViewModel() { LakeName = "Test name", OldName = "Test name", LakeInfo = "Test info" }; // Act var result = controller.Edit(model, model.OldName) as ViewResult; // Assert Assert.AreEqual(model.LakeName, mockedLake.Name); Assert.AreEqual(model.LakeInfo, mockedLake.Info); Assert.AreEqual(GlobalMessages.EditLakeSuccessMessage, result.TempData[GlobalMessages.SuccessEditKey]); mockedLakeService.Verify(s => s.FindByName(It.IsAny <string>()), Times.Once); mockedLakeService.Verify(s => s.Save(), Times.Once); }
public ActionResult CreateLake(Lake model, List <String> Fishes, List <String> Boats) { if (model.Id != 0 && IsAdmin) { var lake = db.Lakes.First(x => x.Id == model.Id); lake.Name = model.Name; lake.Description = model.Description; lake.Image = model.Image; if (Fishes != null) { lake.Fishes.RemoveAll(x => x.Id != -1); Fishes?.ForEach(x => lake.Fishes.Add(db.Fishes.First(y => y.Name == x))); } if (Boats != null) { lake.Boats.RemoveAll(x => x.Id != -1); Boats?.ForEach(x => lake.Boats.Add(db.Boats.First(y => y.Name == x))); } db.SaveChanges(); } else if (db.Lakes.FirstOrDefault(x => x.Name == model.Name) == null) { Fishes?.ForEach(x => model.Fishes.Add(db.Fishes.First(y => y.Name == x))); Boats?.ForEach(x => model.Boats.Add(db.Boats.First(y => y.Name == x))); db.Lakes.Add(model); db.SaveChanges(); return(RedirectToAction("AdminPanel")); } return(RedirectToAction($"Lake/{model.Id}")); }
static void Main() // 100/100 - !!! { var input = Console.ReadLine().Split(", ").Select(int.Parse).ToArray(); var lake = new Lake(input); Console.WriteLine(string.Join(", ", lake)); }
public void Vedsted3() { WaterPacket GroundWater = new WaterPacket(1); GroundWater.AddChemical(ChemicalFactory.Instance.GetChemical(ChemicalNames.Radon), 0.01); Model m = ModelFactory.GetModel(testDataPath + "VedstedNoGroundwater.xml"); Lake Vedsted = (Lake)m._waterBodies[0]; Vedsted.Precipitation.First().WaterSample.IDForComposition = 2; Vedsted.Sources.First().WaterSample.IDForComposition = 3; GroundWaterBoundary Inflow = new GroundWaterBoundary(Vedsted, 1e-6, 1, 46.7, XYPolygon.GetSquare(Vedsted.Area / 2)); Inflow.Name = "Inflow"; Inflow.ID = 4; Inflow.WaterSample = GroundWater; Inflow.WaterSample.IDForComposition = 4; GroundWaterBoundary Outflow = new GroundWaterBoundary(Vedsted, 1e-6, 1, 44.7, XYPolygon.GetSquare(Vedsted.Area / 2)); Outflow.Name = "Outflow"; Outflow.ID = 5; Outflow.WaterSample = GroundWater; Vedsted.GroundwaterBoundaries.Add(Inflow); Vedsted.GroundwaterBoundaries.Add(Outflow); DateTime End = new DateTime(2009, 12, 31); m.MoveInTime(End, TimeSpan.FromDays(30)); ModelFactory.SaveModel(testDataPath + "Vedsted3.xml", m); }
public void RoutingOfRecievedWaterTest() { Lake S = new Lake("L", 100); DateTime Start = new DateTime(2000, 1, 1); S.SetState("Initial", Start, new WaterPacket(100)); Lake storage = new Lake("storage", 10000); S.AddDownStreamWaterBody(storage); TimeSpan ts = new TimeSpan(1, 0, 0); WaterPacket WaterProvider = new WaterPacket(2, 200); IWaterPacket actual; S.AddWaterPacket(DateTime.Now, DateTime.Now, WaterProvider.DeepClone(200)); S.Update(S.CurrentTime.Add(ts)); actual = S.CurrentStoredWater; Assert.AreEqual(100, actual.Volume); Assert.AreEqual(200, storage.CurrentStoredWater.Volume); Assert.AreEqual(200.0 / 300.0, storage.CurrentStoredWater.Composition[2], 0.000001); //In the next timestep there will be no water to route S.Update(S.CurrentTime.Add(ts)); Assert.AreEqual(200, storage.CurrentStoredWater.Volume); Assert.AreEqual(200.0 / 300.0, storage.CurrentStoredWater.Composition[2], 0.000001); Assert.AreEqual(1, S.Output.GetStorageTime(Start, Start.AddHours(2)).TotalHours, 0.001); }
public void RadonDeg() { var rn = ChemicalFactory.Instance.GetChemical(ChemicalNames.Radon); var cl = ChemicalFactory.Instance.GetChemical(ChemicalNames.Cl); DateTime Start = new DateTime(2005, 1, 1); Lake L = new Lake("test", 10); L.SetState("Initial", Start, new WaterPacket(0)); SinkSourceBoundary sb = new SinkSourceBoundary(10.0 / 86400); ((WaterPacket)sb.WaterSample).AddChemical(rn, 2.3); ((WaterPacket)sb.WaterSample).AddChemical(cl, 2.3); L.Sources.Add(sb); L.Output.LogAllChemicals = true; L.Output.LogComposition = true; Model M = new Model(); M._waterBodies.Add(L); M.Save("temp.xml"); L.Update(Start.AddDays(1)); Assert.AreEqual(2.3, L.Output.ChemicalsToLog[cl].GetSiValue(L.CurrentTime), 1e-5); Assert.AreNotEqual(2.3, L.Output.ChemicalsToLog[rn].GetSiValue(L.CurrentTime), 1e-5); var M2 = ModelFactory.GetModel("temp.xml"); Lake L2 = M2._waterBodies.First() as Lake; L2.Update(Start.AddDays(1)); Assert.AreEqual(2.3, L2.Output.ChemicalsToLog[cl].GetSiValue(L2.CurrentTime), 1e-5); Assert.AreNotEqual(2.3, L2.Output.ChemicalsToLog[rn].GetSiValue(L2.CurrentTime), 1e-5); }
// Start is called before the first frame update void Start() { InitializeTerrainVariables(); for (int i = 0; i < numMountains; i++) { GenerateMountain(180); } for (int i = 0; i < numParentLakes; i++) { Lake parentLake = GenerateLakeParent(0.0f); for (int j = 0; j < numChildLakes; j++) { Lake childLake = GenerateLakeChild(0.05f, parentLake); for (int k = 0; k < numChildOfChildLakes; k++) { Lake childchildLake = GenerateLakeChild(0.1f, childLake); GenerateRiver(childLake, childchildLake); } GenerateRiver(parentLake, childLake); } } SetTerrainHeight(); }
public static void Main() { Lake lake = new Lake(Console.ReadLine().Split(new char[] { ' ', ',' }, StringSplitOptions.RemoveEmptyEntries).Select(int.Parse).ToList()); Console.ForegroundColor = ConsoleColor.Red; Console.WriteLine(string.Join(", ", lake)); }
static void Main(string[] args) { var input = Console.ReadLine().Split(", ").Select(int.Parse).ToList(); var stones = new Lake <int>(input); Console.WriteLine(string.Join(", ", stones)); }
public void RunOnstoredData() { Lake L = new Lake("Test", 1000); GroundWaterBoundary gwb = new GroundWaterBoundary(L, 14 - 5, 1, 10, (XYPolygon)L.Geometry); L.WaterLevel = 9; DateTime Start = new DateTime(2000, 1, 1); DateTime End = new DateTime(2000, 2, 1); L.GroundwaterBoundaries.Add(gwb); Model m = new Model(); m._waterBodies.Add(L); m.SetState("Initial", Start, new WaterPacket(1)); m.MoveInTime(End, TimeSpan.FromDays(1)); DateTime Mid = new DateTime(2000, 1, 15); double flow = L.Output.GroundwaterInflow.GetValue(Mid); gwb.FlowType = GWType.Flow; gwb.HydraulicConductivity = 1; gwb.GroundwaterHead = 1; m.RestoreState("Initial"); m.MoveInTime(End, TimeSpan.FromDays(1)); Assert.AreEqual(flow, L.Output.GroundwaterInflow.GetValue(Mid)); }
public void RoutingOfInflow() { Stream S = new Stream("S", 10, 1, 1); DateTime Start = DateTime.Now; S.SetState("Initial", Start, new WaterPacket(1, 10)); Stream s2 = new Stream("s2", 10, 1, 1); Lake Storage = new Lake("storage", 100000); S.AddDownStreamWaterBody(s2); s2.AddDownStreamWaterBody(Storage); SinkSourceBoundary FB = new SinkSourceBoundary(5.0 / 60); FB.WaterSample = new WaterPacket(5, 5); S.Sources.Add(FB); TimeSpan ts = new TimeSpan(0, 1, 0); WaterPacket WaterProvider = new WaterPacket(2, 5); S.AddWaterPacket(Start, Start.AddDays(1), WaterProvider.DeepClone(15)); S.Update(S.CurrentTime.Add(ts)); s2.Update(S.CurrentTime.Add(ts)); Assert.AreEqual(10, S.CurrentStoredWater.Volume, 0.00001); Assert.AreEqual(0.137, S.CurrentStoredWater.Composition[5], 0.001); Assert.AreEqual(0.863, S.CurrentStoredWater.Composition[2], 0.001); Assert.AreEqual(0.1309, s2.CurrentStoredWater.Composition[1], 0.001); }
public static void Main() { int[] stones = Console.ReadLine().Split(new [] { ' ', ',' }, StringSplitOptions.RemoveEmptyEntries).Select(int.Parse).ToArray(); Lake lake = new Lake(stones); Console.WriteLine(string.Join(", ", lake)); }
public PhotoManager() { InitializeComponent(); _lake = Lake.FindAll()[0]; LoadBoats(); LoadPhotos(); }
public void SetErrorMessage_InTempData_IfEditFailed() { // Arrange var mockedLakeFactory = new Mock <ILakeFactory>(); var mockedLocationFactory = new Mock <ILocationFactory>(); var mockedLake = new Lake() { Name = "Test lake", Info = "Test info" }; var mockedLakeService = new Mock <ILakeService>(); mockedLakeService.Setup(s => s.FindByName(It.IsAny <string>())).Returns(mockedLake).Verifiable(); mockedLakeService.Setup(s => s.Save()).Throws <Exception>(); var mockedLocationService = new Mock <ILocationService>(); var mockedFishService = new Mock <IFishService>(); var controller = new LakeController(mockedLakeFactory.Object, mockedLocationFactory.Object, mockedLakeService.Object, mockedLocationService.Object, mockedFishService.Object); var model = new EditLakeViewModel() { LakeName = "Test name", OldName = "Test name", LakeInfo = "Test info" }; // Act var result = controller.Edit(model, model.OldName) as ViewResult; // Assert Assert.AreEqual(GlobalMessages.EditLakeFailMessage, result.TempData[GlobalMessages.FailKey]); }
public static void Main() { var input = Console.ReadLine().Split(new[] { ", " }, StringSplitOptions.RemoveEmptyEntries).Select(int.Parse).ToArray(); var lake = new Lake <int>(input); Console.WriteLine(string.Join(", ", lake)); }
public Map() { Forest = new Forest(); Mountain = new Mountain(); Lake = new Lake(); Castle = new Castle(); Cave = new Cave(); }
static void Main(string[] args) { int[] numbers = Console.ReadLine().Split(new[] { ',', ' ' }, StringSplitOptions.RemoveEmptyEntries).Select(int.Parse).ToArray(); Lake lake = new Lake(numbers); lake.Jump(); }
public static void Main(string[] args) { var input = Console.ReadLine(); var separated = input.Split(new[] { ' ', ',' }, StringSplitOptions.RemoveEmptyEntries).Select(int.Parse).ToArray(); var lake = new Lake(separated); Console.WriteLine(string.Join(", ", lake)); }
static void Main(string[] args) { List <int> listOfStones = Console.ReadLine().Split(new string[] { ", " }, StringSplitOptions.RemoveEmptyEntries).Select(int.Parse).ToList(); Lake lakeList = new Lake(listOfStones); Console.WriteLine(string.Join(", ", lakeList)); }
public static void Main() { var input = Console.ReadLine().Split(", ", StringSplitOptions.RemoveEmptyEntries).Select(int.Parse).ToArray(); var numbers = new Lake(input); Console.WriteLine(string.Join(", ", numbers)); }
public static void Main() { var stones = Console.ReadLine().Split(", ").Select(int.Parse).ToList(); Lake lake = new Lake(stones); Console.WriteLine(string.Join(", ", lake)); }
private static void Main(string[] args) { var stones = Console.ReadLine().Split(new[] { ' ', ',' }, StringSplitOptions.RemoveEmptyEntries).Select(int.Parse); Lake lake = new Lake(stones); Console.WriteLine(string.Join(", ", lake)); }
public void MergeInto(Lake lake) { Lakes.Remove(this); foreach (int i in this.Points) { lake.Points.Add(i); } }
public static void Main() { var numbers = Console.ReadLine().Split(new[] { ' ', ',' }, StringSplitOptions.RemoveEmptyEntries).Select(int.Parse); var stones = new Lake(numbers.ToList()); Console.WriteLine(string.Join(", ", stones)); }
public void TestMethod1() { Lake L = new Lake("Deep lake", XYPolygon.GetSquare(10000)); L.Depth = 4; L.Output.LogAllChemicals = true; Lake L2 = new Lake("Shallow lake", XYPolygon.GetSquare(40000)); L2.Depth = 1; L2.Output.LogAllChemicals = true; SinkSourceBoundary flow = new SinkSourceBoundary(L.Volume / (15.0 * 86400.0)); L.Sources.Add(flow); L2.Sources.Add(flow); Chemical rn = ChemicalFactory.Instance.GetChemical(ChemicalNames.Radon); Chemical cl = ChemicalFactory.Instance.GetChemical(ChemicalNames.Cl); WaterPacket groundwater = new WaterPacket(1); groundwater.SetConcentration(rn, 200); groundwater.SetConcentration(cl, 200); SinkSourceBoundary gwflow = new SinkSourceBoundary(L.Volume / (15.0 * 86400.0)); gwflow.WaterSample = groundwater; L.Sources.Add(gwflow); L2.Sources.Add(gwflow); Model M = new Model(); M.WaterBodies.Add(L); M.WaterBodies.Add(L2); DateTime start = new DateTime(2010,1,1); M.SetState("Initial", start, new WaterPacket(1)); M.MoveInTime(new DateTime(2010, 12, 31), TimeSpan.FromDays(5)); M.Save(@"..\..\..\TestData\Radon.xml"); }
public void TracerTest() { int count = 3; double length = 10870; DateTime Start= new DateTime(2000,1,1); List<Lake> lakes = NetworkBuilder.CreateConnectedLakes(count); foreach (Lake L in lakes) { L.SurfaceArea = XYPolygon.GetSquare(length / count); L.Depth = 1; L.SetState("Initial",Start, new WaterPacket(L.Volume)); } Chemical c = ChemicalFactory.Instance.GetChemical(ChemicalNames.Cl); SinkSourceBoundary fb = new SinkSourceBoundary(10870.0 / (8.49 * 3600)); fb.WaterSample = new WaterPacket(1); lakes.First().Sources.Add(fb); WaterPacket plug = new WaterPacket(1); plug.AddChemical(c, 10000); lakes.First().AddWaterPacket(Start, Start.AddHours(1), plug.DeepClone()); lakes.First().Output.LogChemicalConcentration(c); lakes.Last().Output.LogChemicalConcentration(c); Stream us = new Stream("us",1, 1, 1); us.Sources.Add(fb); Stream s = new Stream("s",1000, 1, 1); Lake L2 = new Lake("L2",870); Stream s1 = new Stream("s1", 9000, 1, 1); s.AddWaterPacket(Start, Start.AddSeconds(1), plug.DeepClone()); s1.Output.LogChemicalConcentration(c); us.AddDownStreamWaterBody(s); s.AddDownStreamWaterBody(L2); L2.AddDownStreamWaterBody(s1); Model m = new Model(); m._waterBodies.AddRange(lakes.Cast<IWaterBody>()); m._waterBodies.Add((IWaterBody)us); m._waterBodies.Add((IWaterBody)s); m._waterBodies.Add((IWaterBody)L2); m._waterBodies.Add((IWaterBody)s1); m.SetState("Initial", Start, new WaterPacket(1)); m.MoveInTime(Start.AddHours(15), TimeSpan.FromMinutes(1)); lakes.Last().Output.Save(@"C:\temp\LastLake.xts"); s1.Output.Save(@"C:\temp\Stream.xts"); int n = 15; List<IWaterBody> wbs = NetworkBuilder.CreateCombo(n, 10870 / n/2.0); foreach (IWaterBody wb in wbs) { wb.SetState("Initial", Start, new WaterPacket(wb.Volume)); } wbs.First().AddWaterPacket(Start, Start.AddHours(1), plug.DeepClone()); us.AddDownStreamWaterBody(wbs.First()); us.RestoreState("Initial"); m._waterBodies.Clear(); m._waterBodies.Add(us); m._waterBodies.AddRange(wbs); m.SetState("Initial", Start, new WaterPacket(1)); ((Stream)wbs.Last()).Output.LogChemicalConcentration(c); m.MoveInTime(Start.AddHours(15), TimeSpan.FromMinutes(1)); ((Stream)wbs.Last()).Output.Save(@"C:\temp\Stream.xts"); }
public void TestMethod1() { Model M = new Model(); M.Name = "Cook"; WaterPacket HyporhericWater = new WaterPacket(1); HyporhericWater.AddChemical(ChemicalFactory.Instance.GetChemical(ChemicalNames.Radon), 0.6 / HyporhericWater.Volume); for (int i = 0; i < 10; i++) { Lake s1 = new Lake("s" + i, XYPolygon.GetSquare(50 * 2)); s1.Depth = 0.3; StagnantExchangeBoundary seb = new StagnantExchangeBoundary(s1.Volume / 20000); seb.WaterSample = HyporhericWater.DeepClone(s1.Area * 0.2 * 0.4); seb.Output.LogAllChemicals = true; s1.Output.LogAllChemicals = true; s1.Sinks.Add(seb); s1.Sources.Add(seb); if (i > 0) M._waterBodies[i - 1].AddDownStreamWaterBody(s1); M._waterBodies.Add(s1); } //Bromide injection TimespanSeries ts = new TimespanSeries(); ts.AddSiValue(DateTime.MinValue, new DateTime(2005, 10, 18, 12, 0, 0), 0); ts.AddSiValue(new DateTime(2005, 10, 18, 12, 0, 0), new DateTime(2005, 10, 18, 12, 40, 0), 0.001 * 60); ts.AddSiValue(new DateTime(2005, 10, 18, 12, 40, 0), DateTime.MaxValue, 0); SinkSourceBoundary Bromide = new SinkSourceBoundary(ts); WaterPacket P = new WaterPacket(1); P.AddChemical(new Chemical("Bromide", 1), 1.13); Bromide.WaterSample = P; //SF6 injection TimespanSeries ts2 = new TimespanSeries(); ts2.AddSiValue(DateTime.MinValue, new DateTime(2005, 10, 15, 12, 0, 0), 0); ts2.AddSiValue(new DateTime(2005, 10, 15, 12, 0, 0), new DateTime(2005, 10, 19, 12, 0, 0), 1e-6); ts2.AddSiValue(new DateTime(2005, 10, 19, 12, 0, 0), DateTime.MaxValue, 0); SinkSourceBoundary SF6 = new SinkSourceBoundary(ts2); WaterPacket SF6w = new WaterPacket(1); SF6w.AddChemical(new Chemical("SF6", 1), 1.13); SF6.WaterSample = SF6w; M._waterBodies.First().Sources.Add(Bromide); M._waterBodies.First().Sources.Add(SF6); M._waterBodies.First().Sources.Add(new SinkSourceBoundary(0.2)); DateTime Start = new DateTime(2005, 10, 13); DateTime End = new DateTime(2005, 10, 19); M.SetState("Initial", Start, new WaterPacket(1)); M.MoveInTime(new DateTime(2005, 10, 18, 12, 0, 0), TimeSpan.FromHours(2)); M.MoveInTime(new DateTime(2005, 10, 18, 13, 0, 0), TimeSpan.FromHours(0.02)); M.MoveInTime(End, TimeSpan.FromHours(2)); M.Save(@"..\..\..\TestData\CookEtAl.xml"); M.RestoreState("Initial"); TimespanSeries ts3 = new TimespanSeries(); ts3.AddSiValue(DateTime.MinValue, new DateTime(2005, 10, 16, 12, 0, 0), 0); ts3.AddSiValue(new DateTime(2005, 10, 16, 12, 0, 0), new DateTime(2005, 10, 17, 0, 0, 0), 0.4); ts3.AddSiValue(new DateTime(2005, 10, 17, 0, 0, 0), DateTime.MaxValue, 0); M._waterBodies.First().Sources.Add(new SinkSourceBoundary(ts3)); M.MoveInTime(new DateTime(2005, 10, 18, 12, 0, 0), TimeSpan.FromHours(2)); M.MoveInTime(new DateTime(2005, 10, 18, 13, 0, 0), TimeSpan.FromHours(0.02)); M.MoveInTime(End, TimeSpan.FromHours(2)); M.Save(@"..\..\..\TestData\CookEtAl2.xml"); }