Skip to content

Commit 539a663

Browse files
author
Smiechowski Nathanael
authored
Merge pull request #68 from RHEAGROUP/development
1.3.0
2 parents 934f564 + db19b81 commit 539a663

65 files changed

Lines changed: 4580 additions & 865 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
// --------------------------------------------------------------------------------------------------------------------
2+
// <copyright file="TreeListSortingBehaviorTestFixture.cs" company="RHEA System S.A.">
3+
// Copyright (c) 2020-2022 RHEA System S.A.
4+
//
5+
// Author: Sam Gerené, Alex Vorobiev, Alexander van Delft, Nathanael Smiechowski, Antoine Théate.
6+
//
7+
// This file is part of DEHPMatlab
8+
//
9+
// The DEHPMatlab is free software; you can redistribute it and/or
10+
// modify it under the terms of the GNU Lesser General Public
11+
// License as published by the Free Software Foundation; either
12+
// version 3 of the License, or (at your option) any later version.
13+
//
14+
// The DEHPMatlab is distributed in the hope that it will be useful,
15+
// but WITHOUT ANY WARRANTY; without even the implied warranty of
16+
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
17+
// Lesser General Public License for more details.
18+
//
19+
// You should have received a copy of the GNU Lesser General Public License
20+
// along with this program; if not, write to the Free Software Foundation,
21+
// Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
22+
// </copyright>
23+
// --------------------------------------------------------------------------------------------------------------------
24+
25+
namespace DEHPMatlab.Tests.Behaviors
26+
{
27+
using DEHPMatlab.Behaviors;
28+
29+
using DevExpress.Xpf.Grid;
30+
using DevExpress.Xpf.Grid.TreeList;
31+
32+
using NUnit.Framework;
33+
34+
public class TreeListSortingBehaviorTestFixture
35+
{
36+
private TreeListSortingBehavior sortingBehavior;
37+
private TreeListCustomColumnSortEventArgs argsNullsValue;
38+
private TreeListCustomColumnSortEventArgs argsNullValue1;
39+
private TreeListCustomColumnSortEventArgs argsNullValue2;
40+
private TreeListCustomColumnSortEventArgs argsSameType;
41+
private TreeListCustomColumnSortEventArgs argsNotSameType;
42+
private TreeListCustomColumnSortEventArgs argsTwoDecimalTypes;
43+
44+
[SetUp]
45+
public void Setup()
46+
{
47+
this.sortingBehavior = new TreeListSortingBehavior();
48+
this.argsNullsValue = new TreeListCustomColumnSortEventArgs(new GridColumn(), new TreeListNode(), new TreeListNode(), null, null);
49+
this.argsNullValue1 = new TreeListCustomColumnSortEventArgs(new GridColumn(), new TreeListNode(), new TreeListNode(), 2, null);
50+
this.argsNullValue2 = new TreeListCustomColumnSortEventArgs(new GridColumn(), new TreeListNode(), new TreeListNode(), null, 2);
51+
this.argsSameType = new TreeListCustomColumnSortEventArgs(new GridColumn(), new TreeListNode(), new TreeListNode(), 0.2, 0.3);
52+
this.argsNotSameType = new TreeListCustomColumnSortEventArgs(new GridColumn(), new TreeListNode(), new TreeListNode(), "4E-05", (int)1);
53+
this.argsTwoDecimalTypes = new TreeListCustomColumnSortEventArgs(new GridColumn(), new TreeListNode(), new TreeListNode(), 0.2, (int)1);
54+
}
55+
56+
[Test]
57+
public void VerifyTwoObjectComparision()
58+
{
59+
Assert.DoesNotThrow(() => this.sortingBehavior.AssociatedObject_CustomColumnSort(null, this.argsNullsValue));
60+
Assert.DoesNotThrow(() => this.sortingBehavior.AssociatedObject_CustomColumnSort(null, this.argsNullValue1));
61+
Assert.DoesNotThrow(() => this.sortingBehavior.AssociatedObject_CustomColumnSort(null, this.argsNullValue2));
62+
Assert.DoesNotThrow(() => this.sortingBehavior.AssociatedObject_CustomColumnSort(null, this.argsSameType));
63+
Assert.DoesNotThrow(() => this.sortingBehavior.AssociatedObject_CustomColumnSort(null, this.argsNotSameType));
64+
Assert.DoesNotThrow(() => this.sortingBehavior.AssociatedObject_CustomColumnSort(null, this.argsTwoDecimalTypes));
65+
}
66+
}
67+
}

