Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code | Sign in
(4509)

Unified Diff: Src/GoogleApis.Tools.CodeGen.Tests/Decorator/SchemaDecorator/ArraySchemaDecoratorTest.cs

Issue 12020043: Issue 325 - Remove discovery and codegen (Closed) Base URL: https://google-api-dotnet-client.googlecode.com/hg/
Patch Set: Sir miceli comment Created 11 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Please Sign in to add in-line comments.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: Src/GoogleApis.Tools.CodeGen.Tests/Decorator/SchemaDecorator/ArraySchemaDecoratorTest.cs
===================================================================
deleted file mode 100644
--- a/Src/GoogleApis.Tools.CodeGen.Tests/Decorator/SchemaDecorator/ArraySchemaDecoratorTest.cs
+++ /dev/null
@@ -1,137 +0,0 @@
-/*
-Copyright 2011 Google Inc
-
-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.
-*/
-
-using System;
-using System.CodeDom;
-using System.Collections;
-using System.Collections.Generic;
-using Google.Apis.Tools.CodeGen.Decorator.SchemaDecorator;
-using Google.Apis.Tools.CodeGen.Generator;
-using Google.Apis.Tools.CodeGen.Tests.Generator;
-using Newtonsoft.Json.Schema;
-using NUnit.Framework;
-
-namespace Google.Apis.Tools.CodeGen.Tests.Decorator.SchemaDecorator
-{
- /// <summary>
- /// Tests the ArraySchemaDecorator class, which provides support
- /// for top-level json arrays
- /// </summary>
- [TestFixture]
- public class ArraySchemaDecoratorTest
- {
- /// <summary>
- /// Tests if the constructor can be called without an exception
- /// </summary>
- [Test]
- public void ConstructorTest()
- {
- Assert.DoesNotThrow(() => new ArraySchemaDecoratorTest());
- }
-
- /// <summary>
- /// Confirms the result of the DecorateClass-method
- /// </summary>
- [Test]
- public void DecorateClassGenerationTest()
- {
- var implDetails = new Dictionary<JsonSchema, SchemaImplementationDetails>();
- var decorator = new ArraySchemaDecorator();
- var internalClassProvider = new ObjectInternalClassProvider();
- var decl = new CodeTypeDeclaration();
-
- var schema = new MockSchema();
- schema.Name = "test";
- schema.SchemaDetails = new JsonSchema();
- schema.SchemaDetails.Type = JsonSchemaType.Array;
- schema.SchemaDetails.Items = new List<JsonSchema>();
- schema.SchemaDetails.Items.Clear();
- schema.SchemaDetails.Items.Add(
- new JsonSchema { Description = "Test", Id = "TestSchema", Type = JsonSchemaType.Object });
- implDetails.Add(schema.SchemaDetails, new SchemaImplementationDetails());
- implDetails.Add(schema.SchemaDetails.Items[0], new SchemaImplementationDetails());
- Assert.DoesNotThrow(() => decorator.DecorateClass(decl, schema, implDetails, internalClassProvider));
-
- Assert.That(decl.BaseTypes.Count, Is.EqualTo(1));
- Assert.That(decl.BaseTypes[0].BaseType, Is.EqualTo(typeof(List<>).FullName));
-
- // Subtype will only be created later on by the NestedClassGenerator,
- // and therefore cannot be tested here
- }
-
- /// <summary>
- /// Tests the parameters of the DecorateClass method using null-inputs
- /// </summary>
- [Test]
- public void DecorateClassTest()
- {
- var implDetails = new Dictionary<JsonSchema, SchemaImplementationDetails>();
- var decorator = new ArraySchemaDecorator();
- var declaration = new CodeTypeDeclaration();
- var schema = new MockSchema { SchemaDetails = new JsonSchema() };
- var internalClassProvider = new ObjectInternalClassProvider();
- Assert.Throws(
- typeof(ArgumentNullException),
- () => decorator.DecorateClass(null, schema, implDetails, internalClassProvider));
- Assert.Throws(
- typeof(ArgumentNullException),
- () => decorator.DecorateClass(declaration, null, implDetails, internalClassProvider));
- Assert.Throws(
- typeof(ArgumentNullException),
- () => decorator.DecorateClass(declaration, schema, null, internalClassProvider));
- Assert.Throws(
- typeof(ArgumentNullException), () => decorator.DecorateClass(declaration, schema, implDetails, null));
- decorator.DecorateClass(declaration, schema, implDetails, internalClassProvider);
- }
-
- /// <summary>
- /// Tests the edge cases of the different classes handed to the DecorateClass method
- /// </summary>
- [Test]
- public void DecorateClassTestEdgeCases()
- {
- var implDetails = new Dictionary<JsonSchema, SchemaImplementationDetails>();
- var decorator = new ArraySchemaDecorator();
- var internalClassProvider = new ObjectInternalClassProvider();
- CodeTypeDeclaration declaration = null;
-
- var schema = new MockSchema();
- schema.Name = "test";
- schema.SchemaDetails = null;
- Assert.Throws(
- typeof(ArgumentNullException),
- () => decorator.DecorateClass(new CodeTypeDeclaration(), schema, implDetails, internalClassProvider));
-
- schema.SchemaDetails = new JsonSchema();
- schema.SchemaDetails.Type = JsonSchemaType.Float;
- Assert.DoesNotThrow(
- () =>
- decorator.DecorateClass(
- declaration = new CodeTypeDeclaration(), schema, implDetails, internalClassProvider));
- Assert.That(declaration.BaseTypes.Count, Is.EqualTo(0));
-
- schema.SchemaDetails.Type = JsonSchemaType.Array;
- schema.SchemaDetails.Items = new List<JsonSchema>();
- schema.SchemaDetails.Items.Add(new JsonSchema());
- schema.SchemaDetails.Items.Add(new JsonSchema());
- Assert.DoesNotThrow(
- () =>
- decorator.DecorateClass(
- declaration = new CodeTypeDeclaration(), schema, implDetails, internalClassProvider));
- Assert.That(declaration.BaseTypes.Count, Is.EqualTo(0));
- }
- }
-}

Powered by Google App Engine
RSS Feeds Recent Issues | This issue
This is Rietveld f62528b