Beispiel #1
0
            public async Task GetsObjectFromContextDelegate()
            {
                // Given
                TestDocument document     = new TestDocument();
                GenerateJson generateJson = new GenerateJson(_jsonObject);

                // When
                TestDocument result = await ExecuteAsync(document, generateJson).SingleAsync();

                // Then
                result.Content.ShouldBe(_jsonContent, StringCompareShould.IgnoreLineEndings);
            }
    public override void OnInspectorGUI()
    {
        GenerateJson generateJsonScript = (GenerateJson)target;

        path = AssetDatabase.GetAssetPath(generateJsonScript.levelJsonFile);

        base.DrawDefaultInspector();

        if (GUILayout.Button("Generate Json"))
        {
            SaveLevelJson(generateJsonScript.GenerateLevelJson());
        }
    }
Beispiel #3
0
            public void GetsObjectFromContextDelegate()
            {
                // Given
                TestExecutionContext context      = new TestExecutionContext();
                TestDocument         document     = new TestDocument();
                GenerateJson         generateJson = new GenerateJson(ctx => _jsonObject);

                // When
                IList <IDocument> results = generateJson.Execute(new[] { document }, context).ToList();  // Make sure to materialize the result list

                // Then
                results.Select(x => x.Content).Single().ShouldBe(_jsonContent, StringCompareShould.IgnoreLineEndings);
            }
Beispiel #4
0
            public void GetsObjectFromContextDelegate()
            {
                // Given
                TestExecutionContext context      = new TestExecutionContext();
                TestDocument         document     = new TestDocument();
                GenerateJson         generateJson = new GenerateJson(ctx => _jsonObject);

                // When
                IList <IDocument> results = generateJson.Execute(new[] { document }, context).ToList();  // Make sure to materialize the result list

                // Then
                Assert.That(results.Select(x => x.Content), Is.EquivalentTo(new[] { _jsonContent }));
            }
Beispiel #5
0
            public void GetsObjectFromContextDelegate()
            {
                // Given
                IExecutionContext context = Substitute.For<IExecutionContext>();
                IDocument document = Substitute.For<IDocument>();
                GenerateJson generateJson = new GenerateJson(ctx => JsonObject);

                // When
                generateJson.Execute(new[] { document }, context).ToList();  // Make sure to materialize the result list

                // Then
                context.Received(1).GetDocument(Arg.Any<IDocument>(), Arg.Any<string>());
                context.Received().GetDocument(document, Arg.Is(JsonContent));
            }
Beispiel #6
0
            public void GetsObjectFromContextDelegate()
            {
                // Given
                IExecutionContext context      = Substitute.For <IExecutionContext>();
                IDocument         document     = Substitute.For <IDocument>();
                GenerateJson      generateJson = new GenerateJson(ctx => JsonObject);

                // When
                generateJson.Execute(new[] { document }, context).ToList();  // Make sure to materialize the result list

                // Then
                context.Received(1).GetDocument(Arg.Any <IDocument>(), Arg.Any <string>());
                context.Received().GetDocument(document, Arg.Is(JsonContent));
            }
Beispiel #7
0
        public void GetsObjectFromDocumentDelegate()
        {
            // Given
            IDocument document = Substitute.For<IDocument>();
            document.Get("JsonObject").Returns(JsonObject);
            GenerateJson generateJson = new GenerateJson((doc, ctx) => doc.Get("JsonObject"));

            // When
            generateJson.Execute(new[] { document }, null).ToList();  // Make sure to materialize the result list

            // Then
            document.Received(1).Clone(Arg.Any<string>());
            document.Received().Clone(Arg.Is(JsonContent));
        }
Beispiel #8
0
            public async Task SetsMetadataKey()
            {
                // Given
                TestDocument document = new TestDocument(new MetadataItems
                {
                    { "JsonObject", _jsonObject }
                });
                GenerateJson generateJson = new GenerateJson("JsonObject", "OutputKey");

                // When
                TestDocument result = await ExecuteAsync(document, generateJson).SingleAsync();

                // Then
                result["OutputKey"].ToString().ShouldBe(_jsonContent, StringCompareShould.IgnoreLineEndings);
            }
