public void BuildTestCases_should_return_correct_model_values_from_casecollection() { // given var testCaseViewModelBuilder = new TestCaseViewModelBuilder(); var caseCollection = new CaseCollection { TestCases = new List<Case> { new Case {Id = 1, ShortDescription = "Short Description 1", Url = "http://www.google.com"}, new Case {Id = 2, ShortDescription = "Short Description 2", Url = "http://www.arsenal.com"}, } }; // when var testCaseViewModels = testCaseViewModelBuilder.BuildTestCases(caseCollection); // then Assert.NotNull(testCaseViewModels); Assert.AreEqual(2, testCaseViewModels.Count()); var firstCase = testCaseViewModels.First(); Assert.AreEqual(1, firstCase.Id); Assert.AreEqual("Short Description 1", firstCase.ShortDescription); Assert.AreEqual("http://www.google.com", firstCase.Url); var lastCase = testCaseViewModels.Last(); Assert.AreEqual(2, lastCase.Id); Assert.AreEqual("Short Description 2", lastCase.ShortDescription); Assert.AreEqual("http://www.arsenal.com", lastCase.Url); }
public CaseCollection Read(TextReader textReader) { // Clean up any invalid XML string originalXml = textReader.ReadToEnd(); string validXml = ReEncodeAttributeValues(originalXml); var stringReader = new StringReader(validXml); var testCollection = new CaseCollection(); XDocument doc = XDocument.Load(stringReader); // Check for <testcases> XElement rootElement = doc.Elements().FirstOrDefault(i => i.Name.LocalName == "testcases"); if (rootElement == null) throw new TestCaseException("<testcases> node is missing from the config file."); // Repeats int repeatValue = 0; string repeatAttribute = XmlHelper.GetOptionalAttribute(rootElement, "repeat"); int.TryParse(repeatAttribute, out repeatValue); testCollection.Repeat = repeatValue; // <testvar> testCollection.Variables = GetTestVars(rootElement); // <case> - add each one and re-order them by their id="" attribute. var testCases = new List<Case>(); foreach (XElement element in rootElement.Elements().Where(x => x.Name.LocalName == "case")) { Case testCase = GetTestCase(element); testCases.Add(testCase); } testCollection.TestCases = testCases.OrderBy(x => x.Id); return testCollection; }
public IEnumerable<TestCaseViewModel> BuildTestCases(CaseCollection caseCollection) { if (caseCollection == null) { throw new ArgumentNullException("caseCollection"); } return caseCollection.TestCases.Select(x => new TestCaseViewModel() { Id = x.Id, ShortDescription = x.ShortDescription, Url = x.Url }); }
public static CaseCollection GetList() { CaseCollection list = new CaseCollection(); string sql = @"select * from t_case"; MySqlDataReader reader = DbHelper.ExecuteDataReader(sql); if (reader.HasRows) { while(reader.Read()) { list.Add(FillDataRecord(reader)); } } reader.Close(); return list; }
public static CaseCollection GetCasesByCustomerID(Int64 CustomerID) { CaseCollection c = new CaseCollection(); DataTable dt = Execute.FillDataTable(StoredProcedures.GetCasesByCustomerID, new System.Data.SqlClient.SqlParameter("CustomerID", CustomerID)); if (dt.Rows.Count > 0) { foreach (DataRow row in dt.Rows) { Case o = new Case(); LoadCaseByReader(row, o); c.Add(o); } } return(c); }
private void CreateCaseDropdown() { using (StringWriter sw = new StringWriter()) { using (HtmlTextWriter writer = new HtmlTextWriter(sw)) { CaseCollection cases = Juinti.Case.Utils.GetCasesByCustomerID(customer.ID); writer.RenderBeginTag(HtmlTextWriterTag.Ul); writer.RenderBeginTag(HtmlTextWriterTag.Li); writer.AddAttribute("href", "#"); writer.AddAttribute("onclick", "createCase(); return false;"); writer.RenderBeginTag(HtmlTextWriterTag.A); writer.AddAttribute("class", "title"); writer.RenderBeginTag(HtmlTextWriterTag.Span); writer.Write(Resources.Global.CreateCase); writer.RenderEndTag(); // Span writer.RenderEndTag(); // A writer.RenderEndTag(); // Li foreach (var item in cases) { writer.AddAttribute("class", item.ID == caseID ? "menuitem selected" : "menuitem"); writer.RenderBeginTag(HtmlTextWriterTag.Li); writer.AddAttribute("href", Urls.OverviewUrl + "?caseid=" + item.ID + "&pagetype=overview#tabindex-0"); writer.RenderBeginTag(HtmlTextWriterTag.A); writer.AddAttribute("class", "title"); writer.RenderBeginTag(HtmlTextWriterTag.Span); writer.Write(item.Name); writer.RenderEndTag(); // Span writer.AddAttribute("class", "number"); writer.RenderBeginTag(HtmlTextWriterTag.Span); writer.Write(item.Number); writer.RenderEndTag(); // Span writer.RenderEndTag(); // A writer.RenderEndTag(); // Li } } litCaseDropdown.Text = sw.ToString(); } }
public string Write(CaseCollection caseCollection) { var stringBuilder = new StringBuilder(); using (var stringWriter = new Utf8StringWriter(stringBuilder)) { var settings = new XmlWriterSettings { IndentChars = "\t", Indent = true }; using (XmlWriter xmlWriter = XmlTextWriter.Create(stringWriter, settings)) { XElement testCasesElement = new XElement("testcases"); testCasesElement.Add(new XAttribute("repeat", caseCollection.Repeat.ToString())); foreach (Case testCase in caseCollection.TestCases) { XElement headersElement = GetHeadersElement(testCase); XElement postbodyElement = GetPostBodyElement(testCase); XElement parseResponsesElement = GetParseResponsesElement(testCase); XElement verificationElement = GetVerificationElement(testCase); XElement caseElement = GetCaseElement(testCase); caseElement.Add(headersElement); caseElement.Add(postbodyElement); caseElement.Add(parseResponsesElement); caseElement.Add(verificationElement); testCasesElement.Add(caseElement); } XDocument doc = new XDocument(testCasesElement); doc.WriteTo(xmlWriter); } return stringBuilder.ToString(); } }
protected void SetCaseObjects <TCase, TCollection>(TCollection value) where TCase : CaseObjectBase where TCollection : List <TCase> { if (value != null) { var result = new CaseCollection(value.Count); foreach (var itemObject in value) { var item = new Case(); item.Min = itemObject.Min; item.Max = itemObject.Max; item.Item = itemObject.Item; result.Add(item); } Cases = result; } else { Cases = null; } }
private CaseCollection CreateCaseCollection(Case[] cases) { var testCases = new List<Case>(); testCases.AddRange(cases); var collection = new CaseCollection(); collection.TestCases = testCases; return collection; }
public HomeController(IUserContext usercontext, ICaseContext caseContext, IAdminUserContext adminUserContext) { serverUserCollection = new AdminUserCollection(adminUserContext); Case = new Logic.Case(caseContext); CaseCollection = new CaseCollection(caseContext); }
public SwitchExtension() { Cases = new CaseCollection(this); Converter = new MultiValueConverter(this); }
public TestCaseSession Run(CaseCollection testCollection) { _isStopPending = false; _currentResults = new List<TestCaseResult>(); var session = new TestCaseSession(); session.StartTime = DateTime.UtcNow; // Add all config variables and ones in this <testcase> var variables = new SessionVariables(); variables.AddGlobalVariables(_config); variables.AddOrUpdateVariables(testCollection.Variables); var verificationsMatcher = new VerificationsMatcher(variables); // Ensure we loop atleast once: int repeatTotal = (testCollection.Repeat > 0) ? testCollection.Repeat : 1; List<Case> testCases = testCollection.TestCases.ToList(); TimeSpan minResponseTime = TimeSpan.MaxValue; TimeSpan maxResponseTime = TimeSpan.MinValue; int totalCasesRun = 0; CasesRun = 0; TotalCases = testCases.Count; RepeatCount = 0; for (int i = 0; i < repeatTotal; i++) { foreach (Case testCase in testCases) { if (_isStopPending) break; try { TestCaseResult result = RunCase(testCase, variables, verificationsMatcher); session.TestCaseResults.Add(result); _currentResults.Add(result); if (result.ResponseTime < minResponseTime) minResponseTime = result.ResponseTime; if (result.ResponseTime > maxResponseTime) maxResponseTime = result.ResponseTime; } catch (Exception ex) { Log.Error(ex, "An exception occurred running case {0}", testCase.Id); } finally { totalCasesRun++; CasesRun++; RepeatCount = i; } } if (_isStopPending) break; } session.EndTime = DateTime.UtcNow; session.TotalRunTime = session.EndTime - session.StartTime; session.TotalCasesRun = totalCasesRun; session.MinResponseTime = minResponseTime; session.MaxResponseTime = maxResponseTime; return session; }