33
44using System ;
55using System . Linq ;
6+ using System . Threading . Tasks ;
67using Azure . Provisioning . Resources ;
78using NUnit . Framework ;
89
@@ -14,71 +15,68 @@ public class BicepValueTests
1415 public void ValidateLiteralBicepValue ( )
1516 {
1617 // string value
17- AssertExpression ( "'test'" , new BicepValue < string > ( "test" ) ) ;
18+ TestHelpers . AssertExpression ( "'test'" , new BicepValue < string > ( "test" ) ) ;
1819
1920 // int value
20- AssertExpression ( "42" , new BicepValue < int > ( 42 ) ) ;
21- AssertExpression ( "-42" , new BicepValue < int > ( - 42 ) ) ;
21+ TestHelpers . AssertExpression ( "42" , new BicepValue < int > ( 42 ) ) ;
22+ TestHelpers . AssertExpression ( "-42" , new BicepValue < int > ( - 42 ) ) ;
2223
2324 // long value
24- AssertExpression ( "42" , new BicepValue < long > ( 42L ) ) ;
25- AssertExpression ( "2147483647" , new BicepValue < long > ( 2147483647L ) ) ;
26- AssertExpression ( "json('2147483648')" , new BicepValue < long > ( 2147483648 ) ) ;
27- AssertExpression ( "-2147483648" , new BicepValue < long > ( - 2147483648L ) ) ;
28- AssertExpression ( "json('-2147483649')" , new BicepValue < long > ( - 2147483649 ) ) ;
29- AssertExpression ( "json('9223372036854775807')" , new BicepValue < long > ( 9223372036854775807 ) ) ;
25+ TestHelpers . AssertExpression ( "42" , new BicepValue < long > ( 42L ) ) ;
26+ TestHelpers . AssertExpression ( "2147483647" , new BicepValue < long > ( 2147483647L ) ) ;
27+ TestHelpers . AssertExpression ( "json('2147483648')" , new BicepValue < long > ( 2147483648 ) ) ;
28+ TestHelpers . AssertExpression ( "-2147483648" , new BicepValue < long > ( - 2147483648L ) ) ;
29+ TestHelpers . AssertExpression ( "json('-2147483649')" , new BicepValue < long > ( - 2147483649 ) ) ;
30+ TestHelpers . AssertExpression ( "json('9223372036854775807')" , new BicepValue < long > ( 9223372036854775807 ) ) ;
3031
3132 // bool value
32- AssertExpression ( "true" , new BicepValue < bool > ( true ) ) ;
33- AssertExpression ( "false" , new BicepValue < bool > ( false ) ) ;
33+ TestHelpers . AssertExpression ( "true" , new BicepValue < bool > ( true ) ) ;
34+ TestHelpers . AssertExpression ( "false" , new BicepValue < bool > ( false ) ) ;
3435
3536 // double value
36- AssertExpression ( "json('3.14')" , new BicepValue < double > ( 3.14 ) ) ;
37- AssertExpression ( "json('-3.14')" , new BicepValue < double > ( - 3.14 ) ) ;
37+ TestHelpers . AssertExpression ( "json('3.14')" , new BicepValue < double > ( 3.14 ) ) ;
38+ TestHelpers . AssertExpression ( "json('-3.14')" , new BicepValue < double > ( - 3.14 ) ) ;
3839 // double value with whole numbers
39- AssertExpression ( "314" , new BicepValue < double > ( 314d ) ) ;
40- AssertExpression ( "2147483647" , new BicepValue < double > ( 2147483647d ) ) ;
41- AssertExpression ( "json('2147483648')" , new BicepValue < double > ( 2147483648d ) ) ;
42- AssertExpression ( "-2147483647" , new BicepValue < double > ( - 2147483647d ) ) ;
43- AssertExpression ( "-2147483648" , new BicepValue < double > ( - 2147483648d ) ) ;
44- AssertExpression ( "json('-2147483649')" , new BicepValue < double > ( - 2147483649d ) ) ;
45-
46- static void AssertExpression ( string expected , BicepValue bicepValue )
47- {
48- Assert . AreEqual ( expected , bicepValue . ToString ( ) ) ;
49- }
40+ TestHelpers . AssertExpression ( "314" , new BicepValue < double > ( 314d ) ) ;
41+ TestHelpers . AssertExpression ( "2147483647" , new BicepValue < double > ( 2147483647d ) ) ;
42+ TestHelpers . AssertExpression ( "json('2147483648')" , new BicepValue < double > ( 2147483648d ) ) ;
43+ TestHelpers . AssertExpression ( "-2147483647" , new BicepValue < double > ( - 2147483647d ) ) ;
44+ TestHelpers . AssertExpression ( "-2147483648" , new BicepValue < double > ( - 2147483648d ) ) ;
45+ TestHelpers . AssertExpression ( "json('-2147483649')" , new BicepValue < double > ( - 2147483649d ) ) ;
5046 }
5147
5248 [ Test ]
53- public void ValidateTimeSpanPropertyWithFormat ( )
49+ public async Task ValidateTimeSpanPropertyWithFormat ( )
5450 {
55- var infra = new Infrastructure ( ) ;
56- var powershell = new AzurePowerShellScript ( "script" , "2023-08-01" )
57- {
58- RetentionInterval = new TimeSpan ( 11 , 22 , 33 ) ,
59- AzPowerShellVersion = "10.0" ,
60- ScriptContent = "echo 'Hello, world!'" ,
61- } ;
62-
63- infra . Add ( powershell ) ;
64- var plan = infra . Build ( ) ;
65-
66- var result = plan . Compile ( ) ;
67- Assert . AreEqual (
68- """
69- @description('The location for the resource(s) to be deployed.')
70- param location string = resourceGroup().location
71-
72- resource script 'Microsoft.Resources/deploymentScripts@2023-08-01' = {
73- name: take('script${uniqueString(resourceGroup().id)}', 24)
74- location: location
75- kind: 'AzurePowerShell'
76- properties: {
77- azPowerShellVersion: '10.0'
78- retentionInterval: 'PT11H22M33S'
79- scriptContent: 'echo \'Hello, world!\''
80- }
81- }
82- """ . NormalizeLineEndings ( ) , result . Values . First ( ) . NormalizeLineEndings ( ) ) ;
51+ await using Trycep test = new ( ) ;
52+ test . Define (
53+ ctx =>
54+ {
55+ var infra = new Infrastructure ( ) ;
56+ var powershell = new AzurePowerShellScript ( "script" , "2023-08-01" )
57+ {
58+ RetentionInterval = new TimeSpan ( 11 , 22 , 33 ) ,
59+ AzPowerShellVersion = "10.0" ,
60+ ScriptContent = "echo 'Hello, world!'" ,
61+ } ;
62+ infra . Add ( powershell ) ;
63+ return infra ;
64+ } )
65+ . Compare (
66+ """
67+ @description('The location for the resource(s) to be deployed.')
68+ param location string = resourceGroup().location
69+
70+ resource script 'Microsoft.Resources/deploymentScripts@2023-08-01' = {
71+ name: take('script${uniqueString(resourceGroup().id)}', 24)
72+ location: location
73+ kind: 'AzurePowerShell'
74+ properties: {
75+ azPowerShellVersion: '10.0'
76+ retentionInterval: 'PT11H22M33S'
77+ scriptContent: 'echo \'Hello, world!\''
78+ }
79+ }
80+ """ ) ;
8381 }
8482}
0 commit comments