DEHPMatlab.Tests/DstController/DstControllerTestFixture.cs

Lines changed: 72 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,9 @@ namespace DEHPMatlab.Tests.DstController
5454
using DEHPMatlab.Services.MappingConfiguration;
5555
using DEHPMatlab.Services.MatlabConnector;
5656
using DEHPMatlab.Services.MatlabParser;
57+
using DEHPMatlab.ViewModel.Dialogs;
5758
using DEHPMatlab.ViewModel.Row;
59+
using DEHPMatlab.Views.Dialogs;
5860

5961
using Moq;
6062

@@ -130,6 +132,10 @@ public void Setup()
130132
this.hubController.Setup(x => x.Write(It.IsAny<ThingTransaction>())).Returns(Task.CompletedTask);
131133

132134
this.navigationService = new Mock<INavigationService>();
135+
136+
this.navigationService.Setup(x =>
137+
x.ShowDxDialog<DuplicatedInputsWarningDialog, DuplicatedInputsWarningDialogViewModel>(It.IsAny<DuplicatedInputsWarningDialogViewModel>()))
138+
.Returns(true);
133139

134140
this.exchangeHistory = new Mock<IExchangeHistoryService>();
135141

@@ -308,7 +314,7 @@ public void VerifyTransferMappedThingsToHub()
308314
}
309315
};
310316

311-
this.dstController.SelectedDstMapResultToTransfer.Add(elementDefinition);
317+
this.dstController.SelectedDstMapResultToTransfer.Add(parameter);
312318

313319
var parameterOverride = new ParameterOverride(Guid.NewGuid(), null, null)
314320
{
@@ -320,37 +326,47 @@ public void VerifyTransferMappedThingsToHub()
320326
Computed = new ValueArray<string>(new[] { "654321" }),
321327
ValueSwitch = ParameterSwitchKind.COMPUTED
322328
}
323-
}
329+
},
330+
Container = new ElementUsage()
324331
};
325332

326-
this.dstController.SelectedDstMapResultToTransfer.Add(new ElementUsage
327-
{
328-
ElementDefinition = elementDefinition,
329-
ParameterOverride =
330-
{
331-
parameterOverride
332-
}
333-
});
333+
this.dstController.SelectedDstMapResultToTransfer.Add(parameterOverride);
334334

335335
var param = new Parameter()
336336
{
337-
ParameterType = new BooleanParameterType()
337+
ParameterType = new BooleanParameterType(),
338+
Container = new ElementDefinition()
338339
};
339340

340341
var variable = new MatlabWorkspaceRowViewModel("a", 0)
341342
{
342-
SelectedParameter = param,
343-
SelectedParameterType = param.ParameterType
343+
SelectedParameter = parameter,
344+
SelectedParameterType = parameter.ParameterType,
345+
SelectedCoordinateSystem = param
344346
};
345347

346-
this.dstController.ParameterVariable.Add(param, variable);
348+
this.dstController.ParameterVariable.Add(parameterOverride, variable);
349+
this.dstController.ParameterVariable.Add(parameter, variable);
347350

348351
this.hubController.Setup(x =>
349352
x.GetThingById(It.IsAny<Guid>(), It.IsAny<Iteration>(), out parameter));
350353

351354
this.hubController.Setup(x =>
352355
x.GetThingById(parameterOverride.Iid, It.IsAny<Iteration>(), out parameterOverride));
353356

357+
var paramAsThing = (Thing) param;
358+
var parameterAsThing = (Thing) parameter;
359+
var parameterOverrideAsThing = (Thing) parameterOverride;
360+
361+
this.hubController.Setup(x =>
362+
x.GetThingById(paramAsThing.Iid, It.IsAny<Iteration>(), out paramAsThing));
363+
364+
this.hubController.Setup(x =>
365+
x.GetThingById(parameterAsThing.Iid, It.IsAny<Iteration>(), out parameterAsThing));
366+
367+
this.hubController.Setup(x =>
368+
x.GetThingById(parameterOverrideAsThing.Iid, It.IsAny<Iteration>(), out parameterOverrideAsThing));
369+
354370
Assert.DoesNotThrowAsync(async () => await this.dstController.TransferMappedThingsToHub());
355371

