xref: /aosp_15_r20/external/grpc-grpc/src/csharp/Grpc.Tools.Tests/GeneratorTest.cs (revision cc02d7e222339f7a4f6ba5f422e6413f4bd931f2)
1*cc02d7e2SAndroid Build Coastguard Worker #region Copyright notice and license
2*cc02d7e2SAndroid Build Coastguard Worker 
3*cc02d7e2SAndroid Build Coastguard Worker // Copyright 2018 gRPC authors.
4*cc02d7e2SAndroid Build Coastguard Worker //
5*cc02d7e2SAndroid Build Coastguard Worker // Licensed under the Apache License, Version 2.0 (the "License");
6*cc02d7e2SAndroid Build Coastguard Worker // you may not use this file except in compliance with the License.
7*cc02d7e2SAndroid Build Coastguard Worker // You may obtain a copy of the License at
8*cc02d7e2SAndroid Build Coastguard Worker //
9*cc02d7e2SAndroid Build Coastguard Worker //     http://www.apache.org/licenses/LICENSE-2.0
10*cc02d7e2SAndroid Build Coastguard Worker //
11*cc02d7e2SAndroid Build Coastguard Worker // Unless required by applicable law or agreed to in writing, software
12*cc02d7e2SAndroid Build Coastguard Worker // distributed under the License is distributed on an "AS IS" BASIS,
13*cc02d7e2SAndroid Build Coastguard Worker // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14*cc02d7e2SAndroid Build Coastguard Worker // See the License for the specific language governing permissions and
15*cc02d7e2SAndroid Build Coastguard Worker // limitations under the License.
16*cc02d7e2SAndroid Build Coastguard Worker 
17*cc02d7e2SAndroid Build Coastguard Worker #endregion
18*cc02d7e2SAndroid Build Coastguard Worker 
19*cc02d7e2SAndroid Build Coastguard Worker using Microsoft.Build.Framework;
20*cc02d7e2SAndroid Build Coastguard Worker using Microsoft.Build.Utilities;
21*cc02d7e2SAndroid Build Coastguard Worker using Moq;
22*cc02d7e2SAndroid Build Coastguard Worker using NUnit.Framework;
23*cc02d7e2SAndroid Build Coastguard Worker 
24*cc02d7e2SAndroid Build Coastguard Worker namespace Grpc.Tools.Tests
25*cc02d7e2SAndroid Build Coastguard Worker {
26*cc02d7e2SAndroid Build Coastguard Worker     public class GeneratorTest
27*cc02d7e2SAndroid Build Coastguard Worker     {
28*cc02d7e2SAndroid Build Coastguard Worker         protected Mock<IBuildEngine> _mockEngine;
29*cc02d7e2SAndroid Build Coastguard Worker         protected TaskLoggingHelper _log;
30*cc02d7e2SAndroid Build Coastguard Worker 
31*cc02d7e2SAndroid Build Coastguard Worker         [SetUp]
SetUp()32*cc02d7e2SAndroid Build Coastguard Worker         public void SetUp()
33*cc02d7e2SAndroid Build Coastguard Worker         {
34*cc02d7e2SAndroid Build Coastguard Worker             _mockEngine = new Mock<IBuildEngine>();
35*cc02d7e2SAndroid Build Coastguard Worker             _log = new TaskLoggingHelper(_mockEngine.Object, "phony");
36*cc02d7e2SAndroid Build Coastguard Worker         }
37*cc02d7e2SAndroid Build Coastguard Worker 
38*cc02d7e2SAndroid Build Coastguard Worker         [TestCase("csharp")]
39*cc02d7e2SAndroid Build Coastguard Worker         [TestCase("CSharp")]
40*cc02d7e2SAndroid Build Coastguard Worker         [TestCase("cpp")]
ValidLanguages(string lang)41*cc02d7e2SAndroid Build Coastguard Worker         public void ValidLanguages(string lang)
42*cc02d7e2SAndroid Build Coastguard Worker         {
43*cc02d7e2SAndroid Build Coastguard Worker             Assert.IsNotNull(GeneratorServices.GetForLanguage(lang, _log));
44*cc02d7e2SAndroid Build Coastguard Worker             _mockEngine.Verify(me => me.LogErrorEvent(It.IsAny<BuildErrorEventArgs>()), Times.Never);
45*cc02d7e2SAndroid Build Coastguard Worker         }
46*cc02d7e2SAndroid Build Coastguard Worker 
47*cc02d7e2SAndroid Build Coastguard Worker         [TestCase("")]
48*cc02d7e2SAndroid Build Coastguard Worker         [TestCase("COBOL")]
InvalidLanguages(string lang)49*cc02d7e2SAndroid Build Coastguard Worker         public void InvalidLanguages(string lang)
50*cc02d7e2SAndroid Build Coastguard Worker         {
51*cc02d7e2SAndroid Build Coastguard Worker             Assert.IsNull(GeneratorServices.GetForLanguage(lang, _log));
52*cc02d7e2SAndroid Build Coastguard Worker             _mockEngine.Verify(me => me.LogErrorEvent(It.IsAny<BuildErrorEventArgs>()), Times.Once);
53*cc02d7e2SAndroid Build Coastguard Worker         }
54*cc02d7e2SAndroid Build Coastguard Worker     };
55*cc02d7e2SAndroid Build Coastguard Worker }
56