コード例 #1
0
        public void convertToWordsTestForZero()
        {
            IConvertNumToWords c1     = ConvertNumToWords.ConvertNumToWords.GetInstance();
            string             actual = c1.convertToWords(0);

            Assert.AreEqual("Zero", actual);
        }
コード例 #2
0
        public void convertToWordsTestForDoubleDigits()
        {
            IConvertNumToWords c1     = ConvertNumToWords.ConvertNumToWords.GetInstance();
            string             actual = c1.convertToWords(11);

            Assert.AreEqual("eleven", actual);
        }
コード例 #3
0
        public void TestForMultipleInstances()
        {
            IConvertNumToWords c1 = ConvertNumToWords.ConvertNumToWords.GetInstance();
            IConvertNumToWords c2 = ConvertNumToWords.ConvertNumToWords.GetInstance();

            Assert.IsTrue(c1 == c2);
        }
コード例 #4
0
        public void convertToWordsTestForNineDigits()
        {
            IConvertNumToWords c1       = ConvertNumToWords.ConvertNumToWords.GetInstance();
            string             actual   = c1.convertToWords(111111111);
            string             expected = "eleven crore eleven lakh eleven thousand one hundred and eleven";

            Assert.AreEqual(expected, actual);
        }
コード例 #5
0
        public void convertToWordsTestForNegativeInput()
        {
            IConvertNumToWords c1       = ConvertNumToWords.ConvertNumToWords.GetInstance();
            string             actual   = c1.convertToWords(-9);
            string             expected = string.Empty;

            Assert.AreEqual(expected, actual);
        }
コード例 #6
0
        public void convertToWordsTestForMaxLimit()
        {
            IConvertNumToWords c1       = ConvertNumToWords.ConvertNumToWords.GetInstance();
            string             actual   = c1.convertToWords(999999999);
            string             expected = "ninety nine crore ninety nine lakh ninety nine thousand nine hundred and ninety nine";

            Assert.AreEqual(expected, actual);
        }
コード例 #7
0
 // checks if instance is available or not - follows singleton design pattern
 public static IConvertNumToWords GetInstance()
 {
     //The block inside the lock ensures that only one thread enters this block at any given time.
     lock (padlock){
         if (_instance == null)
         {
             _instance = new ConvertNumToWords();
             return(_instance);
         }
         return(_instance);
     }
 }
コード例 #8
0
        static void Main()
        {
            // long handles upto 9 digit no
            // change to unsigned long long int to
            // handle more digit number
            Console.WriteLine("Please Enter a positive number");

            long num = long.Parse(Console.ReadLine());

            //singleton pattern
            IConvertNumToWords c1 = ConvertNumToWords.GetInstance();

            //Console.WriteLine(c1.convertToWords(n1));
            Console.WriteLine(c1.convertToWords(num));

            //Implemenet using extension methods for long type
            // Console.WriteLine(n1.convertToWords());
            // convert given number in words
            Console.WriteLine("Press any key to exist.");
            Console.ReadLine();
        }