public void UnitNumberLetter(string data, string expectedResult) { var unit = new UnitNumber(data); string unitLetter = unit.Letter; Assert.Equal(expectedResult, unitLetter); }
public void UnitNumberLetterNull(string data) { var unit = new UnitNumber(data); string unitLetter = unit.Letter; Assert.Equal(String.Empty, unitLetter); }
public void UnitNumberInt(string data, int expectedResult) { var unit = new UnitNumber(data); int roomNumber = unit.RoomNumber; Assert.Equal(expectedResult, roomNumber); }
public static UnitNumber Pow(UnitNumber number, double pow) { if (number.Unit.HasOffset) { throw new Exception("This numbers unit has offset and can not be raised to a power."); } return(new UnitNumber(System.Math.Pow(number.Number, pow), number.Unit.Pow(pow))); }
public void MultiplicationTest() { //40.33 var unF = new UnitNumber(10, (F * F) / F); Assert.AreEqual(unF.Number, 10, 1e-3); Assert.AreEqual(unF.GetValue(C * C / C), 5.555555555555555555, 1e-8); var un2 = NumCm * NumM; Assert.AreEqual(un2.GetValue(cm * cm), 100, 1e-3); Assert.IsTrue(un2.Unit == cm * m); }
private ExecutionResult ExecuteUnitChange(ExecutionResult executionResult1, Unit unit) { if (executionResult1.DataType == DataType.Number) { var un = new UnitNumber((double)executionResult1.Value, unit); return(new ExecutionResult(un)); } else if (executionResult1.DataType == DataType.UnitNumber) { var un = (UnitNumber)executionResult1.Value; un.SetUnit(unit); return(new ExecutionResult(un)); } throw new Exception("Bad type"); }
public IActionResult AddUnit(UnitNumber unitNumber) { if (ModelState.IsValid) { if (unitNumber.UnitNumberId == 0) { var claimIdentity = (ClaimsIdentity)User.Identity; var claims = claimIdentity.FindFirst(ClaimTypes.NameIdentifier); unitNumber.ApplicationUserId = claims.Value; _db.UnitNumbers.Add(unitNumber); unitNumber.IsTaken = false; } else { _db.UnitNumbers.Update(unitNumber); } _db.SaveChanges(); } return(RedirectToAction(nameof(Index))); }
public static UnitNumber Ceiling(UnitNumber number) { return(new UnitNumber(System.Math.Ceiling(number.Number), number.Unit)); }
public static UnitNumber Abs(UnitNumber number) { return(new UnitNumber(System.Math.Abs(number.Number), number.Unit)); }
public void CalculateTest() { UnitsCore uc = new UnitsCore(); var inch = new Unit("in", Dimensions.Length, 0.0254); var foot = new Unit("ft", 12 * inch); var sec = new Unit("s", Dimensions.Time, 1.0); var min = new Unit("min", Dimensions.Time, 60); var cfm = new Unit("CFM", foot.Pow(3) / min); uc.RegisterUnit(cfm); uc.RegisterUnit(inch); uc.RegisterUnit(foot); uc.RegisterUnit(sec); var oneFoot = new UnitNumber(1, foot); var ce = new CalculationEngine(uc); var vars = new Dictionary <string, ExecutionResult>(); vars.Add("A", new ExecutionResult(1)); vars.Add("B", new ExecutionResult(oneFoot)); ExecutionResult result; //A number result = ce.Calculate("1.515"); Assert.AreEqual(result.DataType, DataType.Number); Assert.AreEqual((double)result.Value, 1.515, 1e-8); //A number with unit result = ce.Calculate("1.0[ft]"); Assert.AreEqual(result.DataType, DataType.UnitNumber); Assert.IsTrue((UnitNumber)result.Value == oneFoot); result = ce.Calculate("-1.0[ft]"); Assert.AreEqual(result.DataType, DataType.UnitNumber); Assert.IsTrue((UnitNumber)result.Value == -oneFoot); //Unitless calculations result = ce.Calculate("1+0.515"); Assert.AreEqual(result.DataType, DataType.Number); Assert.AreEqual((double)result.Value, 1.515, 1e-8); //Calculations with unit result = ce.Calculate("0.5[ft]+6[in]"); Assert.AreEqual(result.DataType, DataType.UnitNumber); Assert.IsTrue((UnitNumber)result.Value == oneFoot); //Constant result = ce.Calculate("pi"); Assert.AreEqual(result.DataType, DataType.Number); Assert.AreEqual((double)result.Value, Math.PI, 1e-8); result = ce.Calculate("-pi"); Assert.AreEqual(result.DataType, DataType.Number); Assert.AreEqual((double)result.Value, -Math.PI, 1e-8); result = ce.Calculate("1-pi"); Assert.AreEqual(result.DataType, DataType.Number); Assert.AreEqual((double)result.Value, 1 - Math.PI, 1e-8); //Variable result = ce.Calculate("B", vars); Assert.AreEqual(result.DataType, DataType.UnitNumber); Assert.IsTrue((UnitNumber)result.Value == oneFoot); result = ce.Calculate("-B", vars); Assert.AreEqual(result.DataType, DataType.UnitNumber); Assert.IsTrue((UnitNumber)result.Value == -oneFoot); result = ce.Calculate("1[ft]-B", vars); Assert.AreEqual(result.DataType, DataType.UnitNumber); Assert.IsTrue((UnitNumber)result.Value == oneFoot - oneFoot); //Function with number result = ce.Calculate("sin(3.1415926535897932384626433832795)", vars); Assert.AreEqual(result.DataType, DataType.Number); Assert.AreEqual((double)result.Value, Math.Sin(Math.PI), 1e-8); result = ce.Calculate("sin(3.1415926535897932384626433832795/3)", vars); Assert.AreEqual(result.DataType, DataType.Number); Assert.AreEqual((double)result.Value, Math.Sin(Math.PI / 3), 1e-8); //Function with constant result = ce.Calculate("sin(pi)", vars); Assert.AreEqual(result.DataType, DataType.Number); Assert.AreEqual((double)result.Value, Math.Sin(Math.PI), 1e-8); result = ce.Calculate("sin(pi/3)", vars); Assert.AreEqual(result.DataType, DataType.Number); Assert.AreEqual((double)result.Value, Math.Sin(Math.PI / 3), 1e-8); //Function with variable result = ce.Calculate("sin(A)", vars); Assert.AreEqual(result.DataType, DataType.Number); Assert.AreEqual((double)result.Value, Math.Sin(1.0), 1e-8); }
public static double Tanh(UnitNumber number) { return(System.Math.Tanh(number.Number)); }
public void UnitNumberStringConstructor() { var data = "#50 - Smith"; var unit = new UnitNumber(data); }
public static double Sin(UnitNumber number) { return(System.Math.Sin(number.Number)); }
public static double Cos(UnitNumber number) { return(System.Math.Cos(number.Number)); }
public static UnitNumber Truncate(UnitNumber number) { return(new UnitNumber(System.Math.Truncate(number.Number), number.Unit)); }
public static UnitNumber Round(UnitNumber number) { return(new UnitNumber(System.Math.Round(number.Number), number.Unit)); }
int IComparable <Unit> .CompareTo(Unit otherUnit) { return(UnitNumber.CompareTo(otherUnit.UnitNumber)); }
public IActionResult AddUnit() { var unit = new UnitNumber(); return(View(unit)); }
public static double Atan2(UnitNumber number1, UnitNumber number2) { return(System.Math.Atan2(number1.GetValueSi(), number2.GetValueSi())); }
public ExecutionResult(UnitNumber value) { Value = value; DataType = DataType.UnitNumber; }
public void RegisterConstant(string constantName, UnitNumber value, bool isOverWritable) { RegisterConstant(constantName, new ExecutionResult(value), isOverWritable); }
public static UnitNumber Floor(UnitNumber number) { return(new UnitNumber(System.Math.Floor(number.Number), number.Unit)); }
public void Draw() { var width = GameContent.UnitSprite[UnitType].Width; var height = GameContent.UnitSprite[UnitType].Height; var cube = HexGridMath.OffsetToCube(Col, Row); // center point var lnX = 60 * cube.X + GameContent.XOffset; var lnY = 35 * cube.X + cube.Z * 70 + GameContent.YOffset; Color nationalityColor; if (Nationality == NATIONALITY.USA) { if (Sleep) { nationalityColor = new Color(129, 245, 129); } else { nationalityColor = new Color(208, 254, 208); } } else { nationalityColor = new Color(221, 221, 221); } GameContent.Sb.Begin(SpriteSortMode.BackToFront, BlendState.AlphaBlend); GameContent.Sb.Draw(GameContent.UnitSprite[UnitType], new Vector2(lnX - (int)(width / 2.0), lnY - (int)(height / 2.0)), nationalityColor); GameContent.Sb.End(); if (IdleFlash) { GameContent.Sb.Begin(SpriteSortMode.BackToFront, BlendState.AlphaBlend); GameContent.Sb.Draw(GameContent.UnitSprite[UnitType], new Vector2(lnX - (int)(width / 2.0), lnY - (int)(height / 2.0)), new Color(50, 200, 50)); GameContent.Sb.End(); } /* * if (RedHilight) * { * GameContent.Sb.Begin(SpriteSortMode.BackToFront, BlendState.AlphaBlend); * GameContent.Sb.Draw(GameContent.UnitSprite[UnitType], new Vector2(lnX - (int)(width / 2.0), lnY - (int)(height / 2.0)), new Color(200, 100, 100)); * GameContent.Sb.End(); * } * * if (GreenHilight) * { * GameContent.Sb.Begin(SpriteSortMode.BackToFront, BlendState.AlphaBlend); * GameContent.Sb.Draw(GameContent.UnitSprite[UnitType], new Vector2(lnX - (int)(width / 2.0), lnY - (int)(height / 2.0)), new Color(100, 200, 100)); * GameContent.Sb.End(); * } */ if (Flash != null) { if (Flash.UnitHighlighted) { GameContent.Sb.Begin(SpriteSortMode.BackToFront, BlendState.AlphaBlend); GameContent.Sb.Draw(GameContent.UnitSprite[UnitType], new Vector2(lnX - (int)(width / 2.0), lnY - (int)(height / 2.0)), Flash.HighlightColor); GameContent.Sb.End(); } } GameContent.Sb.Begin(SpriteSortMode.BackToFront, BlendState.AlphaBlend); // offense (upper left) GameContent.Sb.DrawString(GameContent.Arial10Font, Offense.ToString(), new Vector2(lnX - 20, lnY - 23), Color.Black, 0, new Vector2(0, 0), 1.0f, SpriteEffects.None, 0.5f); // defense (lower left) GameContent.Sb.DrawString(GameContent.Arial10Font, Defense.ToString(), new Vector2(lnX - 20, lnY + 8), Color.Black, 0, new Vector2(0, 0), 1.0f, SpriteEffects.None, 0.5f); // range (upper right) GameContent.Sb.DrawString(GameContent.Arial10Font, Range.ToString(), new Vector2(lnX + 22 - (int)(GameContent.Arial10Font.MeasureString(Range.ToString()).X), lnY - 23), Color.Black, 0, new Vector2(0, 0), 1.0f, SpriteEffects.None, 0.5f); // movement (lower right) GameContent.Sb.DrawString(GameContent.Arial10Font, Movement.ToString(), new Vector2(lnX + 22 - (int)(GameContent.Arial10Font.MeasureString(Movement.ToString()).X), lnY + 8), Color.Black, 0, new Vector2(0, 0), 1.0f, SpriteEffects.None, 0.5f); // unit number (temporary - upper center) GameContent.Sb.DrawString(GameContent.Arial6Font, UnitNumber.ToString(), new Vector2(lnX - (int)(GameContent.Arial6Font.MeasureString(UnitNumber.ToString()).X / 2.0), lnY - 22), Color.Red, 0, new Vector2(0, 0), 1.0f, SpriteEffects.None, 0.5f); GameContent.Sb.End(); }