/// <summary> /// If the ant’s destination is a mound of sugar, this method is called as soon /// as the ant has reached its destination. It means that the ant is now near /// enough to its destination/target to interact with it. /// Read more: "http://wiki.antme.net/en/API1:DestinationReached(Sugar)" /// </summary> /// <param name="sugar">reached sugar</param> public override void DestinationReached(Sugar sugar) { if (Caste == Consts.Collector) { CollectorDestinationReached(sugar); } }
public void TestMethod8() { Sugar sugar = new Sugar(); double expectedResult = .50; Assert.AreEqual(expectedResult, sugar.price); }
public virtual bool LineStats(OMetaStream <char> inputStream, out OMetaList <HostExpression> result, out OMetaStream <char> modifiedStream) { OMetaList <HostExpression> adds = null; OMetaList <HostExpression> subs = null; modifiedStream = inputStream; if (!MetaRules.Apply( delegate(OMetaStream <char> inputStream2, out OMetaList <HostExpression> result2, out OMetaStream <char> modifiedStream2) { modifiedStream2 = inputStream2; if (!MetaRules.Apply(Number, modifiedStream2, out result2, out modifiedStream2)) { return(MetaRules.Fail(out result2, out modifiedStream2)); } adds = result2; if (!MetaRules.ApplyWithArgs(Exactly, modifiedStream2, out result2, out modifiedStream2, ("\t").AsHostExpressionList())) { return(MetaRules.Fail(out result2, out modifiedStream2)); } if (!MetaRules.Apply(Number, modifiedStream2, out result2, out modifiedStream2)) { return(MetaRules.Fail(out result2, out modifiedStream2)); } subs = result2; result2 = (Sugar.Cons(adds, subs)).AsHostExpressionList(); return(MetaRules.Success()); }, modifiedStream, out result, out modifiedStream)) { return(MetaRules.Fail(out result, out modifiedStream)); } return(MetaRules.Success()); }
/// <summary> /// This method is called as soon as an ant sees a mound of sugar in its 360° /// visual range. The parameter is the mound of sugar that the ant has spotted. /// Read more: "http://wiki.antme.net/en/API1:Spots(Sugar)" /// </summary> /// <param name="sugar">spotted sugar</param> public override void Spots(Sugar sugar) { if (this.Destination == null) { this.GoToDestination(sugar); } }
static void Main(string[] args) { Console.WriteLine("----義大利餐館菜單----"); Spaghetti normalSpaghetti = new NormalSpaghetti(); // 產生平民義大利麵 normalSpaghetti = new Chocolate(normalSpaghetti); // 加點火腿 normalSpaghetti = new Egg(normalSpaghetti); // 加點蛋 normalSpaghetti = new Cheese(normalSpaghetti); // 加點起司 normalSpaghetti = new Bacon(normalSpaghetti); // Console.WriteLine("名稱:{0} 價錢:{1} 材料:{2}", normalSpaghetti.GetName(), normalSpaghetti.GetPrice(), normalSpaghetti.GetDescription()); Spaghetti spaghettiBolognese = new SpaghettiBolognese(); // 產生茄汁肉醬義大利麵 spaghettiBolognese = new Strawberry(spaghettiBolognese); spaghettiBolognese = new Banana(spaghettiBolognese); spaghettiBolognese = new Sugar(spaghettiBolognese); Console.WriteLine("名稱:{0} 價錢:{1} 材料:{2}", spaghettiBolognese.GetName(), spaghettiBolognese.GetPrice(), spaghettiBolognese.GetDescription()); Console.ReadLine(); }
void CollectSugar() { // state update if (null != sugar) { if (Vector3.Distance(sugar.transform.position, transform.position) < 0.5) { sugar.GetEaten(); SugarCollected++; if (SugarCollected == SugarToCollect) { activeState = GoToColony; seek.target = colonyTransform; } else { sugar = sugarController.GetRandomSugar(); if (null != sugar) { seek.target = sugar.transform; } else { activeState = GoToColony; seek.target = colonyTransform; } } } } }
/// <summary> /// Is called once if the ant has a pile of sugar as target and arrives at the pile. /// </summary> /// <param name="sugar">The pile of sugar</param> public override void TargetReached(Sugar sugar) { this.Take(sugar); this.GoBackToAnthill(); }
/// <summary> /// Tell the task manager, that sugar was found /// </summary> /// <param name="sugar"></param> public void ReportSugar(Sugar sugar) { int existingTickets = 0; if (Sugars.Contains(sugar)) { existingTickets = collectorQ.Count(x => x is FoodTask && ((FoodTask)x).Target == sugar); if (existingTickets > 0) { return; } // we know the sugar, but there are no tasks anymore for it // this could be related to killed ants on their way back home // so we will create new ones. } else { Sugars.Add(sugar); } var taskCount = (sugar.Amount - (existingTickets * 10)) / 10; // TODO: get max load more dynamicly for (int i = 0; i < taskCount; i++) { collectorQ.Enqueue(new FoodTask(sugar)); } log.Debug($"New sugar reported, enqueued {taskCount} tasks."); }
private void OnTriggerEnter(Collider other) { switch (antState) { case AntState.CollectingSugar: Sugar sugar = other.gameObject.GetComponent <Sugar>(); if (seek.target != null && sugar != null) { if (sugar.gameObject == seek.target.gameObject) { sugar.GetEaten(); SugarCollected++; if (SugarCollected == SugarToCollect) { antState = AntState.GoingToColony; seek.target = colonyTransform; } else { sugar = sugarController.GetRandomSugar(); if (sugar != null) { seek.target = sugar.transform; } else { antState = AntState.GoingToColony; seek.target = colonyTransform; } } } } break; } }
static void Main() { try { //生成实体 Sugar sqlSugar = new Sugar(); sqlSugar.setCon(AppConfSetting.ConnectionString); sqlSugar.sugarClient.Open(); sqlSugar.sugarClient.DbFirst .IsCreateDefaultValue().IsCreateAttribute().CreateClassFile("D:\\Models", "Ris.Dal.Entitys"); sqlSugar.sugarClient.Close(); //设置应用程序处理异常方式:ThreadException处理 Application.SetUnhandledExceptionMode(UnhandledExceptionMode.CatchException); //处理UI线程异常 Application.ThreadException += new System.Threading.ThreadExceptionEventHandler(Application_ThreadException); //处理非UI线程异常 AppDomain.CurrentDomain.UnhandledException += new UnhandledExceptionEventHandler(CurrentDomain_UnhandledException); #region 应用程序的主入口点 Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); //Application.Run(new DeptSettingForm()); Application.Run(new LoginForm()); #endregion } catch (Exception ex) { string str = GetExceptionMsg(ex, string.Empty); MessageBox.Show(str, "系统错误", MessageBoxButtons.OK, MessageBoxIcon.Error); NLogger.LogError(str, ex); Application.Exit(); } }
public override string ToString() { string stickValue = Stick ? "0" : string.Empty; string sugarValue = Sugar > 0 ? Sugar.ToString() : string.Empty; return($"{Type}:{sugarValue}:{stickValue}"); }
public void Checking_UseStock_Expected_Return9() { //Arrange Inventory inventory = new Inventory(); Recipe recipe = new Recipe(); Lemons lemons = new Lemons(); Sugar sugar = new Sugar(); Ice ice = new Ice(); int expected = 12; lemons.ItemCount = 12; sugar.ItemCount = 12; ice.ItemCount = 12; recipe.lem = 3; recipe.sug = 3; recipe.ice = 3; int expectedLemonResult = lemons.ItemCount - recipe.lem; int expectedSugarResult = sugar.ItemCount - recipe.sug; int expectedIceResult = ice.ItemCount - recipe.ice; //Act inventory.UseStock(); //Assert Assert.AreEqual(expected, lemons.ItemCount); }
public override void DestinationReached(Sugar sugar) { if (this.Caste == WorkerCasteName) { this.Take(sugar); this.CustomGoToDestination(this.Home); } }
public DBusActivity(Sugar.Activity activity) { if (activity==null) return; _activity = activity; System.Console.Out.WriteLine("Activity DBus ctor ActivityID: "+activity.activityId+"<<"); createDBusLoopEvent(activity.activityId); }
public Inventory() { lemons = new Lemons(); ice = new Ice(); sugar = new Sugar(); pitcher = new Pitcher(); cups = new Cups(); }
/// <summary> /// If the ant's destination is a mound of sugar, this method /// is called as soon as the ant has reached its destination. /// It means that the ant is now near enough to its /// destination/target to interact with it. /// Read more: "http://wiki.antme.net/en/API1:DestinationReached(Sugar)" /// </summary> /// <param name="sugar">reached sugar</param> public override void DestinationReached(Sugar sugar) { int direction = Coordinate.GetDegreesBetween(this, sugar); int information = CreateMarkerInformation(direction, infoTypeSugar); MakeMark(information, 80); TakeFoodToAntHill(sugar); }
void CollectorSpotsSugar(Sugar sugar) { if (CustomTarget == sugar || Destination == sugar) { GoToDestination(sugar); task = null; } }
public void IsNoneTest() { Sugar sugarTest = new Sugar(); Assert.AreEqual(sugarTest.IsNone(), true); sugarTest.SetSugarLevel("無糖"); Assert.AreEqual(sugarTest.IsNone(), false); }
public static Sugar GetInstance() { if (instance == null) { instance = new Sugar(); } return(instance); }
public DBusActivity(Sugar.Window window) { if (window==null) return; _window=window; System.Console.Out.WriteLine("Window DBus ctor ActivityID: "+window.activityId+"<<"); createDBusLoopEvent(window.activityId); }
public void SetSugarLevelTest() { Sugar sugarTest = new Sugar(); sugarTest.SetSugarLevel("半糖"); Assert.AreEqual(sugarTest.level, "半糖"); sugarTest.SetSugarLevel("hggg"); Assert.AreEqual(sugarTest.level, ""); }
public string toClientData() { return(string.Format("\"{0}\",{1},{2},{3},\"{4}\",{5},{6},{7},{8},{9},{10},{11},{12},{13}, \"{14}\"", Name, Id, (Category)? 1 : 0, Price.ToString("0.00", CultureInfo.InvariantCulture), Composition, EnergyKj, EnergyKcal, Protein.ToString("0.00", CultureInfo.InvariantCulture), Carbohydrates.ToString("0.00", CultureInfo.InvariantCulture), Sugar.ToString("0.00", CultureInfo.InvariantCulture), TotalFat.ToString("0.00", CultureInfo.InvariantCulture), SaturatedFat.ToString("0.00", CultureInfo.InvariantCulture), Fiber.ToString("0.00", CultureInfo.InvariantCulture), Salt.ToString("0.00", CultureInfo.InvariantCulture), Path)); }
/// <summary> /// Is called continuously whenever the ant sees at least one pile of sugar /// </summary> /// <param name="sugar">The nearest pile of sugar.</param> public override void Spots(Sugar sugar) { if (CurrentLoad == 0 && Caste == "Eater") { this.GoToTarget(sugar); } }
public IActionResult Coffee() { var vm = new CoffeeVm(); ICreamer creamer = new Cream(); ISweetener sugar = new Sugar(); vm.CoffeeCup = new CoffeeCup(creamer, sugar); return(View(vm)); }
public decimal GetPrice(CoffeeSize size, Cream cream, Sugar sugar) { // Arrange // Act var result = _coffee.GetPrice(size, cream, sugar); // Assert return(result); }
public void TryAddSugar(Sugar item) { lock (syncRoot) { if (!this.sugarRepo.Contains(item)) { this.sugarRepo.Add(item); } } }
public void ShuffledTests() { var random = new Random(); var sequence = Sugar.Til(10).ToList(); var permutation = sequence.ToArray(); random.Shuffle(permutation); permutation.Should().BeEquivalentTo(sequence); permutation.Should().NotEqual(sequence); }
public void SugarCostTest() { CoffeeMachine coffee_machine = new Coffee(); coffee_machine = new Sugar(coffee_machine); int expected = 52; int actual; actual = coffee_machine.GetCost(); Assert.AreEqual(expected, actual); }
public void SugarNameTest() { CoffeeMachine coffee_machine = new Coffee(); coffee_machine = new Sugar(coffee_machine); string expected = "Кофе, с сахаром"; string actual; actual = coffee_machine.Name; Assert.AreEqual(expected, actual); }
public void Run() { var coffee = new Coffee(); _output.WriteLine(coffee.ToString()); var sugar = new Sugar(coffee,2); _output.WriteLine(sugar.ToString()); var cream = new Cream(sugar,1); _output.WriteLine(cream.ToString()); }
/// <summary> /// Cleans the cache from old data. /// </summary> public override void Cleanup() { // Clean other caches Fruits.Cleanup(); Sugar.Cleanup(); Bugs.Cleanup(); Ants.Cleanup(); Signals.Cleanup(); }
public void Rejects_Null_Properties() { var properties = new [] { "Property30" }; var target = new SimpleClass { Property1 = "Property1", Property2 = 32 }; Assert.Throws <DirectDebitException>( () => Sugar.ComposeLine <SimpleClass>(SerializeMethod.FixedWidth, properties, target)); }
public void AddOneSugarToList() { //Arrange Inventory add = new Inventory(); Sugar sugar = new Sugar(); int sugarCount = 1; //Act add.AddSugar(sugar); //Assert Assert.AreEqual(sugarCount, add.supplies[1].Count); }
public static void Main(string[] args) { Coffee c = new SimpleCoffee(); Console.WriteLine("Cost: " + c.getCost() + ";"); c = new Milk(c); Console.WriteLine("Cost: " + c.getCost() + ";"); c = new Sugar(c); Console.WriteLine("Cost: " + c.getCost() + ";"); c = new SimpleCoffee(); c = new Milk(new Sugar(c)); //shows the actual decoration Console.WriteLine("Cost: " + c.getCost() + ";"); }
public void FindSugarBeforeInsulin_IfNoSugarsInAQuarterBefore_ReturnsNull() { var sugar1 = new Sugar { DateTime = DateTime.Now.AddMinutes(5) }; var sugar2 = new Sugar { DateTime = DateTime.Now.AddMinutes(-16) }; factories.Setup(f => f.Sugars).Returns(new List<Sugar> { sugar1, sugar2 }); var finder = new FinderImpl(factories.Object); var insulin = new Insulin { DateTime = DateTime.Now }; var sugar = finder.FindSugarBeforeInsulin(insulin); Assert.IsNull(sugar); }
public void FindSugarsAfterInsulin_DoesntReturnSugarsWhichIsAtSameTimeAsInsulin() { var sugar = new Sugar { DateTime = DateTime.Now }; factories.Setup(f => f.Sugars).Returns(new List<Sugar> { sugar }); factories.Setup(f => f.Insulins).Returns(new List<Insulin>()); var finder = new FinderImpl(factories.Object); var insulin = new Insulin { DateTime = sugar.DateTime }; var sugars = finder.FindSugarsAfterInsulin(insulin, 2); Assert.IsEmpty(sugars); }
public void FindSugarBeforeInsulin_ReturnsSugarWhichIsAtSameTimeAsInsulin() { var sugar = new Sugar { DateTime = DateTime.Now }; factories.Setup(f => f.Sugars).Returns(new List<Sugar> { sugar }); factories.Setup(f => f.Insulins).Returns(new List<Insulin>()); var finder = new FinderImpl(factories.Object); var insulin = new Insulin { DateTime = sugar.DateTime }; var foundSugar = finder.FindSugarBeforeInsulin(insulin); Assert.AreSame(sugar, foundSugar); }
public void FindSugarsAfterInsulin_IfAnotherInsulinFourHoursLater_DoesntReturnSugarsFourHoursLater() { var now = DateTime.Now; var sugar1 = new Sugar { DateTime = now.AddHours(4) }; factories.Setup(f => f.Sugars).Returns(new List<Sugar> { sugar1 }); var insulin1 = new Insulin { DateTime = now }; var insulin2 = new Insulin { DateTime = now.AddHours(4) }; factories.Setup(f => f.Insulins).Returns(new List<Insulin> { insulin1, insulin2 }); var finder = new FinderImpl(factories.Object); var sugars = finder.FindSugarsAfterInsulin(insulin1, 4); Assert.IsEmpty(sugars); }
public static void getcordss(Sugar sugarp, out double x, out double y) { double distance = Coordinate.GetDistanceBetween(sugarp, hill); double anglet = Coordinate.GetDegreesBetween(sugarp, hill); double anglec = anglet * (Math.PI / 180); double angleb = anglec; if (anglet > 90 && anglet < 180) { angleb = anglec - 90 * (Math.PI / 180); x = Math.Sin(angleb) * distance; y = Math.Cos(angleb) * distance; } else if (anglet > 0 && anglet < 90) { angleb = anglec; x = (-1) * Math.Cos(angleb) * distance; y = Math.Sin(angleb) * distance; } else if (anglet > 270 && anglet < 360) { angleb = anglec - 270 * (Math.PI / 180); x = (-1) * Math.Sin(angleb) * distance; y = (-1) * Math.Cos(angleb) * distance; } else if (anglet > 180 && anglet < 270) { angleb = anglec - 180 * (Math.PI / 180); x = Math.Cos(angleb) * distance; y = (-1) * Math.Sin(angleb) * distance; } else if (anglet == 90) { x = 0; y = distance; } else if (anglet == 270) { x = 0; y = (-1) * distance; } else if (anglet == 180) { x = distance; y = 0; } else if (anglet == 0 || anglet == 360) { x = (-1) * distance; y = 0; } else { x = 0; y = 0; } }
public override void Spots(Sugar sugar) { Spotted(this, new ItemEventArgs(Items.Sugar.Track(sugar))); }
public override void TargetReached(Sugar sugar) { Reached(this, new ItemEventArgs(Items.Sugar.Track(sugar))); }
public void FindSugarsAfterInsulin_IfNoSugarsInThreeHoursAfter_ReturnsEmpty() { var sugar1 = new Sugar { DateTime = DateTime.Now.AddHours(3.1) }; var sugar2 = new Sugar { DateTime = DateTime.Now.AddHours(-1) }; factories.Setup(f => f.Sugars).Returns(new List<Sugar> { sugar1, sugar2 }); factories.Setup(f => f.Insulins).Returns(new List<Insulin>()); var finder = new FinderImpl(factories.Object); var insulin = new Insulin { DateTime = DateTime.Now }; var sugars = finder.FindSugarsAfterInsulin(insulin, 3); Assert.AreEqual(0, sugars.Count); }
public void FindSugarsAfterInsulin_IfAnotherInsulinSoonerThanFourHoursLater_ReturnsOnlySugarsBeforeThisInsulin( int removeMinutes) { var sugar1 = new Sugar { DateTime = DateTime.Now.AddHours(1) }; var sugar2 = new Sugar { DateTime = DateTime.Now.AddHours(2) }; factories.Setup(f => f.Sugars).Returns(new List<Sugar> { sugar1, sugar2 }); var insulin1 = new Insulin { DateTime = DateTime.Now }; var insulin2 = new Insulin { DateTime = sugar2.DateTime.AddMinutes(-removeMinutes) }; factories.Setup(f => f.Insulins).Returns(new List<Insulin> { insulin1, insulin2 }); var finder = new FinderImpl(factories.Object); var sugars = finder.FindSugarsAfterInsulin(insulin1, 4); Assert.IsTrue(Enumerable.SequenceEqual(new List<Sugar> { sugar1 }, sugars)); }
public void FindSugarBeforeInsulin_IfTwoSugarsInAQuarter_ReturnsLatestSugar() { var sugar1 = new Sugar { DateTime = DateTime.Now.AddMinutes(-14) }; var sugar2 = new Sugar { DateTime = DateTime.Now.AddMinutes(-10) }; factories.Setup(f => f.Sugars).Returns(new List<Sugar> { sugar1, sugar2 }); var finder = new FinderImpl(factories.Object); var insulin = new Insulin { DateTime = DateTime.Now }; var sugar = finder.FindSugarBeforeInsulin(insulin); Assert.AreSame(sugar2, sugar); }
public void FindSugarsAfterInsulin_IfSugarsInFourHoursAfter_ReturnsThoseSugars() { var sugar1 = new Sugar { DateTime = DateTime.Now.AddHours(1) }; var sugar2 = new Sugar { DateTime = DateTime.Now.AddHours(3.5) }; var sugar3 = new Sugar { DateTime = DateTime.Now.AddHours(5) }; factories.Setup(f => f.Sugars).Returns(new List<Sugar> { sugar1, sugar2, sugar3 }); factories.Setup(f => f.Insulins).Returns(new List<Insulin>()); var finder = new FinderImpl(factories.Object); var insulin = new Insulin { DateTime = DateTime.Now }; var sugars = finder.FindSugarsAfterInsulin(insulin, 4); Assert.IsTrue(Enumerable.SequenceEqual(new List<Sugar> { sugar1, sugar2 }, sugars)); }
public void FindSugarsAfterInsulin_SortsReturnedSugarsChronologically() { var sugar1 = new Sugar { DateTime = DateTime.Now.AddHours(2) }; var sugar2 = new Sugar { DateTime = DateTime.Now.AddHours(1) }; factories.Setup(f => f.Sugars).Returns(new List<Sugar> { sugar1, sugar2 }); factories.Setup(f => f.Insulins).Returns(new List<Insulin>()); var finder = new FinderImpl(factories.Object); var insulin = new Insulin { DateTime = DateTime.Now }; var sugars = finder.FindSugarsAfterInsulin(insulin, 4); Assert.IsTrue(Enumerable.SequenceEqual(new List<Sugar> { sugar2, sugar1 }, sugars)); }
/// <summmery> /// This method is called as soon as an ant sees a mound of sugar in its 360° /// visual range. The parameter is the mound of sugar that the ant has spotted. /// Read more: "http://wiki.antme.net/en/API1:Spots(Sugar)" /// </summary> /// <param name="sugar">spotted sugar</param> public override void Spots(Sugar sugar) { double x, y; getcordss(sugar, out x, out y); for (int i = 0; i < 4; i++) { if (zucker[i] == sugar && ForeignAntsInViewrange > 5) { aimedsugar[i, 0] = 0; aimedsugar[i, 1] = 0; zucker[i] = null; } } for (int i = 0; i < 4; i++) { if (x > aimedsugar[i, 0] - 1 && x < aimedsugar[i, 0] + 1 && y > aimedsugar[i, 1] - 1 && y < aimedsugar[i, 1] + 1) break; else if (zucker[i] == null) { aimedsugar[i, 0] = x; aimedsugar[i, 1] = y; zucker[i] = sugar; unterwegs[i, 0] = sugar.Id; break; } } if (Range - WalkedRange - Coordinate.GetDistanceBetween(this, sugar) > Range * 2 / 3 && CarryingFruit == null && Caste == "sugar" && CurrentLoad < MaximumLoad / 5 && !IsTired) { if (Destination != sugar) Stop(); GoToDestination(sugar); for (int i = 0; i < 4; i++) { if (sugar.Id == unterwegs[i, 0]) { for (int u = 2; u < 100; u++) { if (unterwegs[i, u] == Ameisenliste.IndexOf(this)) return; else if (unterwegs[i, u] == 0) { Think("eingetragen"); unterwegs[i, u] = Ameisenliste.IndexOf(this); unterwegs[i, 1]++; return; } } } } } }
/// <summary> /// If the ant’s destination is a mound of sugar, this method is called as soon /// as the ant has reached its destination. It means that the ant is now near /// enough to its destination/target to interact with it. /// Read more: "http://wiki.antme.net/en/API1:DestinationReached(Sugar)" /// </summary> /// <param name="sugar">reached sugar</param> public override void DestinationReached(Sugar sugar) { if (Caste == "sugar") { Think("genommen"); Take(sugar); if (DistanceToAnthill > 10) { if (Direction != Coordinate.GetDegreesBetween(this, hill)) TurnToDetination(hill); GoForward(DistanceToAnthill - 5); } else GoToDestination(hill); //MakeMark(0, 300); for (int i = 0; i < 4; i++) { if (sugar.Id == unterwegs[i, 0]) for (int u = 2; u < 100; u++) { if (unterwegs[i, u] == Ameisenliste.IndexOf(this)) { unterwegs[i, u] = 0; unterwegs[i, 1]--; Think("Ausgetragen - Unterwegs: " + unterwegs[i, 1]); return; } } } } else if (Caste == "searcher" && FriendlyAntsFromSameCasteInViewrange <= 1) { //MakeMark(0, 700); } }
public OlpcDBusObject(Sugar.Activity activity) { _activity=activity; }
public OlpcDBusObject(Sugar.Window window) { _window=window; }