Example #1
0
        public void ConvertString2Number_FourDigit_ReturnString()
        {
            var input        = "4037";
            var expectOutput = "Four Thousand and thirty seven";
            var ActualOutput = NumberToStringConverter.ConvertString2Number(input);

            Assert.AreEqual(expectOutput.Trim().ToLower().ToString(), ActualOutput.Trim().ToLower().ToString());
            //return true;
        }
Example #2
0
        public void ConvertString2Number_TwoDigit_ReturnString()
        {
            var input        = "21";
            var expectOutput = "Twenty One";
            var ActualOutput = NumberToStringConverter.ConvertString2Number(input);

            Assert.AreEqual(expectOutput.Trim().ToLower().ToString(), ActualOutput.Trim().ToLower().ToString());
            //return true;
        }
Example #3
0
        public void ConvertString2Number_ThreeDigit_ReturnString()
        {
            var input        = "435";
            var expectOutput = "Four Hundred and thirty five";
            var ActualOutput = NumberToStringConverter.ConvertString2Number(input);

            Assert.AreEqual(expectOutput.Trim().ToLower().ToString(), ActualOutput.Trim().ToLower().ToString());
            //return true;
        }
Example #4
0
        public void ConvertString2Number_OutBoxDigit_ReturnString()
        {
            var input        = "452645800565644";
            var expectOutput = "out of the Box";
            var ActualOutput = NumberToStringConverter.ConvertString2Number(input);

            Assert.AreEqual(expectOutput.Trim().ToLower().ToString(), ActualOutput.Trim().ToLower().ToString());
            //return true;
        }
Example #5
0
        public void ConvertString2Number_NonNumberDigit_ReturnString()
        {
            var input        = "v5gd4fg";
            var expectOutput = "Invalid number";
            var ActualOutput = NumberToStringConverter.ConvertString2Number(input);

            Assert.AreEqual(expectOutput.Trim().ToLower().ToString(), ActualOutput.Trim().ToLower().ToString());
            //return true;
        }
Example #6
0
        public void ConvertString2Number_NineDigit_ReturnString()
        {
            var input        = "452645800";
            var expectOutput = "fourty five crores twenty six lakhs fourty five thousand eight hundred";
            var ActualOutput = NumberToStringConverter.ConvertString2Number(input);

            Assert.AreEqual(expectOutput.Trim().ToLower().ToString(), ActualOutput.Trim().ToLower().ToString());
            //return true;
        }
Example #7
0
        public void ConvertString2Number_FiveDigit_ReturnString()
        {
            var input        = "45759";
            var expectOutput = "fourty five thousand seven hundred and fifty nine";
            var ActualOutput = NumberToStringConverter.ConvertString2Number(input);

            Assert.AreEqual(expectOutput.Trim().ToLower().ToString(), ActualOutput.Trim().ToLower().ToString());
            //return true;
        }
Example #8
0
        public void ConvertString2Number_SixDigit_ReturnString()
        {
            var input        = "245869";
            var expectOutput = "two lakhs fourty five thousand eight hundred and sixty nine";
            var ActualOutput = NumberToStringConverter.ConvertString2Number(input);

            Assert.AreEqual(expectOutput.Trim().ToLower().ToString(), ActualOutput.Trim().ToLower().ToString());
            //return true;
        }
Example #9
0
        public void ConvertString2Number_OneDigit_ReturnString()
        {
            var input        = "8";
            var expectOutput = "Eight";
            var ActualOutput = NumberToStringConverter.ConvertString2Number(input);

            Assert.AreEqual(expectOutput.Trim().ToLower().ToString(), ActualOutput.Trim().ToLower().ToString());
            //return true;
            //tested
        }
Example #10
0
 public void ShouldSpellOutTensPost20()
 {
     Assert.AreEqual(NumberToStringConverter.Convert("22"), "Twenty Two");
     Assert.AreEqual(NumberToStringConverter.Convert("31"), "Thirty One");
     Assert.AreEqual(NumberToStringConverter.Convert("45"), "Forty Five");
     Assert.AreEqual(NumberToStringConverter.Convert("56"), "Fifty Six");
     Assert.AreEqual(NumberToStringConverter.Convert("64"), "Sixty Four");
     Assert.AreEqual(NumberToStringConverter.Convert("73"), "Seventy Three");
     Assert.AreEqual(NumberToStringConverter.Convert("89"), "Eighty Nine");
     Assert.AreEqual(NumberToStringConverter.Convert("90"), "Ninety");
 }
