public void CheckGfc() { var expected = 6; var actual = FractionHelper.Gfc(36, 42); Assert.Equal(expected, actual); }
public void CheckLcm() { var expected = 252; var actual = FractionHelper.Lcm(36, 42); Assert.Equal(expected, actual); }
public void FractionConverterTest() { //var onefifth = FractionConverter.Convert(0.2m); //var oneThird = FractionConverter.Convert(0.333333m); var twoThird = FractionHelper.Convert(0.666666m); var oneEighth = FractionHelper.Convert(0.125m); }
/// <summary> /// Formats the value to be used on the axis. /// </summary> /// <param name="x">The value to format.</param> /// <returns>The formatted value.</returns> protected override string FormatValueOverride(double x) { if (this.FormatAsFractions) { return(FractionHelper.ConvertToFractionString(x, this.FractionUnit, this.FractionUnitSymbol, 1e-6, this.ActualCulture, this.StringFormat)); } return(base.FormatValueOverride(x)); }
public IActionResult OnPost() { var models = new List <Fraction>(); foreach (var fraction in Fractions) { if (FractionHelper.TryParseFraction(fraction, out Fraction res)) { models.Add(res); } else { throw new Exception("Invalid Fraction!"); } } Fraction output = models[0]; for (int i = 1; i < models.Count; i++) { switch (Option) { case "Add": output += models[i]; break; case "Subtract": output -= models[i]; break; case "Divide": output /= models[i]; break; case "Multiply": output *= models[i]; break; case "LCDGCD": var dens = models.Select(x => x.Denominator); Result = $"LCD: {FractionHelper.FindGreatestCommonFactor(dens.ToArray())} GCD: {FractionHelper.FindGreatestCommonFactor(dens.ToArray())}"; break; default: Result = "Something went wrong :("; break; } } if (Option != "LCDGCD") { Result = output.ToString(); } return(Page()); }
public void CanFractionBeSimplifiedIncorrectly_Of49Over98_ReturnsTrue() { // Arrange var numerator = 49; var denominator = 98; // Act var result = FractionHelper.CanFractionBeSimplifiedIncorrectly(numerator, denominator); // Assert result.Should().BeTrue(); }
public void GetListOfFractionsThatCanBeSimplifiedIncorrectly_WithAtMost2Digits_Returns4() { // Arrange var maxSizeOfFractionalParts = 99; var expectedNumberOfFractions = 4; // Act var result = FractionHelper.GetListOfFractionsThatCanBeSimplifiedIncorrectly(maxSizeOfFractionalParts); // Assert result.Should().HaveCount(expectedNumberOfFractions); }
public IFractal CompileFromXml(string xmlFractal) { if (string.IsNullOrEmpty(xmlFractal)) { throw new FractalCompilerException("fractal string cannot be null"); } XmlDocument fractalDoc = new XmlDocument(); fractalDoc.LoadXml(xmlFractal); XmlNode fractalNode = fractalDoc.SelectSingleNode("fractal"); if (fractalNode == null) { throw new FractalCompilerException("you must have a node <fractal name=\"nameOfFractal\">"); } string name = fractalNode.Attributes.GetNamedItem("name").Value; XmlNodeList transformationNodes = fractalNode.SelectNodes("transformation"); List <IFractalTransformation> transformations = new List <IFractalTransformation>(); foreach (XmlNode node in transformationNodes) { string transformationType = node.Attributes.GetNamedItem("type").Value; switch (transformationType) { case "SimilarityFractalTransformation": transformations.Add(new SimilarityFractalTransformation() { ScaleX = FractionHelper.FractionToDouble(node.Attributes.GetNamedItem("ScaleX").Value), ScaleY = FractionHelper.FractionToDouble(node.Attributes.GetNamedItem("ScaleY").Value), AnticlockWiseRotationAngle = FractionHelper.FractionToDouble(node.Attributes.GetNamedItem("AnticlockWiseRotationAngle").Value), TranslationX = FractionHelper.FractionToDouble(node.Attributes.GetNamedItem("TranslationX").Value), TranslationY = FractionHelper.FractionToDouble(node.Attributes.GetNamedItem("TranslationY").Value), Probability = FractionHelper.FractionToDouble(node.Attributes.GetNamedItem("Probability").Value) }); break; case "AffineFractalTransformation": transformations.Add(new AffineFractalTransformation() { Cell_11 = FractionHelper.FractionToDouble(node.Attributes.GetNamedItem("Cell_11").Value), Cell_12 = FractionHelper.FractionToDouble(node.Attributes.GetNamedItem("Cell_12").Value), Cell_21 = FractionHelper.FractionToDouble(node.Attributes.GetNamedItem("Cell_21").Value), Cell_22 = FractionHelper.FractionToDouble(node.Attributes.GetNamedItem("Cell_22").Value), TranslationX = FractionHelper.FractionToDouble(node.Attributes.GetNamedItem("TranslationX").Value), TranslationY = FractionHelper.FractionToDouble(node.Attributes.GetNamedItem("TranslationY").Value), Probability = FractionHelper.FractionToDouble(node.Attributes.GetNamedItem("Probability").Value) }); break; } } CompileTransformations(transformations); return(new CustomFractal(name, transformations)); }
public void ToLowestTerms_Of49Over98_Returns1Over2() { // Arrange var numerator = 49; var denominator = 98; var expectedResult = (1, 2); // Act var result = FractionHelper.ToLowestTerms(numerator, denominator); // Assert result.Should().Be(expectedResult); }
public void FractionLCMTest() { int[] ints = { 3, 4, 5, 6 }; var lcm = FractionHelper.LCM(ints); Assert.AreEqual(60, lcm); int[] ints2 = { 3, 4 }; var lcm2 = FractionHelper.LCM(ints2); Assert.AreEqual(12, lcm2); int[] ints3 = { 5, 7 }; var lcm3 = FractionHelper.LCM(ints3); Assert.AreEqual(35, lcm3); }
public void ConvertToFractionString_WithUnit() { Assert.AreEqual("2pi", FractionHelper.ConvertToFractionString(Math.PI * 2, Math.PI, "pi")); }
public void ConvertToFractionString() { Assert.AreEqual("3/4", FractionHelper.ConvertToFractionString(0.75)); }