|  | #region Copyright notice and license | 
|  |  | 
|  | // Copyright 2018 gRPC authors. | 
|  | // | 
|  | // Licensed under the Apache License, Version 2.0 (the "License"); | 
|  | // you may not use this file except in compliance with the License. | 
|  | // You may obtain a copy of the License at | 
|  | // | 
|  | //     http://www.apache.org/licenses/LICENSE-2.0 | 
|  | // | 
|  | // Unless required by applicable law or agreed to in writing, software | 
|  | // distributed under the License is distributed on an "AS IS" BASIS, | 
|  | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | 
|  | // See the License for the specific language governing permissions and | 
|  | // limitations under the License. | 
|  |  | 
|  | #endregion | 
|  |  | 
|  | using Microsoft.Build.Framework; | 
|  | using Moq; | 
|  | using NUnit.Framework; | 
|  |  | 
|  | namespace Grpc.Tools.Tests | 
|  | { | 
|  | public class ProtoCompileCommandLinePrinterTest : ProtoCompileBasicTest | 
|  | { | 
|  | [SetUp] | 
|  | public new void SetUp() | 
|  | { | 
|  | _task.Generator = "csharp"; | 
|  | _task.OutputDir = "outdir"; | 
|  | _task.Protobuf = Utils.MakeSimpleItems("a.proto"); | 
|  |  | 
|  | _mockEngine | 
|  | .Setup(me => me.LogMessageEvent(It.IsAny<BuildMessageEventArgs>())) | 
|  | .Callback((BuildMessageEventArgs e) => | 
|  | Assert.Fail($"Error logged by build engine:\n{e.Message}")) | 
|  | .Verifiable("Command line was not output by the task."); | 
|  | } | 
|  |  | 
|  | void ExecuteExpectSuccess() | 
|  | { | 
|  | _mockEngine | 
|  | .Setup(me => me.LogErrorEvent(It.IsAny<BuildErrorEventArgs>())) | 
|  | .Callback((BuildErrorEventArgs e) => | 
|  | Assert.Fail($"Error logged by build engine:\n{e.Message}")); | 
|  | bool result = _task.Execute(); | 
|  | Assert.IsTrue(result); | 
|  | } | 
|  | }; | 
|  | } |