356372
this.navigationService.Setup(
@@ -386,10 +402,27 @@ public void VerifyTransferMappedThingsToHub()
386402
x => x.Refresh(), Times.Exactly(1));
387403

388404
this.exchangeHistory.Verify(x =>
389-
x.Append(It.IsAny<Thing>(), It.IsAny<ChangeKind>()), Times.Exactly(3));
405+
x.Append(It.IsAny<Thing>(), It.IsAny<ChangeKind>()), Times.Exactly(5));
390406

391407
this.exchangeHistory.Verify(x =>
392408
x.Append(It.IsAny<ParameterValueSetBase>(), It.IsAny<IValueSet>()), Times.Exactly(2));
409+
410+
this.iteration.Relationship.Add(new BinaryRelationship()
411+
{
412+
Iid = new Guid(),
413+
Owner = this.hubController.Object.CurrentDomainOfExpertise,
414+
Target = parameterOverrideAsThing,
415+
Source = parameterAsThing,
416+
Name = "CoordinateSystemReference"
417+
});
418+
419+
this.dstController.ParameterVariable.Add(parameter, variable);
420+
this.dstController.SelectedDstMapResultToTransfer.Add(parameter);
421+
422+
Assert.DoesNotThrowAsync(async () => await this.dstController.TransferMappedThingsToHub());
423+
424+
this.exchangeHistory.Verify(x =>
425+
x.Append(It.IsAny<Thing>(), It.IsAny<ChangeKind>()), Times.Exactly(8));
393426
}
394427

395428
[Test]
@@ -488,6 +521,8 @@ public void VerifyLoadMapping()
488521
}
489522
});
490523

524+
this.dstController.MatlabAllWorkspaceRowViewModels.Add(variableRowViewModels.Last());
525+
491526
Assert.DoesNotThrow(() => this.dstController.LoadMapping());
492527
}
493528

@@ -554,9 +589,17 @@ public void VerifySampledFunctionTransferToDst()
554589

555590
this.dstController.MatlabWorkspaceInputRowViewModels.AddRange(variable.UnwrapVariableRowViewModels());
556591
variable = this.dstController.MatlabWorkspaceInputRowViewModels.First(x => x.Name == "anArrayVariable");
592+
variable.SampledFunctionParameterParameterAssignementToDstRows.Clear();
593+
594+
variable.SampledFunctionParameterParameterAssignementToDstRows.Add(new SampledFunctionParameterParameterAssignementRowViewModel("0")
595+
{
596+
SelectedParameterTypeAssignment = sampledFunction.IndependentParameterType[0]
597+
});
557598

558-
variable.SampledFunctionParameterParameterAssignementRows[0].SelectedParameterTypeAssignment = sampledFunction.IndependentParameterType[0];
559-
variable.SampledFunctionParameterParameterAssignementRows[1].SelectedParameterTypeAssignment = sampledFunction.DependentParameterType[0];
599+
variable.SampledFunctionParameterParameterAssignementToDstRows.Add(new SampledFunctionParameterParameterAssignementRowViewModel("1")
600+
{
601+
SelectedParameterTypeAssignment = sampledFunction.DependentParameterType[0]
602+
});
560603

