@@ -24,18 +24,21 @@ namespace SysML2.NET.Serializer.Xmi.Tests
2424 using System . IO ;
2525 using System . Threading ;
2626 using System . Threading . Tasks ;
27-
27+ using Core . POCO . Root . Namespaces ;
2828 using Microsoft . Extensions . DependencyInjection ;
2929 using Microsoft . Extensions . Logging ;
3030
3131 using SysML2 . NET . Serializer . Xmi . Extensions ;
3232 using SysML2 . NET . Serializer . Xmi . Readers ;
33-
33+
3434 [ TestFixture ]
3535 public class SerializerTestFixture
3636 {
3737 private Serializer serializer ;
38+ private DeSerializer deSerializer ;
3839 private XmiDataCache xmiDataCache ;
40+
41+ private INamespace anonymouseNameSpace ;
3942
4043 [ SetUp ]
4144 public void Setup ( )
@@ -46,9 +49,26 @@ public void Setup()
4649
4750 this . xmiDataCache = new XmiDataCache ( new PocoReferenceResolveExtensionsFacade ( ) , serviceProvider . GetRequiredService < ILogger < XmiDataCache > > ( ) ) ;
4851
52+ this . deSerializer = new DeSerializer ( new ExternalReferenceService ( serviceProvider . GetRequiredService < ILogger < ExternalReferenceService > > ( ) ) , new XmiDataReaderFacade ( ) , this . xmiDataCache , serviceProvider . GetRequiredService < ILoggerFactory > ( ) ) ;
53+
54+ this . ReadAndAssemblePopulationFromXmiFile ( ) ;
55+
4956 this . serializer = new Serializer ( serviceProvider . GetRequiredService < ILoggerFactory > ( ) ) ;
5057 }
51-
52-
58+
59+ [ Test ]
60+ public void Verify_that_the_name_space_can_be_serialized_to_xmi ( )
61+ {
62+ var targetStream = new MemoryStream ( ) ;
63+
64+ Assert . That ( ( ) => this . serializer . Serialize ( this . anonymouseNameSpace , false , targetStream ) , Throws . Nothing ) ;
65+
66+ }
67+
68+ private void ReadAndAssemblePopulationFromXmiFile ( )
69+ {
70+ var filePath = Path . Combine ( TestContext . CurrentContext . TestDirectory , "Resources" , "Domain Libraries" , "Quantities and Units" , "Quantities.sysmlx" ) ;
71+ this . anonymouseNameSpace = this . deSerializer . DeSerialize ( new Uri ( filePath ) ) ;
72+ }
5373 }
5474}
0 commit comments