@@ -9,11 +9,8 @@ namespace UnitTests.Util.Metaid
99 [ TestClass ]
1010 public class UnitTest1
1111 {
12-
13-
1412 public UnitTest1 ( )
1513 {
16-
1714 }
1815
1916 [ TestMethod ]
@@ -111,16 +108,64 @@ public void TestMissing()
111108 public void TestMulti ( )
112109 {
113110 // both comma and space as separators
114- string metaid_raw = "urn:ssb:classification:klass:1 , urn:ssb:classification:klass :2 urn:ssb:classification:klass:3 " ;
111+ string metaid_raw = "urn:ssb:classification:klass:1 ,urn:ssb:conceptvariable:vardok :2 urn:ssb:classification:klass:3 " ;
115112 string expectedUrl_0 = "https://www.ssb.no/en/klass/klassifikasjoner/1" ;
116- string expectedUrl_1 = "https://www.ssb.no/en/klass/klassifikasjoner/2 " ;
113+ string expectedUrl_1 = "https://www.ssb.no/a/metadata/conceptvariable/vardok/2/en " ;
117114 string expectedUrl_2 = "https://www.ssb.no/en/klass/klassifikasjoner/3" ;
118115
116+ string expectedMataid_2 = "urn:ssb:classification:klass:3" ;
117+
119118 List < Link > links = MetaIdResolverStatic . GetVariableLinks ( metaid_raw , "en" , "region" ) ;
120119 Assert . AreEqual ( 3 , links . Count ) ;
121120 Assert . AreEqual ( expectedUrl_0 , links [ 0 ] . Url ) ;
122121 Assert . AreEqual ( expectedUrl_1 , links [ 1 ] . Url ) ;
123122 Assert . AreEqual ( expectedUrl_2 , links [ 2 ] . Url ) ;
123+ Assert . AreEqual ( expectedMataid_2 , links [ 2 ] . MetaId ) ;
124+ }
125+
126+ [ TestMethod ]
127+ [ DeploymentItem ( "Util/Metaid/metaid.config" ) ]
128+ public void TestNoLabel ( )
129+ {
130+ string metaid_raw = "NO_LABEL:1" ;
131+ string expectedUrl = "https://www.ssb.no/en/nice-document1" ;
132+ string expectedLabel = "" ;
133+
134+
135+ List < Link > links = MetaIdResolverStatic . GetTableLinks ( metaid_raw , "en" ) ;
136+ Assert . AreEqual ( 1 , links . Count ) ;
137+ Assert . AreEqual ( expectedUrl , links [ 0 ] . Url ) ;
138+ Assert . AreEqual ( expectedLabel , links [ 0 ] . Label ) ;
139+ }
140+
141+ [ TestMethod ]
142+ [ DeploymentItem ( "Util/Metaid/metaid.config" ) ]
143+ public void TestAnyUrl ( )
144+ {
145+ // possible but is it a good idea?
146+ string metaid_raw = "ANY_URL://www.ssb.no/en/nice-document2" ;
147+ string expectedUrl = "https://www.ssb.no/en/nice-document2" ;
148+ string expectedLabel = "" ;
149+
150+ List < Link > links = MetaIdResolverStatic . GetTableLinks ( metaid_raw , "en" ) ;
151+ Assert . AreEqual ( 1 , links . Count ) ;
152+ Assert . AreEqual ( expectedUrl , links [ 0 ] . Url ) ;
153+ Assert . AreEqual ( expectedLabel , links [ 0 ] . Label ) ;
154+ }
155+
156+
157+ [ TestMethod ]
158+ [ DeploymentItem ( "Util/Metaid/metaid.config" ) ]
159+ public void TestTooFewParams ( )
160+ {
161+ // exception text is passed when config or metaid dont fit.
162+ // throwing an exception seems to much
163+ string metaid_raw = "urn:ssb:contextvariable:common:3" ;
164+ string expectedUrl = "Index (zero based) must be greater than or equal to zero and less than the size of the argument list." ;
165+
166+ List < Link > links = MetaIdResolverStatic . GetValueLinks ( metaid_raw , "en" , "region" , "some value" ) ;
167+ Assert . AreEqual ( 1 , links . Count ) ;
168+ Assert . AreEqual ( expectedUrl , links [ 0 ] . Url ) ;
124169
125170 }
126171 }
0 commit comments