#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 Microsoft.Build.Utilities; using Moq; using NUnit.Framework; namespace Grpc.Tools.Tests { public class GeneratorTest { protected Mock _mockEngine; protected TaskLoggingHelper _log; [SetUp] public void SetUp() { _mockEngine = new Mock(); _log = new TaskLoggingHelper(_mockEngine.Object, "dummy"); } [TestCase("csharp")] [TestCase("CSharp")] [TestCase("cpp")] public void ValidLanguages(string lang) { Assert.IsNotNull(GeneratorServices.GetForLanguage(lang, _log)); _mockEngine.Verify(me => me.LogErrorEvent(It.IsAny()), Times.Never); } [TestCase("")] [TestCase("COBOL")] public void InvalidLanguages(string lang) { Assert.IsNull(GeneratorServices.GetForLanguage(lang, _log)); _mockEngine.Verify(me => me.LogErrorEvent(It.IsAny()), Times.Once); } }; }