Beispiel #9
0
            public async Task GetsObjectFromDocumentDelegate()
            {
                // Given
                TestDocument document = new TestDocument(new MetadataItems
                {
                    { "JsonObject", _jsonObject }
                });
                GenerateJson generateJson = new GenerateJson(Config.FromDocument(doc => doc.Get("JsonObject")));

                // When
                TestDocument result = await ExecuteAsync(document, generateJson).SingleAsync();

                // Then
                result.Content.ShouldBe(_jsonContent, StringCompareShould.IgnoreLineEndings);
            }
Beispiel #10
0
            public async Task GeneratesCamelCasePropertyNames()
            {
                // Given
                TestDocument document = new TestDocument(new MetadataItems
                {
                    { "JsonObject", _jsonObject }
                });
                GenerateJson generateJson = new GenerateJson("JsonObject").WithCamelCase();

                // When
                TestDocument result = await ExecuteAsync(document, generateJson).SingleAsync();

                // Then
                result.Content.ShouldBe(_camelCaseJsonContent, StringCompareShould.IgnoreLineEndings);
            }
Beispiel #11
0
            public void GeneratesCamelCasePropertyNames()
            {
                // Given
                TestExecutionContext context  = new TestExecutionContext();
                TestDocument         document = new TestDocument(new MetadataItems
                {
                    { "JsonObject", _jsonObject }
                });
                GenerateJson generateJson = new GenerateJson("JsonObject").WithCamelCase();

                // When
                IList <IDocument> results = generateJson.Execute(new[] { document }, context).ToList();  // Make sure to materialize the result list

                // Then
                Assert.That(results.Select(x => x.Content), Is.EquivalentTo(new[] { _camelCaseJsonContent }));
            }
Beispiel #12
0
            public void GeneratesCamelCasePropertyNames()
            {
                // Given
                TestExecutionContext context  = new TestExecutionContext();
                TestDocument         document = new TestDocument(new MetadataItems
                {
                    { "JsonObject", _jsonObject }
                });
                GenerateJson generateJson = new GenerateJson("JsonObject").WithCamelCase();

                // When
                IList <IDocument> results = generateJson.Execute(new[] { document }, context).ToList();  // Make sure to materialize the result list

                // Then
                results.Select(x => x.Content).Single().ToString().ShouldBe(_camelCaseJsonContent, StringCompareShould.IgnoreLineEndings);
            }
Beispiel #13
0
            public void DoesNotIndent()
            {
                // Given
                IExecutionContext context = Substitute.For<IExecutionContext>();
                IDocument document = Substitute.For<IDocument>();
                document.Get("JsonObject").Returns(JsonObject);
                GenerateJson generateJson = new GenerateJson("JsonObject").WithIndenting(false);
                string nonIndentedJsonContent = JsonContent.Replace(" ", "").Replace("\r\n", "");

                // When
                generateJson.Execute(new[] { document }, context).ToList();  // Make sure to materialize the result list

                // Then
                context.Received(1).GetDocument(Arg.Any<IDocument>(), Arg.Any<string>());
                context.Received().GetDocument(document, Arg.Is(nonIndentedJsonContent));
            }
Beispiel #14
0
            public void SetsMetadataKey()
            {
                // Given
                TestExecutionContext context  = new TestExecutionContext();
                TestDocument         document = new TestDocument(new MetadataItems
                {
                    { "JsonObject", _jsonObject }
                });
                GenerateJson generateJson = new GenerateJson("JsonObject", "OutputKey");

                // When
                IList <IDocument> results = generateJson.Execute(new[] { document }, context).ToList();  // Make sure to materialize the result list

                // Then
                results.Select(x => x.First(y => y.Key == "OutputKey").Value).Single().ToString()
                .ShouldBe(_jsonContent, StringCompareShould.IgnoreLineEndings);
            }
