11using System ;
2- using System . Diagnostics ;
3- using System . Threading . Tasks ;
42using System . Collections . Generic ;
3+ using System . Diagnostics ;
54using WGetNET ;
65
76namespace WGetTestLegacySupport
@@ -23,95 +22,144 @@ private void Run()
2322 Stopwatch sw = Stopwatch . StartNew ( ) ;
2423 try
2524 {
25+ Console . WriteLine ( "=== Winget Information ===" ) ;
2626 WinGetPackageManager connector = new WinGetPackageManager ( ) ;
2727 WinGetSourceManager sourceManager = new WinGetSourceManager ( ) ;
2828 WinGet winget = new WinGet ( ) ;
29- Console . WriteLine ( "Winget Installed: " + winget . IsInstalled +
30- "\n Winget Version: " + winget . VersionString +
31- "\n Is Preview: " + winget . IsPreview + "\n " ) ;
3229
33- Version winGetVersionObject = connector . Version ;
30+ Console . WriteLine ( "Winget Installed: " + winget . IsInstalled ) ;
31+ Console . WriteLine ( "Winget Version: " + winget . VersionString ) ;
32+ Console . WriteLine ( "Is Preview: " + winget . IsPreview + "\n " ) ;
3433
34+ Version winGetVersionObject = connector . Version ;
3535 WinGetInfo info = winget . GetInfo ( ) ;
36- Console . WriteLine ( info . Version ) ;
36+ Console . WriteLine ( $ "Winget Info Version: { info . Version } " ) ;
3737
3838 //---Tests-----------------------------------------------------------------------------
39+ // Admin Settings Test
40+ Console . WriteLine ( "\n === Admin Settings Test ===" ) ;
3941 List < WinGetAdminSetting > adminSettings = connector . GetAdminSettings ( ) ;
42+ Console . WriteLine ( $ "Total Admin Settings: { adminSettings . Count } ") ;
43+ if ( adminSettings . Count > 0 )
44+ {
45+ Console . WriteLine ( $ "Sample Admin Setting: { adminSettings [ 0 ] . EntryName } ") ;
46+ }
4047
41- //bool enableResult = winget.EnableAdminSetting("LocalManifestFiles");
42- //bool disableResult = winget.DisableAdminSetting("LocalManifestFiles");
43-
48+ // Package Search Test
49+ Console . WriteLine ( "\n === Package Search Test ===" ) ;
4450 List < WinGetPackage > test = connector . SearchPackage ( "git" , "winget" ) ;
45- Console . WriteLine ( test [ 3 ] . Name ) ;
46- Console . WriteLine ( test [ 3 ] . Id ) ;
51+ Console . WriteLine ( $ "Total Packages Found for 'git': { test . Count } ") ;
52+ if ( test . Count > 3 )
53+ {
54+ Console . WriteLine ( $ "Sample Package Name: { test [ 3 ] . Name } ") ;
55+ Console . WriteLine ( $ "Sample Package ID: { test [ 3 ] . Id } ") ;
56+ }
4757
58+ // Upgradeable Packages Test
59+ Console . WriteLine ( "\n === Upgradeable Packages Test ===" ) ;
4860 List < WinGetPackage > test2 = connector . GetUpgradeablePackages ( ) ;
49- Console . WriteLine ( test2 [ 0 ] . Name ) ;
50- Console . WriteLine ( test2 [ 0 ] . Id ) ;
61+ Console . WriteLine ( $ "Total Upgradeable Packages: { test2 . Count } ") ;
62+ if ( test2 . Count > 0 )
63+ {
64+ Console . WriteLine ( $ "Sample Upgradeable Package Name: { test2 [ 0 ] . Name } ") ;
65+ Console . WriteLine ( $ "Sample Upgradeable Package ID: { test2 [ 0 ] . Id } ") ;
66+ }
5167
68+ // Installed Packages Test
69+ Console . WriteLine ( "\n === Installed Packages Test ===" ) ;
5270 List < WinGetPackage > test3 = connector . GetInstalledPackages ( ) ;
53- Console . WriteLine ( test3 [ 0 ] . Name ) ;
54- Console . WriteLine ( test3 [ 0 ] . Id ) ;
71+ Console . WriteLine ( $ "Total Installed Packages: { test3 . Count } ") ;
72+ if ( test3 . Count > 0 )
73+ {
74+ Console . WriteLine ( $ "Sample Installed Package Name: { test3 [ 0 ] . Name } ") ;
75+ Console . WriteLine ( $ "Sample Installed Package ID: { test3 [ 0 ] . Id } ") ;
76+ }
5577
56- /*bool repairResult = connector.RepairPackage("7zip.7zip");
57- Console.WriteLine("Repair Test result: ", repairResult);*/
78+ // Exact Installed Package Test
79+ Console . WriteLine ( "\n === Exact Installed Package Test ===" ) ;
80+ WinGetPackage test4 = connector . GetExactInstalledPackage ( "Microsoft Edge" ) ;
81+ if ( test4 != null )
82+ {
83+ Console . WriteLine ( $ "Microsoft Edge Package Found: { test4 . Name } ") ;
84+ }
5885
59- List < WinGetSource > sourceList = sourceManager . GetInstalledSources ( ) ;
60- bool sourceUpdateStatus = sourceManager . UpdateSources ( ) ;
61- //bool sourceResetStatus = sourceManager.ResetSources();
86+ // Package Download Test
87+ Console . WriteLine ( "\n === Package Download Test ===" ) ;
88+ List < WinGetPackage > packageList = connector . SearchPackage ( "7zip.7zip" , "winget" ) ;
89+ Console . WriteLine ( $ "Total Packages Found for '7zip.7zip': { packageList . Count } ") ;
90+ if ( packageList . Count > 0 )
91+ {
92+ bool downloadResult = connector . Download ( packageList [ 0 ] , @"Tests\" ) ;
93+ Console . WriteLine ( $ "Download Result for { packageList [ 0 ] . Name } : { downloadResult } ") ;
94+ }
6295
63- string json = sourceManager . SourcesToJson ( sourceList ) ;
64- Console . WriteLine ( json ) ;
96+ // Pinning Tests
97+ Console . WriteLine ( "\n === Pinning Tests ===" ) ;
98+ Console . WriteLine ( $ "Adding 7Zip as Pinned: { connector . PinAdd ( "7zip.7zip" , true ) } ") ;
6599
66- sourceManager . ExportSourcesToFile ( "C:\\ Test\\ AllSources.json" ) ;
67- sourceManager . ExportSourcesToFile ( "C:\\ Test\\ msstoreSources.json" , "msstore" ) ;
68- //bool addSuccess = sourceManager.AddSource("msstore", "https://storeedgefd.dsx.mp.microsoft.com/v9.0", "Microsoft.Rest");
100+ List < WinGetPinnedPackage > pinnedList1 = connector . GetPinnedPackages ( ) ;
101+ Console . WriteLine ( $ "Total Pinned Packages: { pinnedList1 . Count } ") ;
102+ if ( pinnedList1 . Count > 0 )
103+ {
104+ Console . WriteLine ( $ "{ pinnedList1 [ 0 ] . Name } : { pinnedList1 [ 0 ] . PinTypeString } ") ;
105+ }
69106
70- string hash = connector . Hash ( "C: \\ Test \\ HashTest.txt ") ;
71- Console . WriteLine ( hash ) ;
107+ Console . WriteLine ( $ "Removing 7Zip as Pinned: { connector . PinRemove ( "7zip.7zip" ) } ") ;
108+ Console . WriteLine ( $ "Adding 7Zip as Pinned: { connector . PinAdd ( "7zip.7zip" , "23.*" ) } " ) ;
72109
73- Task < string > settingsTask = connector . ExportSettingsAsync ( ) ;
74- settingsTask . Wait ( ) ;
75- string settings = settingsTask . Result ;
76- connector . ExportSettingsToFile ( "C:\\ Test\\ Settings.json" ) ;
110+ List < WinGetPinnedPackage > pinnedList2 = connector . GetPinnedPackages ( ) ;
111+ Console . WriteLine ( $ "Total Pinned Packages after version-specific pin: { pinnedList2 . Count } ") ;
112+ if ( pinnedList2 . Count > 0 )
113+ {
114+ Console . WriteLine ( $ "{ pinnedList2 [ 0 ] . Name } : { pinnedList2 [ 0 ] . PinTypeString } ") ;
115+ }
77116
78- //bool upAllresult = connector.UpgradeAllPackages( );
117+ Console . WriteLine ( $ "Removing 7Zip as Pinned: { connector . PinRemove ( "7zip.7zip" ) } " ) ;
79118
80- List < WinGetPackage > packageList = connector . SearchPackage ( "7zip.7zip" , "winget" ) ;
81- if ( packageList . Count > 0 )
119+ Console . WriteLine ( $ "Adding 7Zip as Pinned for Install: { connector . PinAddInstalled ( "7zip.7zip" , true ) } ") ;
120+ Console . WriteLine ( $ "Removing 7Zip as Pinned: { connector . PinRemoveInstalled ( "7zip.7zip" ) } ") ;
121+ Console . WriteLine ( $ "Adding 7Zip as Pinned Installed Version: { connector . PinAddInstalled ( "7zip.7zip" , "23.*" ) } ") ;
122+ Console . WriteLine ( $ "Removing 7Zip as Pinned Installed Version: { connector . PinRemoveInstalled ( "7zip.7zip" ) } ") ;
123+
124+ Console . WriteLine ( $ "Resetting all Pins: { connector . ResetPins ( ) } ") ;
125+
126+ // Source Tests
127+ Console . WriteLine ( "\n === Source Tests ===" ) ;
128+ List < WinGetSource > sourceList = sourceManager . GetInstalledSources ( ) ;
129+ Console . WriteLine ( $ "Total Sources Installed: { sourceList . Count } ") ;
130+ foreach ( var source in sourceList )
82131 {
83- bool downloadResult = connector . Download ( packageList [ 0 ] , "C: \\ Test ") ;
132+ Console . WriteLine ( $ "Source: { source . Name } ( { source . Identifier } ) ") ;
84133 }
85134
86- Console . WriteLine ( connector . PinAdd ( "7zip.7zip" , true ) ) ;
87- List < WinGetPinnedPackage > pinnedList1 = connector . GetPinnedPackages ( ) ;
88- Console . WriteLine ( pinnedList1 [ 0 ] . Name + ": " + pinnedList1 [ 0 ] . PinTypeString ) ;
89- Console . WriteLine ( connector . PinRemove ( "7zip.7zip" ) ) ;
90- Console . WriteLine ( connector . PinAdd ( "7zip.7zip" , "23.*" ) ) ;
91- List < WinGetPinnedPackage > pinnedList2 = connector . GetPinnedPackages ( ) ;
92- Console . WriteLine ( pinnedList2 [ 0 ] . Name + ": " + pinnedList2 [ 0 ] . PinTypeString ) ;
93- Console . WriteLine ( connector . PinRemove ( "7zip.7zip" ) ) ;
135+ bool sourceUpdateStatus = sourceManager . UpdateSources ( ) ;
136+ Console . WriteLine ( $ "Source Update Status: { sourceUpdateStatus } ") ;
94137
95- Console . WriteLine ( connector . PinAddInstalled ( "7zip.7zip" , true ) ) ;
96- Console . WriteLine ( connector . PinRemoveInstalled ( "7zip.7zip" ) ) ;
97- Console . WriteLine ( connector . PinAddInstalled ( "7zip.7zip" , "23.*" ) ) ;
98- Console . WriteLine ( connector . PinRemoveInstalled ( "7zip.7zip" ) ) ;
138+ string json = sourceManager . SourcesToJson ( sourceList ) ;
139+ Console . WriteLine ( $ "Sources as JSON: { json } ") ;
99140
100- Console . WriteLine ( connector . ResetPins ( ) ) ;
141+ sourceManager . ExportSourcesToFile ( @"Tests\AllSources.json" ) ;
142+ sourceManager . ExportSourcesToFile ( @"Tests\msstoreSources.json" , "msstore" ) ;
101143
102- Console . WriteLine ( "Same Package:" ) ;
144+ // Hash Test
145+ Console . WriteLine ( "\n === Hash Test ===" ) ;
146+ string hash = connector . Hash ( @"Tests\AllSources.json" ) ;
147+ Console . WriteLine ( $ "Hash of 'AllSources.json': { hash } ") ;
103148
149+ // Package comparison examples with more information
150+ Console . WriteLine ( "\n === Package Comparison Tests ===" ) ;
104151 WinGetPackage p1 = WinGetPackage . Create ( "SampleP1" , "SampleId1" , "1.0.0" , "SampleSource" ) ;
105152 WinGetPackage p2 = WinGetPackage . Create ( "SampleP2" , "SampleId2" , "2.0.0" , "3.0.0" , "" ) ;
106153 WinGetPackage p3 = WinGetPackage . Create ( "SampleP1" , "SampleId1" , "2.0.0" , "SampleSource" ) ;
107-
108- Console . WriteLine ( p1 . SamePackage ( p1 ) ) ; // true
109- Console . WriteLine ( p1 . SamePackage ( p2 ) ) ; // false
110- Console . WriteLine ( p1 . SamePackage ( p3 ) ) ; // true
111- Console . WriteLine ( p1 . SamePackage ( p3 , true ) ) ; // false
112- Console . WriteLine ( p2 . SamePackage ( p2 ) ) ; // true
113- Console . WriteLine ( p2 . SamePackage ( p1 ) ) ; // false
114- Console . WriteLine ( p2 . SamePackage ( p3 ) ) ; // false
154+ bool PackageTests = true ;
155+ PackageTests = PackageTests && p1 . SamePackage ( p1 ) ;
156+ PackageTests = PackageTests && ! p1 . SamePackage ( p2 ) ;
157+ PackageTests = PackageTests && p1 . SamePackage ( p3 ) ;
158+ PackageTests = PackageTests && ! p1 . SamePackage ( p3 , true ) ;
159+ PackageTests = PackageTests && p2 . SamePackage ( p2 ) ;
160+ PackageTests = PackageTests && ! p2 . SamePackage ( p1 ) ;
161+ PackageTests = PackageTests && ! p2 . SamePackage ( p3 ) ;
162+ Console . WriteLine ( $ "Result: { PackageTests } ") ;
115163 }
116164 catch ( Exception e )
117165 {
@@ -120,9 +168,8 @@ private void Run()
120168 finally
121169 {
122170 sw . Stop ( ) ;
123- Console . WriteLine ( "Execution Time: " + sw . Elapsed ) ;
124-
125- Console . WriteLine ( "\n End of Test! Press any button to exit." ) ;
171+ Console . WriteLine ( "\n \n Execution Time: " + sw . Elapsed ) ;
172+ Console . WriteLine ( "End of Test! Press any button to exit." ) ;
126173 Console . Read ( ) ;
127174 }
128175 }
0 commit comments