Ejemplo n.º 1
0
        public void TestParse()
        {
            // Arrange
            var data = new List <List <string> >
            {
                new List <string> {
                    null, "Arrange", null, "Assertion"
                },
                new List <string> {
                    null, "HttpRequest Actual", null, "Uri"
                },
                new List <string> {
                    null, "BaseUri", null, null
                },
                new List <string> {
                    null, null, null, null
                },
                new List <string> {
                    "test case 1", "TargetSite", null, "/local"
                },
                new List <string> {
                    "test case 2", "TargetSite2", null, null
                },
            };

            // Act
            var result = TestCasesParser.Parse(data);

            // Assert
            Assert.AreEqual(2, result.Count);
        }
        public PropertySearchCriteria GetPropertySearchCriteria(string methodName)
        {
            string rentOrBuy      = TestCasesParser.GetValueOf(SearchForApartmentsColumns.RentOrBuy, methodName, GetType().Name);
            string propertyType   = TestCasesParser.GetValueOf(SearchForApartmentsColumns.PropertyType, methodName, GetType().Name);
            string propertyName   = TestCasesParser.GetValueOf(SearchForApartmentsColumns.PropertyName, methodName, GetType().Name);
            string propertyPeriod = TestCasesParser.GetValueOf(SearchForApartmentsColumns.PropertyPeriod, methodName, GetType().Name);
            string minPrice       = TestCasesParser.GetValueOf(SearchForApartmentsColumns.MinPrice, methodName, GetType().Name);
            string maxPrice       = TestCasesParser.GetValueOf(SearchForApartmentsColumns.MaxPrice, methodName, GetType().Name);
            string minArea        = TestCasesParser.GetValueOf(SearchForApartmentsColumns.MinArea, methodName, GetType().Name);
            string maxArea        = TestCasesParser.GetValueOf(SearchForApartmentsColumns.MaxArea, methodName, GetType().Name);
            string minBed         = TestCasesParser.GetValueOf(SearchForApartmentsColumns.MinBed, methodName, GetType().Name);
            string maxBed         = TestCasesParser.GetValueOf(SearchForApartmentsColumns.MaxBed, methodName, GetType().Name);
            string furnishing     = TestCasesParser.GetValueOf(SearchForApartmentsColumns.Furnishing, methodName, GetType().Name);
            string keywords       = TestCasesParser.GetValueOf(SearchForApartmentsColumns.Keywords, methodName, GetType().Name);

            PropertySearchCriteria criteria = new PropertySearchCriteria();

            criteria.RentOrBuy      = rentOrBuy;
            criteria.PropertyType   = propertyType;
            criteria.PropertyName   = propertyName;
            criteria.PropertyPeriod = propertyPeriod;
            criteria.MinPrice       = minPrice;
            criteria.MaxPrice       = maxPrice;
            criteria.MinArea        = minArea;
            criteria.MaxArea        = maxArea;
            criteria.MinBed         = minBed;
            criteria.MaxBed         = maxBed;
            criteria.Furnishing     = furnishing;
            criteria.Keywords       = keywords;

            return(criteria);
        }
Ejemplo n.º 3
0
        public async Task TestTestWithHavingFailedCases()
        {
            // Arrange
            var data = new List <List <string> >
            {
                new List <string> {
                    null, "Arrange", null, "Assertion", null, null, null, null
                },
                new List <string> {
                    null, "HttpRequest Expected", "HttpRequest Actual", "Contents", null, null, null, null
                },
                new List <string> {
                    null, "BaseUri", "BaseUri", "Name", "Expected", null, "Actual", null
                },
                new List <string> {
                    null, null, null, null, "Query", "Attribute", "Query", "Attribute"
                },
                new List <string> {
                    "test case 1", "ExpectedSite", "TargetSite", "text test 1", "//Expected/Item[1]", "Name", "//html/body/ul/li[1]", null
                },
                new List <string> {
                    null, null, null, "text test 2", "//Expected/Item[2]", "Name", "//html/body/ul/li[2]", null
                },
            };
            const string ExpectedXml =
                @"<Expected>
                    <Item Name='a' />
                    <Item Name='b' />
                </Expected>";
            const string ActualHtml =
                @"<html>
                    <body>
                        <ul>
                            <li>AAAA</li>
                            <li>BBBB</li>
                        </ul>
                    </body>
                </html>";
            var httpRequestServiceShim = new StubIHttpRequestService
            {
                GetResponseAsyncHttpRequest = request =>
                                              request.Name == "Expected"
                        ? Task.FromResult(new HttpResponse {
                    Contents = ExpectedXml, ContentType = "text/xml"
                })
                        : Task.FromResult(new HttpResponse {
                    Contents = ActualHtml, ContentType = "text/html"
                })
            };

            // Act
            var testCases = TestCasesParser.Parse(data);
            await testCases.TestAsync(httpRequestServiceShim);

            // Assert
            Assert.IsTrue(!testCases.Success);
            Assert.AreEqual(1, testCases.FailedCases.Count);
            Assert.AreEqual(2, testCases.FailedCases[0].FailedAssertions.Count);
        }