Beispiel #15
0
            public void DoesNotIndent()
            {
                // Given
                TestExecutionContext context  = new TestExecutionContext();
                TestDocument         document = new TestDocument(new MetadataItems
                {
                    { "JsonObject", _jsonObject }
                });
                GenerateJson generateJson           = new GenerateJson("JsonObject").WithIndenting(false);
                string       nonIndentedJsonContent = _jsonContent.Replace(" ", string.Empty).Replace("\r\n", string.Empty);

                // When
                IList <IDocument> results = generateJson.Execute(new[] { document }, context).ToList();  // Make sure to materialize the result list

                // Then
                Assert.That(results.Select(x => x.Content), Is.EquivalentTo(new[] { nonIndentedJsonContent }));
            }
Beispiel #16
0
            public void DoesNotIndent()
            {
                // Given
                TestExecutionContext context  = new TestExecutionContext();
                TestDocument         document = new TestDocument(new MetadataItems
                {
                    { "JsonObject", _jsonObject }
                });
                GenerateJson generateJson           = new GenerateJson("JsonObject").WithIndenting(false);
                string       nonIndentedJsonContent = _jsonContent.Replace(" ", string.Empty).Replace("\r\n", string.Empty);

                // When
                IList <IDocument> results = generateJson.Execute(new[] { document }, context).ToList();  // Make sure to materialize the result list

                // Then
                results.Select(x => x.Content).Single().ToString().ShouldBe(nonIndentedJsonContent, StringCompareShould.IgnoreLineEndings);
            }
Beispiel #17
0
            public void DoesNotIndent()
            {
                // Given
                IExecutionContext context  = Substitute.For <IExecutionContext>();
                IDocument         document = Substitute.For <IDocument>();

                document.Get("JsonObject").Returns(JsonObject);
                GenerateJson generateJson           = new GenerateJson("JsonObject").WithIndenting(false);
                string       nonIndentedJsonContent = JsonContent.Replace(" ", "").Replace("\r\n", "");

                // When
                generateJson.Execute(new[] { document }, context).ToList();  // Make sure to materialize the result list

                // Then
                context.Received(1).GetDocument(Arg.Any <IDocument>(), Arg.Any <string>());
                context.Received().GetDocument(document, Arg.Is(nonIndentedJsonContent));
            }
Beispiel #18
0
            public void SetsMetadataKey()
            {
                // Given
                IExecutionContext context  = Substitute.For <IExecutionContext>();
                IDocument         document = Substitute.For <IDocument>();

                document.Get("JsonObject").Returns(JsonObject);
                GenerateJson generateJson = new GenerateJson("JsonObject", "OutputKey");

                // When
                generateJson.Execute(new[] { document }, context).ToList();  // Make sure to materialize the result list

                // Then
                context.Received(1).GetDocument(Arg.Any <IDocument>(), Arg.Any <IEnumerable <KeyValuePair <string, object> > >());
                context.Received().GetDocument(document, Arg.Is <IEnumerable <KeyValuePair <string, object> > >(
                                                   x => x.First().Key == "OutputKey" && (string)x.First().Value == JsonContent));
            }
Beispiel #19
0
            public void SetsMetadataKey()
            {
                // Given
                TestExecutionContext context  = new TestExecutionContext();
                TestDocument         document = new TestDocument(new MetadataItems
                {
                    { "JsonObject", _jsonObject }
                });
                GenerateJson generateJson = new GenerateJson("JsonObject", "OutputKey");

                // When
                IList <IDocument> results = generateJson.Execute(new[] { document }, context).ToList();  // Make sure to materialize the result list

                // Then
                Assert.That(
                    results.Select(x => x.First(y => y.Key == "OutputKey")),
                    Is.EquivalentTo(new[] { new KeyValuePair <string, object>("OutputKey", _jsonContent) }));
            }
