1
1
using Microsoft . VisualStudio . TestTools . UnitTesting ;
2
2
using System . Globalization ;
3
+ using System . IO ;
3
4
using System . Linq ;
4
5
5
6
namespace DSMRParser . Tests ;
@@ -11,27 +12,20 @@ public class TelegramTests
11
12
public void ToString_Should_FormatCorrectly ( )
12
13
{
13
14
var parser = new DSMRTelegramParser ( ) ;
14
- var target = parser . Parse (
15
- """
16
- /Test\V5-Telegram
17
-
18
- 1-3:0.2.8(50)
19
- 1-0:99.97.0(3)(0-0:96.7.19)(000104180320W)(0000237126*s)(000101000001W)(2147583646*s)(200102010203W)(2317482647*s)
20
- 1-0:32.7.0(1234.56*V)
21
- 0-1:24.2.1(201211100907S)(6789.12*m3)
22
- !FA4C
23
-
24
- """ ) ; //Note: The string is a verbatim string literal, so the newlines are preserved. We NEED the extra empty line for a newline
15
+ var target = parser . Parse ( File . ReadAllText ( "testdata/formattest.txt" ) ) ;
25
16
17
+ // No specific culture is set, so the default culture is used.
26
18
Assert . AreEqual ( "1234.56V" , target . VoltageL1 ! . ToString ( ) ) ;
27
19
Assert . AreEqual ( "2020-12-11T10:09:07.0000000+01:00: 6789.12m³" , target . GasDelivered ! . ToString ( ) ) ;
28
20
Assert . AreEqual ( "2000-01-04T18:03:20.0000000+01:00: 2.17:52:06" , target . ElectricityFailureLog . ToArray ( ) [ 0 ] . ToString ( ) ) ;
29
21
22
+ // Use Dutch culture
30
23
var nl_culture = CultureInfo . GetCultureInfo ( 1043 ) ;
31
24
Assert . AreEqual ( "1234,56V" , target . VoltageL1 ! . ToString ( nl_culture ) ) ;
32
25
Assert . AreEqual ( "2020-12-11T10:09:07.0000000+01:00: 6789,12m³" , target . GasDelivered ! . ToString ( nl_culture ) ) ;
33
26
Assert . AreEqual ( "11-12-20 10:09:07: 6789,12m³" , target . GasDelivered ! . ToString ( null , "dd-MM-yy HH:mm:ss" , nl_culture ) ) ;
34
27
28
+ // Use US culture
35
29
var us_culture = CultureInfo . GetCultureInfo ( 1033 ) ;
36
30
Assert . AreEqual ( "1234.56V" , target . VoltageL1 ! . ToString ( us_culture ) ) ;
37
31
Assert . AreEqual ( "2020-12-11T10:09:07.0000000+01:00: 6789.12m³" , target . GasDelivered ! . ToString ( us_culture ) ) ;
0 commit comments