Skip to content

Commit 5bbe953

Browse files
Fix tests
1 parent cece842 commit 5bbe953

3 files changed

Lines changed: 29 additions & 4 deletions

File tree

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
Mosfet circuit
2+
Md 0 1 2 3 my-pmos
3+
.model my-pmos pmos(level = 3)
4+
.END

src/SpiceSharpParser.IntegrationTests/Examples/Extensions/CustomMosfetModelTest.cs

Lines changed: 22 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,19 +20,37 @@ public void When_CustomMosfetModel_Used_NoExceptions()
2020
// Convert to Spice#
2121
var spiceSharpReader = new SpiceSharpReader();
2222
spiceSharpReader.Settings.CaseSensitivity.IsModelTypeCaseSensitive = false;
23+
spiceSharpReader.Settings.Mappings.Models.Map(new[] { "PMOS", "NMOS" }, new CustomMosfetModelGenerator());
24+
var spiceSharpModel = spiceSharpReader.Read(parseResult.FinalModel);
25+
26+
Assert.False(spiceSharpModel.ValidationResult.HasError);
27+
Assert.False(spiceSharpModel.ValidationResult.HasWarning);
28+
}
29+
[Fact]
30+
public void When_CustomMosfetModel2_Used_NoExceptions()
31+
{
32+
// Create a model from text file
33+
string path = Path.Combine(Directory.GetCurrentDirectory(), "Examples/Circuits/MosfetExample2.cir");
34+
var netlistContent = File.ReadAllText(path);
35+
var parser = new SpiceNetlistParser();
36+
parser.Settings.Lexing.HasTitle = true;
37+
var parseResult = parser.ParseNetlist(netlistContent);
2338

39+
// Convert to Spice#
40+
var spiceSharpReader = new SpiceSharpReader();
41+
spiceSharpReader.Settings.CaseSensitivity.IsModelTypeCaseSensitive = false;
2442

25-
// custom mappings
43+
// custom mosfet models
2644
var modelGenerator = new MosfetModelGenerator();
27-
modelGenerator.AddLevel<SpiceSharp.Components.Mosfet1Model, SpiceSharp.Components.Mosfets.Level1.ModelParameters>(39);
45+
modelGenerator.AddLevel<SpiceSharp.Components.Mosfet3Model, SpiceSharp.Components.Mosfets.Level3.ModelParameters>(4);
2846
spiceSharpReader.Settings.Mappings.Models.Map(new[] { "PMOS", "NMOS" }, modelGenerator);
2947
var mosfetGenerator = new MosfetGenerator();
30-
mosfetGenerator.AddMosfet<SpiceSharp.Components.Mosfet1Model, SpiceSharp.Components.Mosfet1>();
48+
mosfetGenerator.AddMosfet<SpiceSharp.Components.Mosfet3Model, SpiceSharp.Components.Mosfet3>();
3149
spiceSharpReader.Settings.Mappings.Components.Map("M", mosfetGenerator);
3250

3351

3452
var spiceSharpModel = spiceSharpReader.Read(parseResult.FinalModel);
35-
53+
3654
Assert.False(spiceSharpModel.ValidationResult.HasError);
3755
Assert.False(spiceSharpModel.ValidationResult.HasWarning);
3856
}

src/SpiceSharpParser.IntegrationTests/SpiceSharpParser.IntegrationTests.csproj

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -96,6 +96,9 @@
9696
<None Update="Examples\Circuits\Example04_reversed.cir">
9797
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
9898
</None>
99+
<None Update="Examples\Circuits\MosfetExample2.cir">
100+
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
101+
</None>
99102
<None Update="Examples\Circuits\MosfetExample.cir">
100103
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
101104
</None>

0 commit comments

Comments
 (0)