1+ using NUnit . Framework ;
2+ using RevenueCatUI ;
3+
4+ namespace RevenueCatUI . Tests
5+ {
6+ public class PaywallResultAPITests
7+ {
8+ [ Test ]
9+ public void PaywallResultType_EnumValues_AreCorrect ( )
10+ {
11+ // Test that all expected enum values exist
12+ Assert . IsTrue ( System . Enum . IsDefined ( typeof ( PaywallResultType ) , PaywallResultType . NotPresented ) ) ;
13+ Assert . IsTrue ( System . Enum . IsDefined ( typeof ( PaywallResultType ) , PaywallResultType . Cancelled ) ) ;
14+ Assert . IsTrue ( System . Enum . IsDefined ( typeof ( PaywallResultType ) , PaywallResultType . Error ) ) ;
15+ Assert . IsTrue ( System . Enum . IsDefined ( typeof ( PaywallResultType ) , PaywallResultType . Purchased ) ) ;
16+ Assert . IsTrue ( System . Enum . IsDefined ( typeof ( PaywallResultType ) , PaywallResultType . Restored ) ) ;
17+ }
18+
19+ [ Test ]
20+ public void PaywallResult_Constructor_SetsResultType ( )
21+ {
22+ var result = new PaywallResult ( PaywallResultType . Purchased ) ;
23+
24+ Assert . IsNotNull ( result ) ;
25+ Assert . AreEqual ( PaywallResultType . Purchased , result . Result ) ;
26+ }
27+
28+ [ Test ]
29+ public void PaywallResult_Constructor_WithAllResultTypes_WorksCorrectly ( )
30+ {
31+ // Test creating PaywallResult with each enum value
32+ var notPresentedResult = new PaywallResult ( PaywallResultType . NotPresented ) ;
33+ Assert . AreEqual ( PaywallResultType . NotPresented , notPresentedResult . Result ) ;
34+
35+ var cancelledResult = new PaywallResult ( PaywallResultType . Cancelled ) ;
36+ Assert . AreEqual ( PaywallResultType . Cancelled , cancelledResult . Result ) ;
37+
38+ var errorResult = new PaywallResult ( PaywallResultType . Error ) ;
39+ Assert . AreEqual ( PaywallResultType . Error , errorResult . Result ) ;
40+
41+ var purchasedResult = new PaywallResult ( PaywallResultType . Purchased ) ;
42+ Assert . AreEqual ( PaywallResultType . Purchased , purchasedResult . Result ) ;
43+
44+ var restoredResult = new PaywallResult ( PaywallResultType . Restored ) ;
45+ Assert . AreEqual ( PaywallResultType . Restored , restoredResult . Result ) ;
46+ }
47+
48+ [ Test ]
49+ public void PaywallResultTypeExtensions_ToNativeString_ReturnsValidStrings ( )
50+ {
51+ Assert . IsNotNull ( PaywallResultTypeExtensions . ToNativeString ( PaywallResultType . NotPresented ) ) ;
52+ Assert . IsNotNull ( PaywallResultTypeExtensions . ToNativeString ( PaywallResultType . Cancelled ) ) ;
53+ Assert . IsNotNull ( PaywallResultTypeExtensions . ToNativeString ( PaywallResultType . Error ) ) ;
54+ Assert . IsNotNull ( PaywallResultTypeExtensions . ToNativeString ( PaywallResultType . Purchased ) ) ;
55+ Assert . IsNotNull ( PaywallResultTypeExtensions . ToNativeString ( PaywallResultType . Restored ) ) ;
56+ }
57+
58+ [ Test ]
59+ public void PaywallResultTypeExtensions_FromNativeString_HandlesValidStrings ( )
60+ {
61+ // Test roundtrip conversion for each enum value
62+ foreach ( PaywallResultType enumValue in System . Enum . GetValues ( typeof ( PaywallResultType ) ) )
63+ {
64+ var nativeString = PaywallResultTypeExtensions . ToNativeString ( enumValue ) ;
65+ var convertedBack = PaywallResultTypeExtensions . FromNativeString ( nativeString ) ;
66+ Assert . AreEqual ( enumValue , convertedBack ) ;
67+ }
68+ }
69+ }
70+ }
0 commit comments