Example #11
0
        static void Main(string[] args)
        {
            Console.WriteLine("Welcome to Spell The Number Assessment");
            Console.WriteLine("----------------------------------------");
            Console.WriteLine("Enter the Number to Spell or Type 'exit' to Close: ");
            var Numnput = Console.ReadLine();

            //GetSpellTheNumber(Numnput);
            while (Numnput != "exit")
            {
                var speller = NumberToStringConverter.ConvertString2Number(Numnput);
                Console.WriteLine("The Number is: " + speller);
                Numnput = Console.ReadLine();
            }
        }
        public void WriteJson_NumberElement_Ok(
            NumberToStringConverter sut,
            int numberValue
            )
        {
            //Arrange
            var serializeOptions = new JsonSerializerOptions
            {
                Converters = { sut }
            };

            //Act
            var result = JsonSerializer.Serialize(
                numberValue,
                typeof(int),
                serializeOptions
                );

            //Assert
            result.Should().Be(numberValue.ToString());
        }
        public void ReadJson_Object_ThrowsJsonException(
            NumberToStringConverter sut
            )
        {
            //Arrange
            string json = "{ number : 5 }";

            var serializeOptions = new JsonSerializerOptions
            {
                Converters = { sut }
            };

            //Act
            Action act = () => JsonSerializer.Deserialize(
                json,
                typeof(string),
                serializeOptions
                );

            //Assert
            act.Should().Throw <JsonException>();
        }
Example #14
0
 public void ShouldSpellOutRawNumberBasedForHighestValuesTill20()
 {
     Assert.AreEqual(NumberToStringConverter.Convert("1"), "One");
     Assert.AreEqual(NumberToStringConverter.Convert("2"), "Two");
     Assert.AreEqual(NumberToStringConverter.Convert("3"), "Three");
     Assert.AreEqual(NumberToStringConverter.Convert("4"), "Four");
     Assert.AreEqual(NumberToStringConverter.Convert("5"), "Five");
     Assert.AreEqual(NumberToStringConverter.Convert("6"), "Six");
     Assert.AreEqual(NumberToStringConverter.Convert("7"), "Seven");
     Assert.AreEqual(NumberToStringConverter.Convert("8"), "Eight");
     Assert.AreEqual(NumberToStringConverter.Convert("9"), "Nine");
     Assert.AreEqual(NumberToStringConverter.Convert("10"), "Ten");
     Assert.AreEqual(NumberToStringConverter.Convert("11"), "Eleven");
     Assert.AreEqual(NumberToStringConverter.Convert("12"), "Twelve");
     Assert.AreEqual(NumberToStringConverter.Convert("13"), "Thirteen");
     Assert.AreEqual(NumberToStringConverter.Convert("14"), "Fourteen");
     Assert.AreEqual(NumberToStringConverter.Convert("15"), "Fifteen");
     Assert.AreEqual(NumberToStringConverter.Convert("16"), "Sixteen");
     Assert.AreEqual(NumberToStringConverter.Convert("17"), "Seventeen");
     Assert.AreEqual(NumberToStringConverter.Convert("18"), "Eighteen");
     Assert.AreEqual(NumberToStringConverter.Convert("19"), "Nineteen");
 }
        public void ReadJson_NumberElementInQuotes_ReturnsString(
            NumberToStringConverter sut,
            int value
            )
        {
            //Arrange
            string json = $"\"{value}\"";

            var serializeOptions = new JsonSerializerOptions
            {
                Converters = { sut }
            };

            //Act
            var result = JsonSerializer.Deserialize(
                json,
                typeof(string),
                serializeOptions
                );

            //Assert
            result.Should().Be(value.ToString());
        }
Example #16
0
 public void ShouldSpellOutLakhs()
 {
     Assert.AreEqual(NumberToStringConverter.Convert("100000"), "One Lakh");
     Assert.AreEqual(NumberToStringConverter.Convert("999999"), "Nine Lakhs Ninety Nine Thousand Nine Hundred and Ninety Nine");
 }
Example #17
0
 public void ShouldSpellOutTenThousands()
 {
     Assert.AreEqual(NumberToStringConverter.Convert("99999"), "Ninety Nine Thousand Nine Hundred and Ninety Nine");
 }
Example #18
0
        public void ShouldGetHighestPlaceValueForPassedInString()
        {
            var placeValue = NumberToStringConverter.GetHighestPlaceValue("200");

            Assert.AreEqual(PlaceValue.Hundreds, placeValue);
        }
Example #19
0
 public void ShouldSpellOutHundreds()
 {
     Assert.AreEqual(NumberToStringConverter.Convert("100"), "One Hundred");
     Assert.AreEqual(NumberToStringConverter.Convert("225"), "Two Hundred and Twenty Five");
 }