Beispiel #20
0
            public void SerializesMetadataObjectWithCamelCase()
            {
                // Given
                TestExecutionContext context  = new TestExecutionContext();
                TestDocument         document = new TestDocument(new MetadataItems
                {
                    { "Foo", "fuz" },
                    { "Bar", "baz" }
                });
                GenerateJson generateJson = new GenerateJson((doc, ctx) => doc.GetMetadata("Bar")).WithCamelCase();

                // When
                IList <IDocument> results = generateJson.Execute(new[] { document }, context).ToList();  // Make sure to materialize the result list

                // Then
                Assert.That(results.Select(x => x.Content), Is.EquivalentTo(new[] { @"{
  ""bar"": ""baz""
}" }));
            }
Beispiel #21
0
            public async Task DoesNotIndent()
            {
                // Given
                TestDocument document = new TestDocument(new MetadataItems
                {
                    { "JsonObject", _jsonObject }
                });
                GenerateJson generateJson           = new GenerateJson("JsonObject").WithIndenting(false);
                string       nonIndentedJsonContent = _jsonContent
                                                      .Replace(" ", string.Empty)
                                                      .Replace("\r\n", string.Empty)
                                                      .Replace("\n", string.Empty);

                // When
                TestDocument result = await ExecuteAsync(document, generateJson).SingleAsync();

                // Then
                result.Content.ShouldBe(nonIndentedJsonContent, StringCompareShould.IgnoreLineEndings);
            }
Beispiel #22
0
            public async Task SerializesMetadataKeys()
            {
                // Given
                TestDocument document = new TestDocument(new MetadataItems
                {
                    { "Foo", "fuz" },
                    { "Bar", "baz" }
                });
                GenerateJson generateJson = new GenerateJson(new[] { "Bar" });

                // When
                TestDocument result = await ExecuteAsync(document, generateJson).SingleAsync();

                // Then
                result.Content.ShouldBe(
                    @"{
  ""Bar"": ""baz""
}",
                    StringCompareShould.IgnoreLineEndings);
            }
Beispiel #23
0
            public async Task SerializesMetadataObjectWithCamelCase()
            {
                // Given
                TestDocument document = new TestDocument(new MetadataItems
                {
                    { "Foo", "fuz" },
                    { "Bar", "baz" }
                });
                GenerateJson generateJson = new GenerateJson(Config.FromDocument(doc => (object)doc.GetMetadata("Bar"))).WithCamelCase();

                // When
                TestDocument result = await ExecuteAsync(document, generateJson).SingleAsync();

                // Then
                result.Content.ShouldBe(
                    @"{
  ""bar"": ""baz""
}",
                    StringCompareShould.IgnoreLineEndings);
            }
Beispiel #24
0
            public void SerializesMetadataObjectWithCamelCase()
            {
                // Given
                TestExecutionContext context  = new TestExecutionContext();
                TestDocument         document = new TestDocument(new MetadataItems
                {
                    { "Foo", "fuz" },
                    { "Bar", "baz" }
                });
                GenerateJson generateJson = new GenerateJson((doc, ctx) => doc.GetMetadata("Bar")).WithCamelCase();

                // When
                IList <IDocument> results = generateJson.Execute(new[] { document }, context).ToList();  // Make sure to materialize the result list

                // Then
                results.Select(x => x.Content).Single().ShouldBe(
                    @"{
  ""bar"": ""baz""
}",
                    StringCompareShould.IgnoreLineEndings);
            }
Beispiel #25
0
            public void SetsMetadataKey()
            {
                // Given
                IExecutionContext context = Substitute.For<IExecutionContext>();
                IDocument document = Substitute.For<IDocument>();
                document.Get("JsonObject").Returns(JsonObject);
                GenerateJson generateJson = new GenerateJson("JsonObject", "OutputKey");

                // When
                generateJson.Execute(new[] { document }, context).ToList();  // Make sure to materialize the result list

                // Then
                context.Received(1).GetDocument(Arg.Any<IDocument>(), Arg.Any<IEnumerable<KeyValuePair<string, object>>>());
                context.Received().GetDocument(document, Arg.Is<IEnumerable<KeyValuePair<string, object>>>(
                    x => x.First().Key == "OutputKey" && (string)x.First().Value == JsonContent));
            }
Beispiel #26
0
        public void SetsMetadataKey()
        {
            // Given
            IDocument document = Substitute.For<IDocument>();
            document.Get("JsonObject").Returns(JsonObject);
            GenerateJson generateJson = new GenerateJson("JsonObject", "OutputKey");

            // When
            generateJson.Execute(new[] { document }, null).ToList();  // Make sure to materialize the result list

            // Then
            document.Received(1).Clone(Arg.Any<MetadataItems>());
            document.Received().Clone(Arg.Is<MetadataItems>(
                x => x.First().Key == "OutputKey" && (string)x.First().Value == JsonContent));
        }