protected override TestMethodData CreateTestMethodData(CanonicalData canonicalData, CanonicalDataCase canonicalDataCase, int index) { var testMethodData = base.CreateTestMethodData(canonicalData, canonicalDataCase, index); testMethodData.Options.UseVariableForExpected = true; testMethodData.Options.FormatExpected = true; testMethodData.CanonicalDataCase.Expected = CanonicalDataValue.ExpectedToMultiLineString(testMethodData.CanonicalDataCase.Expected); if (testMethodData.CanonicalDataCase.Property == "verse") { testMethodData.Options.InputProperty = "number"; } else { testMethodData.CanonicalDataCase.Input = new[] { testMethodData.CanonicalDataCase.Data["beginning"], testMethodData.CanonicalDataCase.Data["end"] } }; return(testMethodData); } }
public void Regenerate(CanonicalData canonicalData) { _canonicalData = canonicalData; UpdateCanonicalData(canonicalData); ExerciseWriter.WriteToFile(this); }
protected override void UpdateCanonicalData(CanonicalData canonicalData) { foreach (var canonicalDataCase in canonicalData.Cases.Where(canonicalDataCase => canonicalDataCase.Property == "create")) { SetCreatePropertyData(canonicalDataCase); } }
protected override void UpdateCanonicalData(CanonicalData canonicalData) { foreach (var canonicalDataCase in canonicalData.Cases) { canonicalDataCase.Property = "IsLeapYear"; } }
protected override void UpdateCanonicalData(CanonicalData canonicalData) { foreach (var canonicalDataCase in canonicalData.Cases) { canonicalDataCase.UseVariablesForInput = true; if (canonicalDataCase.Input.ContainsKey("set")) { if (!(canonicalDataCase.Input["set"] is int[])) { canonicalDataCase.Input["set"] = new UnescapedValue(""); } canonicalDataCase.SetConstructorInputParameters("set"); } else { if (!(canonicalDataCase.Input["set1"] is int[])) { canonicalDataCase.Input["set1"] = new UnescapedValue(""); } canonicalDataCase.SetConstructorInputParameters("set1"); canonicalDataCase.Input["set2"] = ConvertCustomSet(canonicalDataCase.Input["set2"]); if (canonicalDataCase.Property == "equal") { canonicalDataCase.Property = "Equals"; } } canonicalDataCase.Expected = ConvertCustomSet(canonicalDataCase.Expected); } }
public void Regenerate(CanonicalData canonicalData) { var testClass = CreateTestClass(canonicalData); var testClassOutput = new TestClassOutput(testClass); testClassOutput.WriteToFile(); }
protected override void UpdateCanonicalData(CanonicalData canonicalData) { foreach (var canonicalDataCase in canonicalData.Cases) { canonicalDataCase.UseVariableForExpected = true; } }
protected override void UpdateCanonicalData(CanonicalData canonicalData) { canonicalData.Exercise = "complex-number"; // Ensure the Real and Imaginary methods are tested first as they're used later to assert equality between complex numbers canonicalData.Cases = canonicalData.Cases.OrderBy(c => c.Property == "real" || c.Property == "imaginary" ? 0 : 1).ToArray(); foreach (var canonicalDataCase in canonicalData.Cases) { // Process expected if (IsComplexNumber(canonicalDataCase.Expected)) { canonicalDataCase.UseVariableForExpected = true; } canonicalDataCase.Expected = ConvertToType(canonicalDataCase.Expected); // Process constructor param var constructorParamName = canonicalDataCase.Input.ContainsKey("input") ? "input" : "z1"; canonicalDataCase.Properties["real"] = ConvertMathDouble(canonicalDataCase.Input[constructorParamName][0]); canonicalDataCase.Properties["imaginary"] = ConvertMathDouble(canonicalDataCase.Input[constructorParamName][1]); canonicalDataCase.SetConstructorInputParameters("real", "imaginary"); canonicalDataCase.SetInputParameters(GetInputParameters(canonicalDataCase, constructorParamName)); // Process function param var keys = canonicalDataCase.Input.Keys.ToArray(); foreach (var key in keys) { canonicalDataCase.Properties[key] = ConvertToType(canonicalDataCase.Properties[key]); } } }
protected override void UpdateCanonicalData(CanonicalData canonicalData) { foreach (var canonicalDataCase in canonicalData.Cases) { canonicalDataCase.ExceptionThrown = canonicalDataCase.Expected is bool?typeof(ArgumentOutOfRangeException) : null; } }
protected override void UpdateCanonicalData(CanonicalData canonicalData) { foreach (var canonicalDataCase in canonicalData.Cases) { canonicalDataCase.UseVariablesForConstructorParameters = true; canonicalDataCase.SetConstructorInputParameters("board"); canonicalDataCase.Property = "result"; canonicalDataCase.Input["board"] = ToMultiLineString(canonicalDataCase.Input["board"]); //convert to enum switch (canonicalDataCase.Expected) { case "X": canonicalDataCase.Expected = new UnescapedValue("ConnectWinner.Black"); break; case "O": canonicalDataCase.Expected = new UnescapedValue("ConnectWinner.White"); break; case "": canonicalDataCase.Expected = new UnescapedValue("ConnectWinner.None"); break; } } }
protected override void UpdateCanonicalData(CanonicalData canonicalData) { foreach (var canonicalDataCase in canonicalData.Cases) { canonicalDataCase.ExceptionThrown = canonicalDataCase.Input["number"] <= 0 ? typeof(ArgumentException) : null; } }
protected override void UpdateCanonicalData(CanonicalData canonicalData) { foreach (var canonicalDataCase in canonicalData.Cases) { canonicalDataCase.Input["factors"] = ConvertHelper.ToArray <int>(canonicalDataCase.Input["factors"]); } }
protected override void UpdateCanonicalData(CanonicalData canonicalData) { foreach (var canonicalDataCase in canonicalData.Cases) { if (canonicalDataCase.Property != PropertyEqual) { canonicalDataCase.SetConstructorInputParameters(ParamHour, ParamMinute); } else { canonicalDataCase.SetConstructorInputParameters(ParamClock1); var result = (Dictionary <string, object>)canonicalDataCase.Properties[ParamClock2]; canonicalDataCase.Properties[ParamClock2] = new UnescapedValue($"new Clock({result[ParamHour]}, {result[ParamMinute]})"); } if (canonicalDataCase.Property == PropertyCreate) { canonicalDataCase.Property = PropertyToString; } else if (canonicalDataCase.Property == PropertyEqual) { canonicalDataCase.Property = PropertyEquals; } } }
protected override void UpdateCanonicalData(CanonicalData canonicalData) { foreach (var canonicalDataCase in canonicalData.Cases) { canonicalDataCase.ExceptionThrown = canonicalDataCase.Expected is long?null : typeof(ArgumentException); } }
protected override void UpdateCanonicalData(CanonicalData canonicalData) { foreach (var canonicalDataCase in canonicalData.Cases) { canonicalDataCase.UseVariablesForInput = true; canonicalDataCase.UseVariableForTested = true; canonicalDataCase.UseVariableForExpected = true; canonicalDataCase.UseVariablesForConstructorParameters = true; canonicalDataCase.SetConstructorInputParameters("grid"); canonicalDataCase.Input["grid"] = ConvertHelper.ToMultiLineString(canonicalDataCase.Input["grid"]); var expectedDictionary = canonicalDataCase.Expected as IDictionary <string, dynamic>; var expected = new List <string> { "new Dictionary<string, ((int, int), (int, int))?>", "{" }; expected.AddRange(expectedDictionary.Select(((kv, i) => $" [\"{kv.Key}\"] = {FormatPosition(kv.Value)}{(i < expectedDictionary.Count - 1 ? "," : "")}"))); expected.Add("}"); canonicalDataCase.Expected = new UnescapedValue(string.Join("\n", expected)); } }
protected virtual TestMethodData CreateTestMethodData(CanonicalData canonicalData, CanonicalDataCase canonicalDataCase, int index) => new TestMethodData { CanonicalData = canonicalData, CanonicalDataCase = canonicalDataCase, Index = index, Options = CreateTestMethodOptions(canonicalData, canonicalDataCase, index) };
protected override void UpdateCanonicalData(CanonicalData canonicalData) { foreach (var canonicalDataCase in canonicalData.Cases) { canonicalDataCase.TestedMethodType = TestedMethodType.Extension; canonicalDataCase.Property = "ToRoman"; } }
protected override void UpdateCanonicalData(CanonicalData canonicalData) { foreach (var canonicalDataCase in canonicalData.Cases) { canonicalDataCase.UseVariableForExpected = true; canonicalDataCase.Expected = ConvertHelper.ToMultiLineString(canonicalDataCase.Expected); } }
protected override void UpdateCanonicalData(CanonicalData canonicalData) { foreach (var canonicalDataCase in canonicalData.Cases) { canonicalDataCase.Properties["input"] = canonicalDataCase.Properties["input"].Replace("\\", "\\\\"); canonicalDataCase.UseVariablesForInput = true; } }
protected TestMethodBody(CanonicalDataCase canonicalDataCase, CanonicalData canonicalData) { CanonicalDataCase = canonicalDataCase; CanonicalData = canonicalData; Data = new TestMethodBodyData(this); InitializeTemplateParameters(); }
protected override void UpdateCanonicalData(CanonicalData canonicalData) { foreach (var canonicalDataCase in canonicalData.Cases) { canonicalDataCase.Property = "InEnglish"; canonicalDataCase.ExceptionThrown = canonicalDataCase.Expected is long?typeof(ArgumentOutOfRangeException) : null; } }
protected override void UpdateCanonicalData(CanonicalData canonicalData) { foreach (var canonicalDataCase in canonicalData.Cases) { canonicalDataCase.UseVariablesForInput = true; canonicalDataCase.ExceptionThrown = canonicalDataCase.Expected is null ? typeof(ArgumentException) : null; } }
protected override void UpdateCanonicalData(CanonicalData canonicalData) { foreach (var canonicalDataCase in canonicalData.Cases) { canonicalDataCase.UseVariableForExpected = true; canonicalDataCase.ExceptionThrown = canonicalDataCase.Input["limit"] < 2 ? typeof(ArgumentOutOfRangeException) : null; } }
protected override void UpdateCanonicalData(CanonicalData canonicalData) { foreach (var canonicalDataCase in canonicalData.Cases) { canonicalDataCase.UseVariablesForInput = true; canonicalDataCase.Properties["input"] = ConvertInput(canonicalDataCase.Properties["input"]); } }
protected override void UpdateCanonicalData(CanonicalData canonicalData) { foreach (var canonicalDataCase in canonicalData.Cases) { canonicalDataCase.SetInputParameters("basket"); canonicalDataCase.UseVariablesForInput = true; } }
protected override void UpdateCanonicalData(CanonicalData canonicalData) { foreach (var canonicalDataCase in canonicalData.Cases) { canonicalDataCase.UseVariablesForConstructorParameters = true; canonicalDataCase.SetConstructorInputParameters("array"); } }
protected override void UpdateCanonicalData(CanonicalData canonicalData) { foreach (var canonicalDataCase in canonicalData.Cases) { var nationality = canonicalDataCase.Expected as string; canonicalDataCase.Expected = new UnescapedValue($"Nationality.{nationality.Humanize()}"); } }
protected override TestMethodOptions CreateTestMethodOptions(CanonicalData canonicalData, CanonicalDataCase canonicalDataCase, int index) { var testMethodOptions = base.CreateTestMethodOptions(canonicalData, canonicalDataCase, index); testMethodOptions.InputProperty = "phrase"; return(testMethodOptions); }
protected override void UpdateCanonicalData(CanonicalData canonicalData) { foreach (var canonicalDataCase in canonicalData.Cases) { // Prefix the test name with encode/decode because both functions are tested with the same cases canonicalDataCase.Description = $"{canonicalDataCase.Property} {canonicalDataCase.Description}"; } }
protected override TestMethodOptions CreateTestMethodOptions(CanonicalData canonicalData, CanonicalDataCase canonicalDataCase, int index) { var testMethodOptions = base.CreateTestMethodOptions(canonicalData, canonicalDataCase, index); testMethodOptions.ThrowExceptionWhenExpectedValueEquals = x => x is bool; return(testMethodOptions); }