561604
var mappedElement = new ParameterToMatlabVariableMappingRowViewModel(parameter.ValueSet.First(), 0, ParameterSwitchKind.COMPUTED)
562605
{
@@ -572,9 +615,18 @@ public void VerifySampledFunctionTransferToDst()
572615
var array = (Array) variableAfterTransfer.ArrayValue;
573616
Assert.AreEqual(3, array.GetLength(0));
574617

575-
variable.RowColumnSelection = RowColumnSelection.Row;
576-
variable.SampledFunctionParameterParameterAssignementRows[0].SelectedParameterTypeAssignment = sampledFunction.IndependentParameterType[0];
577-
variable.SampledFunctionParameterParameterAssignementRows[1].SelectedParameterTypeAssignment = sampledFunction.DependentParameterType[0];
618+
variable.RowColumnSelectionToDst = RowColumnSelection.Row;
619+
variable.SampledFunctionParameterParameterAssignementToDstRows.Clear();
620+
621+
variable.SampledFunctionParameterParameterAssignementToDstRows.Add(new SampledFunctionParameterParameterAssignementRowViewModel("0")
622+
{
623+
SelectedParameterTypeAssignment = sampledFunction.IndependentParameterType[0]
624+
});
625+
626+
variable.SampledFunctionParameterParameterAssignementToDstRows.Add(new SampledFunctionParameterParameterAssignementRowViewModel("1")
627+
{
628+
SelectedParameterTypeAssignment = sampledFunction.DependentParameterType[0]
629+
});
578630

579631
this.dstController.SelectedHubMapResultToTransfer.Add(mappedElement);
580632

DEHPMatlab.Tests/MappingRules/ElementDefinitionToMatlabVariableRuleTestFixture.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ public void Setup()
5757

5858
this.elements = new List<ParameterToMatlabVariableMappingRowViewModel>()
5959
{
60-
new ParameterToMatlabVariableMappingRowViewModel()
60+
new ()
6161
{
6262
SelectedMatlabVariable = new MatlabWorkspaceRowViewModel("a", 0.5d),
6363
SelectedParameter = new Parameter()
@@ -74,7 +74,7 @@ public void Setup()
7474
},
7575
SelectedValue = new ValueSetValueRowViewModel(new ParameterValueSet(), "5", null)
7676
},
77-
new ParameterToMatlabVariableMappingRowViewModel()
77+
new ()
7878
{
7979
SelectedMatlabVariable = new MatlabWorkspaceRowViewModel("c", "-45"),
8080
SelectedParameter = new Parameter()
@@ -104,7 +104,7 @@ public void Setup()
104104
},
105105
SelectedValue = new ValueSetValueRowViewModel(new ParameterValueSet(), "15", null)
106106
},
107-
new ParameterToMatlabVariableMappingRowViewModel()
107+
new ()
108108
{
109109
SelectedMatlabVariable = new MatlabWorkspaceRowViewModel("b", "-45"),
110110
SelectedOption = this.option1,

DEHPMatlab.Tests/MappingRules/MatlabVariableToElementDefinitionRuleTestFixture.cs

Lines changed: 89 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@ namespace DEHPMatlab.Tests.MappingRules
4040
using DEHPCommon;
4141
using DEHPCommon.HubController.Interfaces;
4242

43+
using DEHPMatlab.Enumerator;
4344
using DEHPMatlab.MappingRules;
4445
using DEHPMatlab.Services.MappingConfiguration;
4546
using DEHPMatlab.ViewModel.Row;
@@ -117,7 +118,7 @@ public void Setup()
117118

118119
this.variables = new List<MatlabWorkspaceRowViewModel>()
119120
{
120-
new MatlabWorkspaceRowViewModel("mass", 500)
121+
new ("mass", 500)
121122
{
122123
SelectedParameterType = this.scalarParameterType,
123124
SelectedScale = this.scale
@@ -391,7 +392,7 @@ public void VerifyUpdateValueSetSFPT()
391392
}
392393
};
393394

394-
var arrayValue = new object[2, 3];
395+
var arrayValue = new double[2, 3];
395396

396397
for (var i = 0; i < arrayValue.GetLength(0); i++)
397398
{
@@ -401,7 +402,13 @@ public void VerifyUpdateValueSetSFPT()
401402
}
402403
}
403404

404-
var variable = new MatlabWorkspaceRowViewModel("a", arrayValue);
405+
var variable = new MatlabWorkspaceRowViewModel("a", arrayValue)
406+
{
407+
SelectedTimeStep = 0.1
408+
};
409+
410+
variable.ApplyTimeStep();
411+
variable.SelectedTimeStep = 0;
405412

