< Summary

Class:Willykc.Templ.Editor.Scaffold.TemplDynamicScaffold
Assembly:Willykc.Templ.Editor
File(s):/github/workspace/Packages/package.to.test/Editor/Scaffold/TemplDynamicScaffold.cs
Covered lines:10
Uncovered lines:0
Coverable lines:10
Total lines:65
Line coverage:100% (10 of 10)
Covered branches:0
Total branches:0
Covered methods:6
Total methods:6
Method coverage:100% (6 of 6)

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity NPath complexity Sequence coverage
ContainsTemplate(...)0%110100%
Deserialize(...)0%110100%
Reset()0%110100%

File(s)

/github/workspace/Packages/package.to.test/Editor/Scaffold/TemplDynamicScaffold.cs

#LineLine coverage
 1/*
 2 * Copyright (c) 2024 Willy Alberto Kuster
 3 *
 4 * Permission is hereby granted, free of charge, to any person obtaining a copy
 5 * of this software and associated documentation files (the "Software"), to deal
 6 * in the Software without restriction, including without limitation the rights
 7 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
 8 * copies of the Software, and to permit persons to whom the Software is
 9 * furnished to do so, subject to the following conditions:
 10 *
 11 * The above copyright notice and this permission notice shall be included in
 12 * all copies or substantial portions of the Software.
 13 *
 14 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 15 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 16 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
 17 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 18 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 19 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
 20 * THE SOFTWARE.
 21 */
 22using System;
 23using UnityEngine;
 24
 25namespace Willykc.Templ.Editor.Scaffold
 26{
 27    [CreateAssetMenu(
 28        fileName = NewPrefix + nameof(TemplDynamicScaffold),
 29        menuName = MenuName,
 30        order = 3)]
 31    public sealed class TemplDynamicScaffold : TemplScaffold
 32    {
 33        internal const string NameOfTreeTemplate = nameof(treeTemplate);
 34
 35        private const string MenuName = "Templ/Dynamic Scaffold Definition";
 36
 37        [SerializeField]
 38        private ScribanAsset treeTemplate;
 39
 40        [NonSerialized]
 41        private TemplScaffoldRoot innerRoot;
 42
 43        /// <summary>
 44        /// Scaffold YAML tree template.
 45        /// </summary>
 3246        public ScribanAsset TreeTemplate => treeTemplate;
 47
 3048        internal override TemplScaffoldRoot Root => innerRoot;
 49
 250        internal override bool IsValid => treeTemplate && !treeTemplate.HasErrors;
 51
 52        internal override bool ContainsTemplate(ScribanAsset template) =>
 253            treeTemplate == template;
 54
 55        internal void Deserialize(string fromText) =>
 1056            innerRoot = TemplScaffoldYamlSerializer.DeserializeTree(fromText);
 57
 58        private new void Reset()
 959        {
 960            base.Reset();
 961            treeTemplate = null;
 962            innerRoot = null;
 963        }
 64    }
 65}