< Summary

Line coverage
100%
Covered lines: 25
Uncovered lines: 0
Coverable lines: 25
Total lines: 77
Line coverage: 100%
Branch coverage
100%
Covered branches: 6
Total branches: 6
Branch coverage: 100%
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity Line coverage
.ctor()100%11100%
get_HeaderText()100%11100%
get_Materials()100%11100%
FromFile(...)100%22100%
FromStream(...)100%11100%
FromStream(...)100%11100%
WriteTo(...)100%22100%
WriteTo(...)100%22100%

File(s)

https://raw.githubusercontent.com/JeremyAnsel/JeremyAnsel.Media.WavefrontObj/636b700b450d7d3262bf9218a7cc67966be4ced8/JeremyAnsel.Media.WavefrontObj/JeremyAnsel.Media.WavefrontObj/ObjMaterialFile.cs

#LineLine coverage
 1// <copyright file="ObjMaterialFile.cs" company="Jérémy Ansel">
 2// Copyright (c) 2017, 2019 Jérémy Ansel
 3// </copyright>
 4// <license>
 5// Licensed under the MIT license. See LICENSE.txt
 6// </license>
 7
 8using System.Text;
 9
 10namespace JeremyAnsel.Media.WavefrontObj
 11{
 12    public class ObjMaterialFile
 13    {
 156414        public ObjMaterialFile()
 15        {
 156416            this.Materials = new List<ObjMaterial>();
 156417        }
 18
 99619        public string? HeaderText { get; set; }
 20
 21        [System.Diagnostics.DebuggerBrowsable(System.Diagnostics.DebuggerBrowsableState.RootHidden)]
 582822        public List<ObjMaterial> Materials { get; private set; }
 23
 24        public static ObjMaterialFile FromFile(string? path)
 25        {
 826            if (path == null)
 27            {
 428                throw new ArgumentNullException(nameof(path));
 29            }
 30
 431            using (var stream = new FileStream(path, FileMode.Open, FileAccess.Read, FileShare.Read))
 32            {
 33#if NET6_0_OR_GREATER
 334                return ObjMaterialFileReader9.FromStream(stream);
 35#else
 136                return ObjMaterialFileReader.FromStream(stream);
 37#endif
 38            }
 439        }
 40
 41        public static ObjMaterialFile FromStream(Stream? stream)
 42        {
 43#if NET6_0_OR_GREATER
 93644            return ObjMaterialFileReader9.FromStream(stream);
 45#else
 31246            return ObjMaterialFileReader.FromStream(stream);
 47#endif
 48        }
 49
 50        public void WriteTo(string? path)
 51        {
 852            if (path == null)
 53            {
 454                throw new ArgumentNullException(nameof(path));
 55            }
 56
 457            using (var writer = new StreamWriter(path))
 58            {
 459                ObjMaterialFileWriter.Write(this, writer);
 460            }
 461        }
 62
 63        public void WriteTo(Stream? stream)
 64        {
 30865            if (stream == null)
 66            {
 467                throw new ArgumentNullException(nameof(stream));
 68            }
 69
 30470            using (var writer = new StreamWriter(stream, new UTF8Encoding(false, true), 1024, true))
 71            {
 30472                ObjMaterialFileWriter.Write(this, writer);
 30473            }
 30474        }
 75    }
 76}
 77