Ejemplo n.º 4
0
        /// <summary>
        /// Executes async tests
        /// </summary>
        public async Task <TestCases> TestAsync()
        {
            var testCases = TestCasesParser.Parse(new Parser().Parse(this.testCasesCsv));
            await testCases.TestAsync(new HttpRequestService(BaseUriMappingParser.Parse(XElement.Parse(baseUriMappingXml)),
                                                             userAgentMappingXml != null ? UserAgentMappingParser.Parse(XElement.Parse(userAgentMappingXml)) : null, proxyUri), ActualRequestHook, ExpectedRequestHook);

            return(testCases);
        }
Ejemplo n.º 5
0
        public void TestParseWithNoItem()
        {
            // Arrange
            var data = new List <List <string> >();

            // Act
            TestCasesParser.Parse(data);
        }
Ejemplo n.º 6
0
        /// <summary>
        /// Executes async tests
        /// </summary>
        /// <param name="testCasesCsv">testCasesCsv parameter</param>
        /// <param name="baseUriMappingXml">baseUriMappingXml parameter</param>
        /// <param name="userAgentMappingXml">userAgentMappingXml parameter</param>
        /// <param name="proxyUri">proxyUri parameter</param>
        /// <returns>failed message. it returns null if tests are succeed.</returns>
        public static async Task <TestCases> TestAsync(string testCasesCsv, string baseUriMappingXml, string userAgentMappingXml, string proxyUri = null)
        {
            var testCases = TestCasesParser.Parse(new CsvParser().Parse(testCasesCsv));
            await testCases.TestAsync(
                new HttpRequestService(BaseUriMappingParser.Parse(XElement.Parse(baseUriMappingXml)),
                                       userAgentMappingXml != null ? UserAgentMappingParser.Parse(XElement.Parse(userAgentMappingXml)) : null, proxyUri));

            return(testCases);
        }
Ejemplo n.º 7
0
        public async Task TestTestWithOnlyStaticCases()
        {
            // Arrange
            var data = new List <List <string> >
            {
                new List <string> {
                    null, "Arrange", null, "Assertion", null, null, null, null
                },
                new List <string> {
                    null, "HttpRequest Expected", "HttpRequest Actual", "Contents", null, null, null, null
                },
                new List <string> {
                    null, "BaseUri", "BaseUri", "Name", "Expected", null, "Actual", null
                },
                new List <string> {
                    null, null, null, null, "Value", "Attribute", "Query", "Attribute"
                },
                new List <string> {
                    "test case 1", "ExpectedSte", "TargetSite", "text test 1", "a", null, "//html/body/ul/li[1]", null
                },
                new List <string> {
                    null, null, null, "text test 2", "b", null, "//html/body/ul/li[2]", null
                },
            };

            const string ActualHtml =
                @"<html>
                    <body>
                        <ul>
                            <li>a</li>
                            <li>b</li>
                        </ul>
                    </body>
                </html>";
            var httpRequestServiceShim = new StubIHttpRequestService
            {
                GetResponseAsyncHttpRequestActionOfHttpClient = (request, h) =>
                                                                Task.FromResult(new HttpResponse {
                    Contents = ActualHtml, ContentType = "text/html"
                })
            };

            // Act
            var testCases = TestCasesParser.Parse(data);
            await testCases.TestAsync(httpRequestServiceShim);

            // Assert
            Assert.IsTrue(testCases.Success);
        }
Ejemplo n.º 8
0
 public void TestParseWithNullItem()
 {
     TestCasesParser.Parse(null);
 }