public void DecimalToOtherNumeralSystemTest(int acceptedNumber, int acceptedBase, string expectedNumber) { var convertedNumber = new NumeralSystemConverter(acceptedNumber, acceptedBase); var actual = convertedNumber.DecimalToOtherNumeralSystem(); Assert.AreEqual(expectedNumber, actual); }
protected override void OnStartup(StartupEventArgs e) { INumeralSystemConverter numeralSystemConverter = new NumeralSystemConverter(128); NumeralSystemConverterModel = new NumeralSystemConverterModel(numeralSystemConverter); NumeralSystemConverterModel.Initialize(); SwitchTheme(AppTheme.Light); base.OnStartup(e); }
public IEnumerable <ITextUnit> GetTextUnits(ComponentPart componentPart, Template template, Citation citation, out bool handled) { handled = false; if (componentPart == null) { return(null); } if (citation == null || citation.Reference == null) { return(null); } var dateString = citation.Reference.Date; if (string.IsNullOrWhiteSpace(dateString)) { return(null); } var dateFieldElement = componentPart.GetFieldElements().FirstOrDefault <FieldElement>(item => item.PropertyId == ReferencePropertyId.Date); if (dateFieldElement == null) { return(null); } var output = new TextUnitCollection(); DateTime dateValue; if (!DateTime.TryParse(dateString, out dateValue)) { return(null); } var day = dateValue.Day; //int var month = dateValue.Month; //ditto var year = dateValue.Year; //ditto var monthStringRoman = NumeralSystemConverter.ToRomanNumber(arabicNumber: month.ToString(), lowerCase: false); var dayString = day.ToString("D2"); //2-digit day, padded with leading 0 if necessary, so 08 instead of 8 var yearString = dateValue.ToString("yyyy"); //4-digit year var newDatePattern = "{0}. {1} {2}"; dateString = string.Format(newDatePattern, dayString, monthStringRoman, yearString); var dateStringTextUnit = new LiteralTextUnit(dateString); output.Add(dateStringTextUnit); handled = true; return(output); }
public void NumeralSystemAndGeneratorIntegrationTest_ThrowsArgumentException_Test() { //Assign var inputInBase13 = "0"; var numeralSystemConverter = new NumeralSystemConverter(); var primeNumberGenerator = new PrimeNumberGeneratorNaive(); //Act var inputInDecimal = numeralSystemConverter.ArbitraryToDecimalSystem(inputInBase13, 13); //Assert Assert.Throws <ArgumentException>(() => primeNumberGenerator.ExecuteWithYield(inputInDecimal)); }
public void CreatingRepresentationOfNumberInNewSystemTest_ArgumentOutOfRangeException(int acceptedNumber, int ecceptedBase) { try { var convertedNumber = new NumeralSystemConverter(acceptedNumber, ecceptedBase); convertedNumber.DecimalToOtherNumeralSystem(); } catch (ArgumentOutOfRangeException e) { Assert.IsTrue(e.ToString() != string.Empty); } }
public void NumeralSystemConverter_Base13ToDecimal_Test() { //Assign var numeralSystemConverter = new NumeralSystemConverter(); Dictionary <int, string> decimalBase13Set = new Dictionary <int, string>() { { 0, "0" }, { 1, "1" }, { 9, "9" }, { 10, "A" }, { 11, "B" }, { 12, "C" }, { 13, "10" }, { 14, "11" }, { 15, "12" }, { 16, "13" } }; foreach (var decimalBase13Pair in decimalBase13Set) { //Act var result = numeralSystemConverter.ArbitraryToDecimalSystem(decimalBase13Pair.Value, 13); //Asert Assert.Equal(decimalBase13Pair.Key, result); } }
public void NumeralSystemAndGeneratorIntegrationTest_NotEqual_Test() { //Assign var primeNumberInBase13HardCoded = new List <string>() { "2", "3", "5", "7", "A", "10" }; var numeralSystemConverter = new NumeralSystemConverter(); var primeNumberGenerator = new PrimeNumberGeneratorNaive(); //Act var primeNumberGeneratedInBase13 = new List <string>(); foreach (long primeNumber in primeNumberGenerator.ExecuteWithYield(primeNumberInBase13HardCoded.Count)) { primeNumberGeneratedInBase13.Add(numeralSystemConverter.DecimalToArbitrarySystem(primeNumber, 13)); } var result = (primeNumberGeneratedInBase13.Count == primeNumberInBase13HardCoded.Count && (!primeNumberGeneratedInBase13.Except(primeNumberInBase13HardCoded).Any() || !primeNumberInBase13HardCoded.Except(primeNumberGeneratedInBase13).Any())); //Assert Assert.False(result); }