Пример #1
0
        public void SoftwareAdviceTestsImportValidFileExpectedReciveTheProperObjects()
        {
            // Arrange
            var            sut           = new SoftwareAdviceStrategy(new string[] { "-f", "./files/softwareadvice.json" });
            SoftwareAdvice objectsParsed = new SoftwareAdvice();

            // Act
            sut.Import(data => objectsParsed = data);

            // Assert
            Assert.AreEqual(2, objectsParsed.Products.Length);
        }
Пример #2
0
        public void ShouldReturnProductsWhenEmptyFileReceived()
        {
            // Arrange
            A.CallTo(() => mockFileHelper.ReadFileText(A <string> ._)).Returns(TestConstants.JsonFileText);
            A.CallTo(() => mockParser.Parse <ProductsObject>(A <string> ._)).Returns(GetProductObject());

            // Act
            softwareAdvice = new SoftwareAdvice(mockFileHelper);
            var output = softwareAdvice.ParseInput();

            // Assert
            A.CallTo(() => mockParser.Parse <ProductsObject>(A <string> ._)).MustHaveHappened();
            Assert.Equal(3, output.Products.Count);
        }
Пример #3
0
        public void ShouldReturnZeroProductsWhenEmptyFileReceived()
        {
            // Arrange
            A.CallTo(() => mockFileHelper.ReadFileText(A <string> ._)).Returns(string.Empty);
            A.CallTo(() => mockParser.Parse <ProductsObject>(A <string> ._)).Returns(new ProductsObject());

            // Act
            softwareAdvice = new SoftwareAdvice(mockFileHelper);
            var output = softwareAdvice.ParseInput();

            // Assert
            A.CallTo(() => mockParser.Parse <ProductsObject>(A <string> ._)).MustHaveHappened();
            Assert.Null(output.Products);
        }
Пример #4
0
        public void ReadDataFromJSONTestMethod2()
        {
            List <Product> softAdviceProd = new List <Product>();

            Product softAdviceProd1 = new Product();

            softAdviceProd1.Category     = "Customer Service ,Call Center";
            softAdviceProd1.Twitter      = "@freshdesk";
            softAdviceProd1.Title        = "Freshdesk";
            softAdviceProd1.ProviderName = "SoftwareAdvice";
            softAdviceProd.Add(softAdviceProd1);

            Product softAdviceProd2 = new Product();

            softAdviceProd2.Category     = "CRM,Sales Management";
            softAdviceProd2.Twitter      = null;
            softAdviceProd2.Title        = "Zoho";
            softAdviceProd2.ProviderName = "SoftwareAdvice";
            softAdviceProd.Add(softAdviceProd2);

            Assert.AreNotEqual(SoftwareAdvice.ReadDataFromJSON("./../../../feed-products/softwareadvice.json"), softAdviceProd);
        }
Пример #5
0
        static void Main(string[] args)
        {
            try
            {
                Console.WriteLine("Do you want to import product from /feed-products. Press 'Y' or 'N'");
                if (Convert.ToString(Console.ReadLine()).ToUpper() == "Y")
                {
                    Console.WriteLine("Please enter provider");
                    string provider = Convert.ToString(Console.ReadLine());
                    switch (provider.ToLower())
                    {
                    case "capterra": List <CapterraProduct> lstCapProducts = Capterra.ReadDataFromYAML(ConfigurationDetails.GetConfiguration("YamlFilePath"));
                        DisplayCapterraProducts(lstCapProducts);
                        break;

                    case "softwareadvice":  List <Product> lstSoftProducts = SoftwareAdvice.ReadDataFromJSON(ConfigurationDetails.GetConfiguration("JsonFilePath"));
                        DisplaySoftAdviceProducts(lstSoftProducts);
                        break;

                    default:
                        Console.WriteLine("Other providers are currently unavailable");
                        break;
                    }
                }
                else
                {
                    Console.WriteLine("Please enter csv output online url for importing products");
                    //TO DO
                }
                Console.ReadKey();
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.StackTrace);
            }
        }
 public void Setup()
 {
     _softwareAdviceSource = new SoftwareAdvice(new FakeSoftwareAdviceRepository());
 }
Пример #7
0
        public void ReadDataFromJSONTestMethod1()
        {
            List <Product> softAdviceProd = new List <Product>();

            Assert.AreNotEqual(SoftwareAdvice.ReadDataFromJSON("./../../../feed-products/softwareadvice.json"), softAdviceProd);
        }