Exemple #1
0
        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);
        }
Exemple #3
0
        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));
        }
Exemple #5
0
 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);
     }
 }
Exemple #6
0
        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);
        }