406413
var parameter = new Parameter()
407414
{
@@ -414,10 +421,87 @@ public void VerifyUpdateValueSetSFPT()
414421
Assert.DoesNotThrow(() => this.rule.UpdateValueSet(variable, parameter));
415422

416423
variable.UnwrapVariableRowViewModels();
417-
variable.SampledFunctionParameterParameterAssignementRows.First().IsDependantParameter = true;
418-
variable.SampledFunctionParameterParameterAssignementRows.Last().IsDependantParameter = false;
424+
variable.RowColumnSelectionToHub = RowColumnSelection.Row;
425+
variable.SampledFunctionParameterParameterAssignementToHubRows.Clear();
426+
427+
variable.SampledFunctionParameterParameterAssignementToHubRows.Add(new SampledFunctionParameterParameterAssignementRowViewModel("1")
428+
{
429+
SelectedParameterTypeAssignment = sfpt.IndependentParameterType.First()
430+
});
431+
432+
variable.SampledFunctionParameterParameterAssignementToHubRows.Add(new SampledFunctionParameterParameterAssignementRowViewModel("0")
433+
{
434+
SelectedParameterTypeAssignment = sfpt.DependentParameterType.First()
435+
});
436+
437+
Assert.DoesNotThrow(() => this.rule.UpdateValueSet(variable, parameter));
438+
Assert.AreEqual("2", parameter.ValueSet.First().Computed.First());
439+
440+
variable.SampledFunctionParameterParameterAssignementToHubRows.Clear();
441+
442+
variable.SampledFunctionParameterParameterAssignementToHubRows.AddRange(new []
443+
{
444+
new SampledFunctionParameterParameterAssignementRowViewModel("1")
445+
{
446+
SelectedParameterTypeAssignment = sfpt.IndependentParameterType.First(),
447+
IsTimeTaggedParameter = true
448+
},
449+
new SampledFunctionParameterParameterAssignementRowViewModel("0")
450+
{
451+
SelectedParameterTypeAssignment = sfpt.DependentParameterType.First()
452+
}
453+
});
454+
455+
variable.GetTimeDependentValues();
456+
Assert.IsNotEmpty(variable.TimeTaggedValues);
457+
Assert.AreEqual(0, variable.SelectedTimeStep);
458+
variable.SelectedTimeStep = 2;
459+
variable.ApplyTimeStep();
460+
419461
Assert.DoesNotThrow(() => this.rule.UpdateValueSet(variable, parameter));
420462
Assert.AreEqual("2", parameter.ValueSet.First().Computed.First());
463+
464+
variable.IsAveraged = true;
465+
variable.ApplyTimeStep();
466+
467+
Assert.DoesNotThrow(() => this.rule.UpdateValueSet(variable, parameter));
468+
Assert.AreEqual("2", parameter.ValueSet.First().Computed.First());
469+
470+
variable.RowColumnSelectionToHub = RowColumnSelection.Column;
471+
472+
sfpt.IndependentParameterType.Add(new IndependentParameterTypeAssignment()
473+
{
474+
ParameterType = new SimpleQuantityKind()
475+
{
476+
Name = "IndependentText"
477+
},
478+
MeasurementScale = this.scale
479+
});
480+
481+
variable.SampledFunctionParameterParameterAssignementToHubRows.Clear();
482+
483+
variable.SampledFunctionParameterParameterAssignementToHubRows.AddRange(new[]
484+
{
485+
new SampledFunctionParameterParameterAssignementRowViewModel("2")
486+
{
487+
SelectedParameterTypeAssignment = sfpt.IndependentParameterType.Last(),
488+
},
489+
new SampledFunctionParameterParameterAssignementRowViewModel("1")
490+
{
491+
SelectedParameterTypeAssignment = sfpt.IndependentParameterType.First(),
492+
IsTimeTaggedParameter = true
493+
},
494+
new SampledFunctionParameterParameterAssignementRowViewModel("0")
495+
{
496+
SelectedParameterTypeAssignment = sfpt.DependentParameterType.First()
497+
}
498+
});
499+
500+
variable.IsAveraged = true;
501+
variable.SelectedTimeStep = 2;
502+
variable.ApplyTimeStep();
503+
504+
Assert.DoesNotThrow(() => this.rule.UpdateValueSet(variable, parameter));
421505
}
422506

423507
[Test]

0 commit comments

Comments
 (0)