/// <summary> /// Initializes a new instance of the ObjectBasedEnvironment class. /// </summary> /// <param name="sourceCodeFactory"> /// Callback which is used to create <see cref="SourceCode"/> objects on demand. /// </param> /// <param name="settingsFactory"> /// Optional callback which is used to create <see cref="Settings"/> objects on demand. /// </param> public ObjectBasedEnvironment(SourceCodeFactory sourceCodeFactory, ProjectSettingsFactory settingsFactory) { Param.RequireNotNull(sourceCodeFactory, "sourceCodeFactory"); Param.Ignore(settingsFactory); this.sourceCodeFactory = sourceCodeFactory; this.settingsFactory = settingsFactory; }
/// <summary> /// Initializes a new instance of the ObjectBasedEnvironment class. /// </summary> /// <param name="sourceCodeFactory"> /// Callback which is used to create <see cref="SourceCode"/> objects on demand. /// </param> /// <param name="settingsFactory"> /// Optional callback which is used to create <see cref="Settings"/> objects on demand. /// </param> public ObjectBasedEnvironment(SourceCodeFactory sourceCodeFactory, ProjectSettingsFactory settingsFactory) { Param.RequireNotNull(sourceCodeFactory, "sourceCodeFactory"); Param.Ignore(settingsFactory); this.sourceCodeFactory = sourceCodeFactory; this.settingsFactory = settingsFactory; }
private static TestCaseData PostconditionCase(string typeName, string attributeName, bool isValid) { return(new TestCaseData( CompilationFactory.CompileClassFromText( SourceCodeFactory.ClassWithMembers( SourceCodeFactory.PostconditionMethod(typeName, attributeName))), isValid) .SetName($"{fixture}{attributeName}_ReturnTypes_{typeName}{(isValid ? "Passes" : "Fails")}")); }
private static TestCaseData IteratorBlockCase(string attributeName, bool isValid) { return(new TestCaseData( CompilationFactory.CompileClassFromText( SourceCodeFactory.ClassWithMembers( $"[return: {attributeName}] IEnumerable<int> TestMethod() {{ yield return 1; }}")), isValid) .SetName($"{fixture}NoPostconditions_{attributeName}")); }
private static TestCaseData PreconditionTestCase(string attributeName, bool isValid) { return(new TestCaseData( CompilationFactory.CompileClassFromText( SourceCodeFactory.ClassWithMembers( $"extern void TestMethod([{attributeName}] int param1);")), isValid) .SetName($"{fixture}NoContracts_{attributeName}_Precondition")); }
private static TestCaseData PostconditionTestCase(string attributeName, bool isValid) { return(new TestCaseData( CompilationFactory.CompileClassFromText( SourceCodeFactory.ClassWithMembers(new[] { "partial" }, $"[return: {attributeName}] partial int TestMethod();")), isValid) .SetName($"{fixture}NoContracts_{attributeName}_Postcondition")); }
private static TestCaseData VoidPostconditionTestCase(string attributeName, bool isValid) { return(new TestCaseData( CompilationFactory.CompileClassFromText( SourceCodeFactory.ClassWithMembers( SourceCodeFactory.PostconditionMethod("void", attributeName))), isValid) .SetName($"{fixture}NoPostconditions_{attributeName}")); }
public void PreconditionTest(string code) { //Arrange var compilation = CompilationFactory.CompileClassFromText( SourceCodeFactory.ClassWithMembers(code)); //Act var diagnostics = TestHelper.GetDiagnostics(compilation); Assert.IsTrue(diagnostics.Any(d => d.GetMessage().StartsWith("Expanded"))); Assert.IsTrue(diagnostics.ContainsOnlyCode(RewriteConfirmed)); }