Example #20
0
        public void ShouldGetLakhsOnGivingNineLakhs()
        {
            var placeValue = NumberToStringConverter.GetHighestPlaceValue("9999999");

            Assert.AreEqual(PlaceValue.TenLakhs, placeValue);
        }
Example #21
0
        public void ShouldGetGreaterThanCroresOnPassing10Crores()
        {
            var placeValue = NumberToStringConverter.GetHighestPlaceValue("100000000");

            Assert.AreEqual(PlaceValue.MoreThanCrores, placeValue);
        }
Example #22
0
        public void ShouldGetHigestPlaceValueForPassedInStringForDigits()
        {
            var placeValue = NumberToStringConverter.GetHighestPlaceValue("9");

            Assert.AreEqual(PlaceValue.Digits, placeValue);
        }
        protected override void OnModelCreating(ModelBuilder modelBuilder)
        {
            var converter = new NumberToStringConverter <int>();

            //Assign articles partition
            modelBuilder.Entity <Articles>()
            .Property(e => e.LanguageId)
            .HasConversion(converter);
            modelBuilder.Entity <Articles>()
            .HasPartitionKey(o => o.LanguageId);

            //Assign countrygroups partition
            modelBuilder.Entity <CountryGroups>()
            .Property(e => e.LanguageId)
            .HasConversion(converter);
            modelBuilder.Entity <CountryGroups>()
            .HasPartitionKey(o => o.LanguageId);

            //Assign country partition
            modelBuilder.Entity <Countries>()
            .Property(e => e.LanguageId)
            .HasConversion(converter);
            modelBuilder.Entity <Countries>()
            .HasPartitionKey(o => o.LanguageId);

            //Assign address partition
            modelBuilder.Entity <Address>()
            .HasPartitionKey(o => o.Country);

            //Assign languages partition
            modelBuilder.Entity <Languages>()
            .HasPartitionKey(o => o.Name);

            //Assign contacts partition
            modelBuilder.Entity <Contacts>()
            .Property(e => e.CountryId)
            .HasConversion(converter);
            modelBuilder.Entity <Contacts>()
            .HasPartitionKey(o => o.CountryId);

            //Assign disclaimers partition
            modelBuilder.Entity <Disclaimers>()
            .Property(e => e.LanguageId)
            .HasConversion(converter);
            modelBuilder.Entity <Disclaimers>()
            .HasPartitionKey(o => o.LanguageId);

            //Assign provinces partition
            modelBuilder.Entity <Provinces>()
            .Property(e => e.CountryId)
            .HasConversion(converter);
            modelBuilder.Entity <Provinces>()
            .HasPartitionKey(o => o.CountryId);

            //Assign resourcegroups partition
            modelBuilder.Entity <ResourceGroups>()
            .Property(e => e.LanguageId)
            .HasConversion(converter);
            modelBuilder.Entity <ResourceGroups>()
            .HasPartitionKey(o => o.LanguageId);

            //Assign systemusers partition
            modelBuilder.Entity <SystemUsers>()
            .Property(e => e.CountryId)
            .HasConversion(converter);
            modelBuilder.Entity <SystemUsers>()
            .HasPartitionKey(o => o.CountryId);

            //Assign websiteusers partition
            modelBuilder.Entity <WebsiteUsers>()
            .HasPartitionKey(o => o.IndustryName);

            //Assign taxtags partition
            modelBuilder.Entity <TaxTags>()
            .Property(e => e.LanguageId)
            .HasConversion(converter);
            modelBuilder.Entity <TaxTags>()
            .HasPartitionKey(o => o.LanguageId);

            //Assign images partition
            modelBuilder.Entity <Images>()
            .Property(e => e.CountryId)
            .HasConversion(converter);
            modelBuilder.Entity <Images>()
            .HasPartitionKey(o => o.CountryId);

            //Assign useractivities partition
            modelBuilder.Entity <UserActivities>()
            .Property(e => e.WebsiteUserId)
            .HasConversion(converter);
            modelBuilder.Entity <UserActivities>()
            .HasPartitionKey(o => o.WebsiteUserId);

            modelBuilder.Entity <CountryGroups>().OwnsMany(p => p.AssociatedCountryIds, a =>
            {
                a.WithOwner().HasForeignKey("CountryGroupsid");
                a.Property <int>("id");
                a.Property(o => o.IdVal);
            });

            // For TaxTags
            modelBuilder.Entity <TaxTags>().OwnsMany(p => p.RelatedCountryIds, a =>
            {
                a.WithOwner().HasForeignKey("TaxTagid");
                a.Property <int>("id");
                a.Property(o => o.IdVal);
            });

            // For Articles
            ////modelBuilder.Entity<Articles>().OwnsMany(p => p.RelatedCountries, a =>
            ////{
            ////    a.WithOwner().HasForeignKey("Articlesid");
            ////    a.Property<int>("id");
            ////    a.Property(o => o.IdVal);
            ////}).OwnsMany(p => p.RelatedContacts, a =>
            ////{
            ////    a.WithOwner().HasForeignKey("Articlesid");
            ////    a.Property<int>("id");
            ////    a.Property(o => o.IdVal);
            ////}).OwnsMany(p => p.RelatedCountryGroups, a =>
            ////{
            ////    a.WithOwner().HasForeignKey("Articlesid");
            ////    a.Property<int>("id");
            ////    a.Property(o => o.IdVal);
            ////}).OwnsMany(p => p.RelatedTaxTags, a =>
            ////{
            ////    a.WithOwner().HasForeignKey("Articlesid");
            ////    a.Property<int>("id");
            ////    a.Property(o => o.TaxTagId);
            ////    a.Property(o => o.DisplayName);
            //////}).OwnsMany(p => p.RelatedArticles, a =>
            //////{
            //////    a.WithOwner().HasForeignKey("Articlesid");
            //////    a.Property<int>("id");
            //////    a.Property(o => o.ArticleId);
            //////    a.Property(o => o.Title);
            //////    a.Property(o => o.PublishedDate);
            //////    a.OwnsMany(p => p.RelatedCountries, a =>
            //////    {
            //////        a.WithOwner().HasForeignKey("RelatedArticlesSchemaArticlesidid");
            //////        a.Property<int>("id");
            //////        a.Property(o => o.IdVal);
            //////    });
            //////}).OwnsMany(p => p.RelatedResources, a =>
            //////{
            //////    a.OwnsMany(p => p.RelatedCountries, a =>
            //////    {
            //////        a.WithOwner().HasForeignKey("RelatedArticlesSchemaArticlesidid");
            //////        a.Property<int>("id");
            //////        a.Property(o => o.IdVal);
            //////    });
            //////    a.WithOwner().HasForeignKey("Articlesid");
            //////    a.Property<int>("id");
            //////    a.Property(o => o.ArticleId);
            //////    a.Property(o => o.Title);
            //////    //a.Property(o => o.RelatedCountries);
            //////    a.Property(o => o.PublishedDate);
            ////}).OwnsOne(p => p.Provisions, a =>
            ////{
            ////    a.WithOwner().HasForeignKey("Articlesid");
            ////    a.Property<int>("id");
            ////    a.Property(o => o.ProvinceId);
            ////    a.Property(o => o.DisplayName);
            ////}).OwnsOne(p => p.ResourceGroup, a =>
            ////{
            ////    a.WithOwner().HasForeignKey("Articlesid");
            ////    a.Property<int>("id");
            ////    a.Property(o => o.ResourceGroupId);
            ////    a.Property(o => o.Position);
            ////    a.Property(o => o.GroupName);
            ////}).OwnsOne(p => p.Disclaimer, a =>
            ////{
            ////    a.WithOwner().HasForeignKey("Articlesid");
            ////    a.Property<int>("id");
            ////    a.Property(o => o.DisclaimerId);
            ////    a.Property(o => o.ProviderName);
            ////    a.Property(o => o.ProviderTerms);
            ////});

            modelBuilder.Entity <Articles>().OwnsMany(p => p.RelatedCountries);
            modelBuilder.Entity <Articles>().OwnsMany(p => p.RelatedContacts);
            modelBuilder.Entity <Articles>().OwnsMany(p => p.RelatedCountryGroups);
            modelBuilder.Entity <Articles>().OwnsMany(p => p.RelatedTaxTags);
            modelBuilder.Entity <Articles>().OwnsMany(p => p.RelatedArticles, a => { a.ToJsonProperty("RelatedArticles"); a.OwnsMany(p => p.RelatedCountries); });
            modelBuilder.Entity <Articles>().OwnsMany(p => p.RelatedResources, a => { a.ToJsonProperty("RelatedResources"); a.OwnsMany(p => p.RelatedCountries); });
            modelBuilder.Entity <Articles>().OwnsOne(p => p.Province);
            modelBuilder.Entity <Articles>().OwnsOne(p => p.ResourceGroup);
            modelBuilder.Entity <Articles>().OwnsOne(p => p.Disclaimer);
            modelBuilder.Entity <UserActivities>().OwnsMany(p => p.SavedArticles);
            modelBuilder.Entity <UserActivities>().OwnsMany(p => p.ReadArticles);
            modelBuilder.Entity <UserActivities>().OwnsMany(p => p.SubscribedCountries, a => { a.ToJsonProperty("SubscribedCountries"); a.OwnsMany(p => p.Country); });

            OneCollectionPerDbSet(modelBuilder);
        }