Skip to content

Commit 35037ce

Browse files
committed
equipment container reference test added
1 parent 70b2f62 commit 35037ce

File tree

3 files changed

+1893
-4
lines changed

3 files changed

+1893
-4
lines changed

src/CIM.Mapper.Tests/TinyNetwork/NetSam1_3/MapNetSamDataTests.cs

Lines changed: 58 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,22 +15,22 @@ namespace CIM.Mapper.Tests.TinyNetwork.NetSam1_3
1515
public class MapNetSamDataTests
1616
{
1717
[Fact]
18-
public async Task MapTinyNetworkToCim100()
18+
public async Task TinyNetworkToCim100_NoErrorsExpected()
1919
{
2020
string rootFolder = @"../../../TinyNetwork/NetSam1_3";
21-
2221
var mapperConfigFile = $"{rootFolder}/mapper_config.xml";
22+
var inputCimFile = "tiny_network_netsam_1_3_no_errors.xml";
2323

2424
if (File.Exists(mapperConfigFile))
2525
{
26-
2726
Log.Logger = new LoggerConfiguration().WriteTo.Debug().CreateLogger();
2827
Serilog.Debugging.SelfLog.Enable(msg => Debug.WriteLine(msg));
2928

3029
Logger.WriteToConsole = false;
31-
3230
var config = new TransformationConfig().LoadFromFile(mapperConfigFile);
3331

32+
config.DataReaders.First().ConfigParameters.First().Value = rootFolder + "/data/" + inputCimFile;
33+
3434
var transformer = config.InitializeDataTransformer("test");
3535

3636
transformer.TransferData();
@@ -83,6 +83,60 @@ public async Task MapTinyNetworkToCim100()
8383
}
8484
}
8585

86+
[Fact]
87+
public async Task TinyNetworkToCim100_MissingBayError()
88+
{
89+
string rootFolder = @"../../../TinyNetwork/NetSam1_3";
90+
var mapperConfigFile = $"{rootFolder}/mapper_config.xml";
91+
var inputCimFile = "tiny_network_netsam_1_3_missing_bay_error.xml";
92+
93+
if (File.Exists(mapperConfigFile))
94+
{
95+
Log.Logger = new LoggerConfiguration().WriteTo.Debug().CreateLogger();
96+
Serilog.Debugging.SelfLog.Enable(msg => Debug.WriteLine(msg));
97+
98+
Logger.WriteToConsole = false;
99+
var config = new TransformationConfig().LoadFromFile(mapperConfigFile);
100+
101+
config.DataReaders.First().ConfigParameters.First().Value = rootFolder + "/data/" + inputCimFile;
102+
103+
var transformer = config.InitializeDataTransformer("test");
104+
105+
transformer.TransferData();
106+
107+
CIMGraphWriter writer = transformer.GetFirstDataWriter() as CIMGraphWriter;
108+
CIMGraph graph = writer.GetCIMGraph();
109+
110+
string mapperOutputFileName = $"{rootFolder}/data/mapper_ouput.jsonl";
111+
112+
// Serialize to CIM 100 (jsonl file)
113+
var serializer = config.InitializeSerializer("CIM100") as IDAXSerializeable;
114+
115+
var stopWatch = Stopwatch.StartNew();
116+
117+
var result = ((CIM100Serializer)serializer).GetIdentifiedObjects(CIMMetaDataManager.Repository, graph.CIMObjects, true, true, true).ToList();
118+
119+
using (var destination = File.Open(mapperOutputFileName, FileMode.Create))
120+
{
121+
using (var source = new CsonSerializer().SerializeObjects(result))
122+
{
123+
source.CopyTo(destination);
124+
}
125+
}
126+
127+
// Run validator
128+
string validatorOutputFileName = $"{rootFolder}/data/validator_ouput.jsonl";
129+
130+
await Validator.CLI.Program.Main(new string[] { $"--input-file={mapperOutputFileName}", $"--output-file={validatorOutputFileName}" });
131+
132+
// This is a hack for now, I'll handle it better in the future where it does not do a contains.
133+
var validatorLines = File.ReadAllLines(validatorOutputFileName).Where(x => x.Contains("\"Severity\":\"Error\"")).ToList();
134+
135+
// The input file should have no errors
136+
Assert.True(validatorLines.Count == 2, "Expected no validation errors, but apparently the validator disagree");
137+
}
138+
}
139+
86140
[Fact]
87141
public async Task MapNetSamToCim100()
88142
{

0 commit comments

Comments
 (0)