├── .vs └── AlgorithmsMadeEasy │ ├── v15 │ └── .suo │ └── v16 │ └── Server │ └── sqlite3 │ ├── db.lock │ └── storage.ide ├── AlgorithmsMadeEasy.sln ├── AlgorithmsMadeEasy.v11.suo ├── AlgorithmsMadeEasy ├── AlgorithmsMadeEasy.csproj ├── AlgorithmsMadeEasy.csproj.orig ├── AlgorithmsMadeEasy.csproj.user ├── Anagrams.cs ├── App.config ├── BinarySearchTree.cs ├── BubbleSort.cs ├── CuttingRod.cs ├── InsertionSort.cs ├── KMPSubstringSearch.cs ├── LongestPalindromicSubsequence.cs ├── LowestCommonAncestorBinaryTree.cs ├── MaxHeap.cs ├── MaximumRectangularArea.cs ├── MaximumSizeRectangle.cs ├── MergeSort.cs ├── MinHeap.cs ├── MinimumCoinChange.cs ├── MinimumCostPathInMatrix.cs ├── MinimumJumpToReachEnd.cs ├── OptimalStrategyGamePickFromEndsOfArray.cs ├── Program.cs ├── Properties │ └── AssemblyInfo.cs ├── QuickSort.cs ├── SelectionSort.cs ├── SinglyThreadedBinarySearchTree.cs ├── StaircaseProblemFibonacciSeries.cs ├── StringInterleaving.cs ├── TopologicalSortGraphAlgorithm.cs ├── Tries.cs ├── WeightedJobScheduling.cs ├── bin │ └── Debug │ │ ├── AlgorithmsMadeEasy.exe │ │ ├── AlgorithmsMadeEasy.exe.config │ │ ├── AlgorithmsMadeEasy.exe.orig │ │ ├── AlgorithmsMadeEasy.pdb │ │ ├── AlgorithmsMadeEasy.pdb.orig │ │ ├── AlgorithmsMadeEasy.vshost.exe │ │ ├── AlgorithmsMadeEasy.vshost.exe.config │ │ ├── AlgorithmsMadeEasy.vshost.exe.manifest │ │ ├── QuickGraph.Data.dll │ │ ├── QuickGraph.Data.xml │ │ ├── QuickGraph.Graphviz.dll │ │ ├── QuickGraph.Graphviz.xml │ │ ├── QuickGraph.Serialization.dll │ │ ├── QuickGraph.Serialization.xml │ │ ├── QuickGraph.dll │ │ └── QuickGraph.xml ├── obj │ └── Debug │ │ ├── AlgorithmsMadeEasy.csproj.CopyComplete │ │ ├── AlgorithmsMadeEasy.csproj.FileListAbsolute.txt │ │ ├── AlgorithmsMadeEasy.csproj.FileListAbsolute.txt.orig │ │ ├── AlgorithmsMadeEasy.csprojResolveAssemblyReference.cache │ │ ├── AlgorithmsMadeEasy.csprojResolveAssemblyReference.cache.orig │ │ ├── AlgorithmsMadeEasy.exe │ │ ├── AlgorithmsMadeEasy.exe.orig │ │ ├── AlgorithmsMadeEasy.pdb │ │ ├── AlgorithmsMadeEasy.pdb.orig │ │ ├── CoreCompileInputs.cache │ │ ├── DesignTimeResolveAssemblyReferencesInput.cache │ │ ├── DesignTimeResolveAssemblyReferencesInput.cache.orig │ │ ├── TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs │ │ ├── TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs │ │ └── TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs └── packages.config ├── DesignPatternImplementation ├── AbstractFactory │ └── AbstractFactory.cs ├── ActiveObject │ └── ActiveObject.cs ├── Adapter │ └── Adapter.cs ├── App.config ├── Bridge │ └── Bridge.cs ├── Builder │ └── Builder.cs ├── ChainOfResponsibilities │ └── ChainOfResponsibilities.cs ├── Command │ ├── AddTextCommand.cs │ ├── BaseCommand.cs │ └── Controller.cs ├── CommandDP │ └── Command.cs ├── Composite │ └── Composite.cs ├── Decorator │ └── Decorator.cs ├── DesignPatternImplementation.csproj ├── Facade │ └── Facade.cs ├── Factory │ └── Factory.cs ├── Flyweight │ └── Flyweight.cs ├── Interpreter │ └── Interpreter.cs ├── Iterator │ └── Iterator.cs ├── Mediator │ └── Mediator.cs ├── Memento │ └── Memento.cs ├── Observer │ └── Observer.cs ├── Program.cs ├── Properties │ └── AssemblyInfo.cs ├── Prototype │ └── Prototype.cs ├── Proxy │ └── Proxy.cs ├── Singleton │ └── Singleton.cs ├── State │ └── State.cs ├── Strategy │ └── Strategy.cs ├── TemplateMethod │ └── TemplateMethod.cs ├── Visitor │ └── Visitor.cs ├── bin │ └── Debug │ │ └── DesignPatternImplementation.exe.config └── obj │ └── Debug │ ├── .NETFramework,Version=v4.5.2.AssemblyAttributes.cs │ ├── DesignPatternImplementation.csproj.FileListAbsolute.txt │ ├── TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs │ ├── TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs │ └── TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs ├── DesignPatternsTests ├── Command │ └── CommandTests.cs ├── DesignPatternsTests.csproj ├── Properties │ └── AssemblyInfo.cs ├── bin │ └── Debug │ │ ├── DesignPatternImplementation.exe.config │ │ ├── Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml │ │ └── Microsoft.VisualStudio.TestPlatform.TestFramework.xml ├── obj │ └── Debug │ │ ├── DesignPatternsTests.csproj.FileListAbsolute.txt │ │ ├── TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs │ │ ├── TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs │ │ └── TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs └── packages.config ├── README.md └── packages ├── MSTest.TestAdapter.1.1.11 ├── MSTest.TestAdapter.1.1.11.nupkg └── build │ ├── net45 │ ├── MSTest.TestAdapter.props │ └── MSTest.TestAdapter.targets │ ├── netstandard1.0 │ └── MSTest.TestAdapter.props │ └── uap10.0 │ ├── MSTest.TestAdapter.props │ └── MSTest.TestAdapter.targets ├── MSTest.TestFramework.1.1.11 ├── MSTest.TestFramework.1.1.11.nupkg └── lib │ ├── dotnet │ ├── Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.XML │ ├── Microsoft.VisualStudio.TestPlatform.TestFramework.XML │ ├── cs │ │ ├── Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.XML │ │ └── Microsoft.VisualStudio.TestPlatform.TestFramework.XML │ ├── de │ │ ├── Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.XML │ │ └── Microsoft.VisualStudio.TestPlatform.TestFramework.XML │ ├── es │ │ ├── Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.XML │ │ └── Microsoft.VisualStudio.TestPlatform.TestFramework.XML │ ├── fr │ │ ├── Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.XML │ │ └── Microsoft.VisualStudio.TestPlatform.TestFramework.XML │ ├── it │ │ ├── Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.XML │ │ └── Microsoft.VisualStudio.TestPlatform.TestFramework.XML │ ├── ja │ │ ├── Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.XML │ │ └── Microsoft.VisualStudio.TestPlatform.TestFramework.XML │ ├── ko │ │ ├── Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.XML │ │ └── Microsoft.VisualStudio.TestPlatform.TestFramework.XML │ ├── pl │ │ ├── Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.XML │ │ └── Microsoft.VisualStudio.TestPlatform.TestFramework.XML │ ├── pt │ │ ├── Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.XML │ │ └── Microsoft.VisualStudio.TestPlatform.TestFramework.XML │ ├── ru │ │ ├── Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.XML │ │ └── Microsoft.VisualStudio.TestPlatform.TestFramework.XML │ ├── tr │ │ ├── Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.XML │ │ └── Microsoft.VisualStudio.TestPlatform.TestFramework.XML │ ├── zh-Hans │ │ ├── Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.XML │ │ └── Microsoft.VisualStudio.TestPlatform.TestFramework.XML │ └── zh-Hant │ │ ├── Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.XML │ │ └── Microsoft.VisualStudio.TestPlatform.TestFramework.XML │ ├── net45 │ ├── Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.XML │ ├── Microsoft.VisualStudio.TestPlatform.TestFramework.XML │ ├── cs │ │ ├── Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.XML │ │ └── Microsoft.VisualStudio.TestPlatform.TestFramework.XML │ ├── de │ │ ├── Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.XML │ │ └── Microsoft.VisualStudio.TestPlatform.TestFramework.XML │ ├── es │ │ ├── Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.XML │ │ └── Microsoft.VisualStudio.TestPlatform.TestFramework.XML │ ├── fr │ │ ├── Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.XML │ │ └── Microsoft.VisualStudio.TestPlatform.TestFramework.XML │ ├── it │ │ ├── Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.XML │ │ └── Microsoft.VisualStudio.TestPlatform.TestFramework.XML │ ├── ja │ │ ├── Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.XML │ │ └── Microsoft.VisualStudio.TestPlatform.TestFramework.XML │ ├── ko │ │ ├── Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.XML │ │ └── Microsoft.VisualStudio.TestPlatform.TestFramework.XML │ ├── pl │ │ ├── Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.XML │ │ └── Microsoft.VisualStudio.TestPlatform.TestFramework.XML │ ├── pt │ │ ├── Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.XML │ │ └── Microsoft.VisualStudio.TestPlatform.TestFramework.XML │ ├── ru │ │ ├── Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.XML │ │ └── Microsoft.VisualStudio.TestPlatform.TestFramework.XML │ ├── tr │ │ ├── Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.XML │ │ └── Microsoft.VisualStudio.TestPlatform.TestFramework.XML │ ├── zh-Hans │ │ ├── Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.XML │ │ └── Microsoft.VisualStudio.TestPlatform.TestFramework.XML │ └── zh-Hant │ │ ├── Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.XML │ │ └── Microsoft.VisualStudio.TestPlatform.TestFramework.XML │ ├── netcoreapp1.0 │ ├── Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.XML │ ├── Microsoft.VisualStudio.TestPlatform.TestFramework.XML │ ├── cs │ │ ├── Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.XML │ │ └── Microsoft.VisualStudio.TestPlatform.TestFramework.XML │ ├── de │ │ ├── Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.XML │ │ └── Microsoft.VisualStudio.TestPlatform.TestFramework.XML │ ├── es │ │ ├── Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.XML │ │ └── Microsoft.VisualStudio.TestPlatform.TestFramework.XML │ ├── fr │ │ ├── Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.XML │ │ └── Microsoft.VisualStudio.TestPlatform.TestFramework.XML │ ├── it │ │ ├── Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.XML │ │ └── Microsoft.VisualStudio.TestPlatform.TestFramework.XML │ ├── ja │ │ ├── Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.XML │ │ └── Microsoft.VisualStudio.TestPlatform.TestFramework.XML │ ├── ko │ │ ├── Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.XML │ │ └── Microsoft.VisualStudio.TestPlatform.TestFramework.XML │ ├── pl │ │ ├── Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.XML │ │ └── Microsoft.VisualStudio.TestPlatform.TestFramework.XML │ ├── pt │ │ ├── Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.XML │ │ └── Microsoft.VisualStudio.TestPlatform.TestFramework.XML │ ├── ru │ │ ├── Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.XML │ │ └── Microsoft.VisualStudio.TestPlatform.TestFramework.XML │ ├── tr │ │ ├── Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.XML │ │ └── Microsoft.VisualStudio.TestPlatform.TestFramework.XML │ ├── zh-Hans │ │ ├── Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.XML │ │ └── Microsoft.VisualStudio.TestPlatform.TestFramework.XML │ └── zh-Hant │ │ ├── Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.XML │ │ └── Microsoft.VisualStudio.TestPlatform.TestFramework.XML │ └── uap10.0 │ ├── Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.XML │ ├── Microsoft.VisualStudio.TestPlatform.TestFramework.XML │ ├── cs │ ├── Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.XML │ └── Microsoft.VisualStudio.TestPlatform.TestFramework.XML │ ├── de │ ├── Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.XML │ └── Microsoft.VisualStudio.TestPlatform.TestFramework.XML │ ├── es │ ├── Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.XML │ └── Microsoft.VisualStudio.TestPlatform.TestFramework.XML │ ├── fr │ ├── Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.XML │ └── Microsoft.VisualStudio.TestPlatform.TestFramework.XML │ ├── it │ ├── Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.XML │ └── Microsoft.VisualStudio.TestPlatform.TestFramework.XML │ ├── ja │ ├── Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.XML │ └── Microsoft.VisualStudio.TestPlatform.TestFramework.XML │ ├── ko │ ├── Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.XML │ └── Microsoft.VisualStudio.TestPlatform.TestFramework.XML │ ├── pl │ ├── Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.XML │ └── Microsoft.VisualStudio.TestPlatform.TestFramework.XML │ ├── pt │ ├── Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.XML │ └── Microsoft.VisualStudio.TestPlatform.TestFramework.XML │ ├── ru │ ├── Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.XML │ └── Microsoft.VisualStudio.TestPlatform.TestFramework.XML │ ├── tr │ ├── Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.XML │ └── Microsoft.VisualStudio.TestPlatform.TestFramework.XML │ ├── zh-Hans │ ├── Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.XML │ └── Microsoft.VisualStudio.TestPlatform.TestFramework.XML │ └── zh-Hant │ ├── Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.XML │ └── Microsoft.VisualStudio.TestPlatform.TestFramework.XML ├── QuickGraph.3.6.61119.7 ├── QuickGraph.3.6.61119.7.nupkg └── lib │ └── net4 │ ├── CodeContracts │ ├── QuickGraph.Contracts.dll │ ├── QuickGraph.Data.Contracts.dll │ ├── QuickGraph.Graphviz.Contracts.dll │ └── QuickGraph.Serialization.Contracts.dll │ ├── QuickGraph.Data.XML │ ├── QuickGraph.Data.dll │ ├── QuickGraph.Graphviz.XML │ ├── QuickGraph.Graphviz.dll │ ├── QuickGraph.Serialization.XML │ ├── QuickGraph.Serialization.dll │ ├── QuickGraph.XML │ └── QuickGraph.dll └── repositories.config /.vs/AlgorithmsMadeEasy/v15/.suo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bharathkumarms/AlgorithmsMadeEasy/0ca64996c9b057b43d3e0b3c0536b32b3fc72fa6/.vs/AlgorithmsMadeEasy/v15/.suo -------------------------------------------------------------------------------- /.vs/AlgorithmsMadeEasy/v16/Server/sqlite3/db.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bharathkumarms/AlgorithmsMadeEasy/0ca64996c9b057b43d3e0b3c0536b32b3fc72fa6/.vs/AlgorithmsMadeEasy/v16/Server/sqlite3/db.lock -------------------------------------------------------------------------------- /.vs/AlgorithmsMadeEasy/v16/Server/sqlite3/storage.ide: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bharathkumarms/AlgorithmsMadeEasy/0ca64996c9b057b43d3e0b3c0536b32b3fc72fa6/.vs/AlgorithmsMadeEasy/v16/Server/sqlite3/storage.ide -------------------------------------------------------------------------------- /AlgorithmsMadeEasy.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio 15 4 | VisualStudioVersion = 15.0.26430.15 5 | MinimumVisualStudioVersion = 10.0.40219.1 6 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AlgorithmsMadeEasy", "AlgorithmsMadeEasy\AlgorithmsMadeEasy.csproj", "{38FC9D85-D9B9-4607-A09E-F1C951180074}" 7 | EndProject 8 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DesignPatternImplementation", "DesignPatternImplementation\DesignPatternImplementation.csproj", "{1E40013C-FAFC-4CD2-B67F-76701F10E388}" 9 | EndProject 10 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DesignPatternsTests", "DesignPatternsTests\DesignPatternsTests.csproj", "{CB61B723-06F7-4CF4-9A58-CBA4D19EB2AF}" 11 | EndProject 12 | Global 13 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 14 | Debug|Any CPU = Debug|Any CPU 15 | Release|Any CPU = Release|Any CPU 16 | EndGlobalSection 17 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 18 | {38FC9D85-D9B9-4607-A09E-F1C951180074}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 19 | {38FC9D85-D9B9-4607-A09E-F1C951180074}.Debug|Any CPU.Build.0 = Debug|Any CPU 20 | {38FC9D85-D9B9-4607-A09E-F1C951180074}.Release|Any CPU.ActiveCfg = Release|Any CPU 21 | {38FC9D85-D9B9-4607-A09E-F1C951180074}.Release|Any CPU.Build.0 = Release|Any CPU 22 | {1E40013C-FAFC-4CD2-B67F-76701F10E388}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 23 | {1E40013C-FAFC-4CD2-B67F-76701F10E388}.Debug|Any CPU.Build.0 = Debug|Any CPU 24 | {1E40013C-FAFC-4CD2-B67F-76701F10E388}.Release|Any CPU.ActiveCfg = Release|Any CPU 25 | {1E40013C-FAFC-4CD2-B67F-76701F10E388}.Release|Any CPU.Build.0 = Release|Any CPU 26 | {CB61B723-06F7-4CF4-9A58-CBA4D19EB2AF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 27 | {CB61B723-06F7-4CF4-9A58-CBA4D19EB2AF}.Debug|Any CPU.Build.0 = Debug|Any CPU 28 | {CB61B723-06F7-4CF4-9A58-CBA4D19EB2AF}.Release|Any CPU.ActiveCfg = Release|Any CPU 29 | {CB61B723-06F7-4CF4-9A58-CBA4D19EB2AF}.Release|Any CPU.Build.0 = Release|Any CPU 30 | EndGlobalSection 31 | GlobalSection(SolutionProperties) = preSolution 32 | HideSolutionNode = FALSE 33 | EndGlobalSection 34 | EndGlobal 35 | -------------------------------------------------------------------------------- /AlgorithmsMadeEasy.v11.suo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bharathkumarms/AlgorithmsMadeEasy/0ca64996c9b057b43d3e0b3c0536b32b3fc72fa6/AlgorithmsMadeEasy.v11.suo -------------------------------------------------------------------------------- /AlgorithmsMadeEasy/AlgorithmsMadeEasy.csproj.user: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | ShowAllFiles 5 | 6 | -------------------------------------------------------------------------------- /AlgorithmsMadeEasy/Anagrams.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace AlgorithmsMadeEasy 8 | { 9 | class Anagrams 10 | { 11 | public void AnagramMethod() 12 | { 13 | //input 14 | string[] input = { "dog", "cat", "bull", "ullb" }; 15 | 16 | string[] sortedOutput = new string[input.Length]; 17 | 18 | int count = 0; 19 | 20 | //sort 21 | foreach (var i in input) 22 | { 23 | var currentInput = i.ToCharArray(); 24 | Array.Sort(currentInput); 25 | sortedOutput[count] = new string(currentInput); 26 | count++; 27 | } 28 | 29 | Dictionary> output = new Dictionary>(); 30 | count = 0; 31 | 32 | //bucketize 33 | foreach (var entry in sortedOutput) 34 | { 35 | if (output.ContainsKey(entry)) 36 | { 37 | var temp = output[entry]; 38 | temp.Add(input[count]); 39 | } 40 | else 41 | { 42 | List temp = new List(); 43 | temp.Add(input[count]); 44 | output.Add(entry, temp); 45 | } 46 | count++; 47 | } 48 | 49 | //print 50 | foreach (var o in output) 51 | { 52 | foreach (var v in o.Value) 53 | { 54 | Console.Write(v + " "); 55 | } 56 | Console.WriteLine(); 57 | } 58 | 59 | Console.ReadLine(); 60 | } 61 | } 62 | } 63 | -------------------------------------------------------------------------------- /AlgorithmsMadeEasy/App.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /AlgorithmsMadeEasy/BubbleSort.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace AlgorithmsMadeEasy 8 | { 9 | class BubbleSort 10 | { 11 | public void BubbleSortMethod() 12 | { 13 | var input = System.Console.ReadLine(); 14 | string[] sInput = input.Split(' '); 15 | int[] iInput = Array.ConvertAll(sInput, int.Parse); 16 | 17 | for (int i = 0; i < iInput.Length; i++) 18 | { 19 | for (int j = 0; j < iInput.Length - 1; j++) 20 | { 21 | if (iInput[j] > iInput[j + 1]) 22 | { 23 | int temp = iInput[j]; 24 | iInput[j] = iInput[j + 1]; 25 | iInput[j + 1] = temp; 26 | } 27 | } 28 | } 29 | 30 | for (int k = 0; k < iInput.Length; k++) 31 | { 32 | Console.Write(iInput[k] + " "); 33 | } 34 | Console.Read(); 35 | } 36 | } 37 | } 38 | 39 | /* 40 | * Sample Input 41 | 6 5 3 2 8 42 | */ -------------------------------------------------------------------------------- /AlgorithmsMadeEasy/CuttingRod.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace AlgorithmsMadeEasy 8 | { 9 | class CuttingRod 10 | { 11 | public void CuttingRodMethod() 12 | { 13 | 14 | var sellingLength = System.Console.ReadLine(); 15 | int iSellingLength = int.Parse(sellingLength); 16 | 17 | var lengthsAvailable = System.Console.ReadLine(); 18 | string[] slengthsAvailable = lengthsAvailable.Split(' '); 19 | int[] iLenghtsAvailable = Array.ConvertAll(slengthsAvailable, int.Parse); 20 | 21 | var costOfLengths = System.Console.ReadLine(); 22 | string[] sCostOfLengths = costOfLengths.Split(' '); 23 | int[] iCostOfLengths = Array.ConvertAll(sCostOfLengths, int.Parse); 24 | 25 | int[,] matrix = new int[iCostOfLengths.Length, iSellingLength + 1]; 26 | 27 | for (int i = 0; i < iLenghtsAvailable.Length; i++) 28 | { 29 | int currentLength = iLenghtsAvailable[i]; 30 | int currentCost = iCostOfLengths[i]; 31 | for (int j = 0; j < iSellingLength + 1; j++) 32 | { 33 | if (j == 0) 34 | { 35 | matrix[i, j] = 0; 36 | continue; 37 | } 38 | if (i == 0) 39 | { 40 | int val = j / currentLength; 41 | matrix[i, j] = val; 42 | } 43 | else 44 | { 45 | if (j < currentLength) 46 | { 47 | matrix[i, j] = matrix[i - 1, j]; 48 | } 49 | else 50 | { 51 | int val1 = matrix[i - 1, j]; 52 | int val2 = matrix[i, j - currentLength] + currentCost; 53 | if (val1 > val2) 54 | { 55 | matrix[i, j] = val1; 56 | } 57 | else 58 | { 59 | matrix[i, j] = val2; 60 | } 61 | } 62 | } 63 | 64 | } 65 | } 66 | System.Console.WriteLine(matrix[iCostOfLengths.Length - 1, iSellingLength]); 67 | System.Console.ReadLine(); 68 | } 69 | } 70 | } 71 | -------------------------------------------------------------------------------- /AlgorithmsMadeEasy/InsertionSort.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace AlgorithmsMadeEasy 8 | { 9 | class InsertionSort 10 | { 11 | public void InsertionSortMethod() 12 | { 13 | var input = System.Console.ReadLine(); 14 | string[] sInput = input.Split(' '); 15 | int[] iInput = Array.ConvertAll(sInput, int.Parse); 16 | 17 | int value = 0; 18 | 19 | for (int i = 1; i < iInput.Length; i++) 20 | { 21 | value = iInput[i]; 22 | 23 | int sortedCount = i - 1; 24 | 25 | while (sortedCount >= 0 && iInput[sortedCount] > value) 26 | { 27 | iInput[sortedCount + 1] = iInput[sortedCount]; 28 | sortedCount--; 29 | } 30 | iInput[sortedCount + 1] = value; 31 | } 32 | 33 | for (int k = 0; k < iInput.Length; k++) 34 | { 35 | Console.Write(iInput[k] + " "); 36 | } 37 | Console.Read(); 38 | } 39 | } 40 | } 41 | 42 | /* 43 | * Sample Input 44 | 6 5 3 2 8 45 | */ -------------------------------------------------------------------------------- /AlgorithmsMadeEasy/KMPSubstringSearch.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace AlgorithmsMadeEasy 8 | { 9 | class KMPSubstringSearch 10 | { 11 | public void KMPSubstringSearchMethod() 12 | { 13 | string text = System.Console.ReadLine(); 14 | char[] sText = text.ToCharArray(); 15 | 16 | string pattern = System.Console.ReadLine(); 17 | char[] sPattern = pattern.ToCharArray(); 18 | 19 | int forwardPointer = 1; 20 | int backwardPointer = 0; 21 | 22 | int[] tempStorage = new int[sPattern.Length]; 23 | tempStorage[0] = 0; 24 | 25 | while (forwardPointer < sPattern.Length) 26 | { 27 | if (sPattern[forwardPointer].Equals(sPattern[backwardPointer])) 28 | { 29 | tempStorage[forwardPointer] = backwardPointer + 1; 30 | forwardPointer++; 31 | backwardPointer++; 32 | } 33 | else 34 | { 35 | if (backwardPointer == 0) 36 | { 37 | tempStorage[forwardPointer] = 0; 38 | forwardPointer++; 39 | } 40 | else 41 | { 42 | int temp = tempStorage[backwardPointer]; 43 | backwardPointer = temp; 44 | } 45 | 46 | } 47 | } 48 | 49 | int pointer = 0; 50 | int successPoints = sPattern.Length; 51 | bool success = false; 52 | for (int i = 0; i < sText.Length; i++) 53 | { 54 | if (sText[i].Equals(sPattern[pointer])) 55 | { 56 | pointer++; 57 | } 58 | else 59 | { 60 | if (pointer != 0) 61 | { 62 | int tempPointer = pointer - 1; 63 | pointer = tempStorage[tempPointer]; 64 | i--; 65 | } 66 | } 67 | 68 | if (successPoints == pointer) 69 | { 70 | success = true; 71 | } 72 | } 73 | 74 | if (success) 75 | { 76 | System.Console.WriteLine("TRUE"); 77 | } 78 | else 79 | { 80 | System.Console.WriteLine("FALSE"); 81 | } 82 | System.Console.Read(); 83 | } 84 | } 85 | } 86 | 87 | /* 88 | * Sample Input 89 | abxabcabcaby 90 | abcaby 91 | */ 92 | -------------------------------------------------------------------------------- /AlgorithmsMadeEasy/LowestCommonAncestorBinaryTree.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace AlgorithmsMadeEasy 8 | { 9 | class LowestCommonAncestorBinaryTree 10 | { 11 | public void Main() 12 | { 13 | BtTree tree = new BtTree(); 14 | tree.Add(5,null); 15 | tree.Add(3,null); 16 | tree.Add(4,null); 17 | tree.Add(6,null); 18 | tree.Add(11,null); 19 | tree.Add(13,null); 20 | tree.Add(9,null); 21 | tree.Add(2,null); 22 | 23 | Node lcaObj = lca(tree.root, 2, 6); 24 | Console.WriteLine(lcaObj.value); 25 | Console.ReadLine(); 26 | } 27 | 28 | public Node lca(Node root, int child1, int child2) 29 | { 30 | if (root == null) return null; 31 | if (root.value == child1 || root.value == child2) return root; 32 | 33 | Node left = lca(root.leftElement, child1, child2); 34 | Node right = lca(root.rightElement, child1, child2); 35 | 36 | if (left != null && right != null) return root; 37 | 38 | if (left == null && right == null) return null; 39 | 40 | return right ?? left; 41 | } 42 | } 43 | 44 | class BtTree 45 | { 46 | public Node root = null; 47 | 48 | public void Add(int value, Node currentNode) 49 | { 50 | if (root == null) 51 | { 52 | Node n = new Node(); 53 | n.value = value; 54 | this.root = n; 55 | } 56 | else 57 | { 58 | if (currentNode == null) 59 | { 60 | currentNode = this.root; 61 | } 62 | 63 | if (currentNode.value >= value) 64 | { 65 | //Move Left 66 | if (currentNode.leftElement == null) 67 | { 68 | currentNode.leftElement = new Node { value = value, leftElement = null, rightElement = null }; 69 | } 70 | else 71 | { 72 | Add(value, currentNode.leftElement); 73 | } 74 | 75 | } 76 | else 77 | { 78 | //Move Right 79 | if (currentNode.rightElement == null) 80 | { 81 | currentNode.rightElement = new Node { value = value, leftElement = null, rightElement = null }; 82 | } 83 | else 84 | { 85 | Add(value, currentNode.rightElement); 86 | } 87 | 88 | } 89 | } 90 | } 91 | } 92 | } 93 | -------------------------------------------------------------------------------- /AlgorithmsMadeEasy/MergeSort.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace AlgorithmsMadeEasy 8 | { 9 | class MergeSort 10 | { 11 | public void MergeSortMethod() 12 | { 13 | var input = System.Console.ReadLine(); 14 | string[] sInput = input.Split(' '); 15 | int[] numbers = Array.ConvertAll(sInput, int.Parse); 16 | int len = numbers.Length; 17 | MergeSort_Recursive(numbers, 0, len - 1); 18 | for (int i = 0; i < len; i++) 19 | { 20 | Console.Write(numbers[i] + " "); 21 | } 22 | 23 | Console.ReadLine(); 24 | } 25 | 26 | static public void MergeSort_Recursive(int[] numbers, int left, int right) 27 | { 28 | int mid; 29 | 30 | if (right > left) 31 | { 32 | mid = (right + left) / 2; 33 | MergeSort_Recursive(numbers, left, mid); 34 | MergeSort_Recursive(numbers, (mid + 1), right); 35 | 36 | DoMerge(numbers, left, (mid + 1), right); 37 | } 38 | } 39 | 40 | static public void DoMerge(int[] numbers, int left, int mid, int right) 41 | { 42 | int[] temp = new int[numbers.Length]; 43 | int i, left_end, num_elements, tmp_pos; 44 | 45 | left_end = (mid - 1); 46 | tmp_pos = left; 47 | num_elements = (right - left + 1); 48 | 49 | while ((left <= left_end) && (mid <= right)) 50 | { 51 | if (numbers[left] <= numbers[mid]) 52 | temp[tmp_pos++] = numbers[left++]; 53 | else 54 | temp[tmp_pos++] = numbers[mid++]; 55 | } 56 | 57 | while (left <= left_end) 58 | temp[tmp_pos++] = numbers[left++]; 59 | 60 | while (mid <= right) 61 | temp[tmp_pos++] = numbers[mid++]; 62 | 63 | for (i = 0; i < num_elements; i++) 64 | { 65 | numbers[right] = temp[right]; 66 | right--; 67 | } 68 | } 69 | } 70 | } 71 | 72 | /* 73 | * Sample Input 74 | 6 5 3 2 8 75 | */ -------------------------------------------------------------------------------- /AlgorithmsMadeEasy/MinimumCoinChange.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace AlgorithmsMadeEasy 8 | { 9 | class MinimumCoinChange 10 | { 11 | public void MinimumCoinChangeDP() 12 | { 13 | var total = System.Console.ReadLine().Trim(); 14 | var iTotal = Int32.Parse(total); 15 | 16 | var input = System.Console.ReadLine(); 17 | var subInput = input.Substring(1, input.Length - 2); 18 | string[] cInput = subInput.Split(','); 19 | int[] iInput = Array.ConvertAll(cInput, int.Parse); 20 | 21 | int[] arr1 = new int[iTotal + 1]; 22 | int[] arr2 = new int[iTotal + 1]; 23 | 24 | for (int i = 0; i < iTotal + 1; i++) 25 | { 26 | 27 | if (i == 0) 28 | { 29 | arr1[i] = 0; 30 | } 31 | else 32 | { 33 | arr1[i] = Int32.MaxValue - 1; 34 | } 35 | arr2[i] = -1; 36 | //System.Console.WriteLine(iInput[i]); 37 | } 38 | 39 | for (int j = 0; j < iInput.Length; j++) 40 | { 41 | for (int k = 1; k < iTotal + 1; k++) 42 | { 43 | if (k >= iInput[j]) 44 | { 45 | int firstMin = arr1[k]; 46 | int temp = k - iInput[j]; 47 | int secondMin = 1 + arr1[temp]; 48 | 49 | if (firstMin > secondMin) 50 | { 51 | arr1[k] = secondMin; 52 | arr2[k] = j; 53 | } 54 | } 55 | } 56 | } 57 | 58 | int index = iTotal; 59 | 60 | Dictionary output = new Dictionary(); 61 | 62 | for (int l = 0; l < iInput.Length; l++) 63 | { 64 | output.Add(iInput[l], 0); 65 | } 66 | 67 | while (index > 0) 68 | { 69 | int getIndex = arr2[index]; 70 | if (output.ContainsKey(iInput[getIndex])) 71 | { 72 | int value = output[iInput[getIndex]]; 73 | output[iInput[getIndex]] = value + 1; 74 | } 75 | 76 | index -= iInput[getIndex]; 77 | } 78 | 79 | foreach (var pair in output.OrderBy(v => v.Value)) 80 | { 81 | System.Console.WriteLine("Rupee {0} coin {1}", pair.Key, pair.Value); 82 | } 83 | 84 | //System.Console.ReadLine(); 85 | } 86 | } 87 | } 88 | -------------------------------------------------------------------------------- /AlgorithmsMadeEasy/MinimumCostPathInMatrix.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace AlgorithmsMadeEasy 8 | { 9 | class MinimumCostPathInMatrix 10 | { 11 | public void MinimumCostPathInMatrixmethod() 12 | { 13 | var input = System.Console.ReadLine(); 14 | string[] sInput = input.Split(' '); 15 | int row = int.Parse(sInput[0]); 16 | int column = int.Parse(sInput[1]); 17 | 18 | int[,] inputMatrix = new int[row, column]; 19 | int[,] outputMatrix = new int[row, column]; 20 | 21 | for (int i = 0; i < row; i++) 22 | { 23 | var subInput = System.Console.ReadLine(); 24 | string[] sSubInput = subInput.Split(' '); 25 | int[] iSubInput = Array.ConvertAll(sSubInput, int.Parse); 26 | 27 | for (int j = 0; j < iSubInput.Length; j++) 28 | { 29 | inputMatrix[i, j] = iSubInput[j]; 30 | } 31 | } 32 | 33 | for (int k = 0; k < row; k++) 34 | { 35 | for (int l = 0; l < column; l++) 36 | { 37 | if (k == 0 && l == 0) 38 | { 39 | outputMatrix[k, l] = inputMatrix[k, l]; 40 | continue; 41 | } 42 | if (k == 0) 43 | { 44 | outputMatrix[k, l] = outputMatrix[k, l - 1] + inputMatrix[k, l]; 45 | continue; 46 | } 47 | 48 | if (l == 0) 49 | { 50 | outputMatrix[k, l] = outputMatrix[k - 1, l] + inputMatrix[k, l]; 51 | continue; 52 | } 53 | 54 | int val1 = outputMatrix[k - 1, l]; 55 | int val2 = outputMatrix[k, l - 1]; 56 | 57 | if (val1 < val2) 58 | { 59 | outputMatrix[k, l] = inputMatrix[k, l] + val1; 60 | } 61 | else 62 | { 63 | outputMatrix[k, l] = inputMatrix[k, l] + val2; 64 | } 65 | } 66 | } 67 | 68 | System.Console.WriteLine(outputMatrix[row - 1, column - 1]); 69 | System.Console.ReadLine(); 70 | } 71 | } 72 | } 73 | 74 | /* 75 | * Sample Input 76 | 3 4 77 | 1 3 5 8 78 | 4 2 1 7 79 | 4 3 2 3 80 | */ -------------------------------------------------------------------------------- /AlgorithmsMadeEasy/MinimumJumpToReachEnd.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace AlgorithmsMadeEasy 8 | { 9 | class MinimumJumpToReachEnd 10 | { 11 | public void MinimumJumpToReachEndMethod() 12 | { 13 | var input = System.Console.ReadLine(); 14 | string[] sInput = input.Split(' '); 15 | int[] iInput = Array.ConvertAll(sInput, int.Parse); 16 | 17 | int[] countArray = new int[iInput.Length]; 18 | int[] jumpFrom = new int[iInput.Length]; 19 | 20 | int forwardPointer = 1; 21 | int backwardPointer = 0; 22 | 23 | countArray[0] = 0; 24 | jumpFrom[0] = 0; 25 | 26 | while (forwardPointer < iInput.Length) 27 | { 28 | while (forwardPointer > backwardPointer) 29 | { 30 | if (iInput[backwardPointer] + backwardPointer >= forwardPointer) 31 | { 32 | int val1 = countArray[forwardPointer]; 33 | int val2 = countArray[backwardPointer] + 1; 34 | 35 | if (val1 <= 0) 36 | { 37 | countArray[forwardPointer] = val2; 38 | jumpFrom[forwardPointer] = backwardPointer; 39 | } 40 | else 41 | { 42 | if (val1 > val2) 43 | { 44 | countArray[forwardPointer] = val2; 45 | jumpFrom[forwardPointer] = backwardPointer; 46 | } 47 | } 48 | backwardPointer++; 49 | } 50 | else 51 | { 52 | backwardPointer++; 53 | } 54 | } 55 | forwardPointer++; 56 | backwardPointer = 0; 57 | } 58 | 59 | System.Console.WriteLine(countArray[iInput.Length - 1]); 60 | System.Console.ReadLine(); 61 | } 62 | } 63 | } 64 | 65 | /* 66 | * Sample Input 67 | 2 3 1 1 2 4 2 0 1 1 68 | */ -------------------------------------------------------------------------------- /AlgorithmsMadeEasy/OptimalStrategyGamePickFromEndsOfArray.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace AlgorithmsMadeEasy 8 | { 9 | //In Progress 10 | class OptimalStrategyGamePickFromEndsOfArray 11 | { 12 | public void OptimalStrategyGamePickFromEndsOfArrayMethod() 13 | { 14 | string inputArray = Console.ReadLine(); 15 | string[] sInputArray = inputArray.Split(' '); 16 | int[] iInputArray = Array.ConvertAll(sInputArray, int.Parse); 17 | 18 | int length = iInputArray.Length; 19 | int[,][,] adjacencyMatrix = new int[length,length][,]; 20 | int distance = 1; 21 | 22 | for (int i = 0; i < length; i++) 23 | { 24 | for (int j = 0; j < length; j++) 25 | { 26 | if (i == j) 27 | { 28 | adjacencyMatrix[i, j] = new int[1, 2]; 29 | adjacencyMatrix[i, j][0, 0] = iInputArray[i]; 30 | adjacencyMatrix[i, j][0, 1] = 0; 31 | } 32 | } 33 | } 34 | 35 | while (distance < length) 36 | { 37 | for (int i = 0; i < length; i++) 38 | { 39 | for (int j = 0; j < length; j++) 40 | { 41 | if (i < j && (i + distance) == j) 42 | { 43 | int val1 = iInputArray[i] + adjacencyMatrix[i + 1, j][0, 1]; 44 | int val2 = iInputArray[j] + adjacencyMatrix[i, j - 1][0, 1]; 45 | int max = val1 > val2 ? val1 : val2; 46 | 47 | int leftOver = 0; 48 | 49 | adjacencyMatrix[i, j] = new int[1, 2]; 50 | 51 | if (val1 > val2) 52 | { 53 | adjacencyMatrix[i, j][0, 0] = val1; 54 | adjacencyMatrix[i, j][0, 1] = leftOver; 55 | //adjacencyMatrix[i, j][0, 0] = max; 56 | //adjacencyMatrix[i, j][0, 1] = adjacencyMatrix[i+1, j][0, 1]; 57 | } 58 | else 59 | { 60 | adjacencyMatrix[i, j][0, 0] = val2; 61 | adjacencyMatrix[i, j][0, 1] = leftOver; 62 | //adjacencyMatrix[i, j][0, 0] = max; 63 | //adjacencyMatrix[i, j][0, 1] = adjacencyMatrix[i, j-1][0, 1]; 64 | } 65 | } 66 | } 67 | } 68 | distance++; 69 | } 70 | } 71 | } 72 | } 73 | 74 | /* 75 | Sample Input 76 | 3 9 1 2 77 | */ -------------------------------------------------------------------------------- /AlgorithmsMadeEasy/Program.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | using System.ComponentModel; 7 | using System.Xml.Serialization; 8 | using QuickGraph; 9 | 10 | // Copy code in any of the .cs class and execute from here or 11 | // Create an instance of the class and call its method. 12 | namespace AlgorithmsMadeEasy 13 | { 14 | class Program 15 | { 16 | static void Main(string[] args) 17 | { 18 | 19 | } 20 | } 21 | } -------------------------------------------------------------------------------- /AlgorithmsMadeEasy/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // General Information about an assembly is controlled through the following 6 | // set of attributes. Change these attribute values to modify the information 7 | // associated with an assembly. 8 | [assembly: AssemblyTitle("AlgorithmsMadeEasy")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("")] 12 | [assembly: AssemblyProduct("AlgorithmsMadeEasy")] 13 | [assembly: AssemblyCopyright("Copyright © 2017")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // Setting ComVisible to false makes the types in this assembly not visible 18 | // to COM components. If you need to access a type in this assembly from 19 | // COM, set the ComVisible attribute to true on that type. 20 | [assembly: ComVisible(false)] 21 | 22 | // The following GUID is for the ID of the typelib if this project is exposed to COM 23 | [assembly: Guid("45db59b7-268c-4c28-96ed-2f67e03134a2")] 24 | 25 | // Version information for an assembly consists of the following four values: 26 | // 27 | // Major Version 28 | // Minor Version 29 | // Build Number 30 | // Revision 31 | // 32 | // You can specify all the values or you can default the Build and Revision Numbers 33 | // by using the '*' as shown below: 34 | // [assembly: AssemblyVersion("1.0.*")] 35 | [assembly: AssemblyVersion("1.0.0.0")] 36 | [assembly: AssemblyFileVersion("1.0.0.0")] 37 | -------------------------------------------------------------------------------- /AlgorithmsMadeEasy/QuickSort.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace AlgorithmsMadeEasy 8 | { 9 | class QuickSort 10 | { 11 | public void QuickSortMethod() 12 | { 13 | var input = System.Console.ReadLine(); 14 | string[] sInput = input.Split(' '); 15 | int[] iInput = Array.ConvertAll(sInput, int.Parse); 16 | 17 | QuickSortNow(iInput, 0, iInput.Length - 1); 18 | 19 | for (int i = 0; i < iInput.Length; i++) 20 | { 21 | Console.Write(iInput[i] + " "); 22 | } 23 | 24 | Console.ReadLine(); 25 | } 26 | 27 | public static void QuickSortNow(int[] iInput, int start, int end) 28 | { 29 | if (start < end) 30 | { 31 | int pivot = Partition(iInput, start, end); 32 | QuickSortNow(iInput, start, pivot - 1); 33 | QuickSortNow(iInput, pivot + 1, end); 34 | } 35 | } 36 | 37 | public static int Partition(int[] iInput, int start, int end) 38 | { 39 | int pivot = iInput[end]; 40 | int pIndex = start; 41 | 42 | for (int i = start; i < end; i++) 43 | { 44 | if (iInput[i] <= pivot) 45 | { 46 | int temp = iInput[i]; 47 | iInput[i] = iInput[pIndex]; 48 | iInput[pIndex] = temp; 49 | pIndex++; 50 | } 51 | } 52 | 53 | int anotherTemp = iInput[pIndex]; 54 | iInput[pIndex] = iInput[end]; 55 | iInput[end] = anotherTemp; 56 | return pIndex; 57 | } 58 | } 59 | } 60 | 61 | /* 62 | * Sample Input 63 | 6 5 3 2 8 64 | */ -------------------------------------------------------------------------------- /AlgorithmsMadeEasy/SelectionSort.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace AlgorithmsMadeEasy 8 | { 9 | class SelectionSort 10 | { 11 | public void SelectionSortMethod() 12 | { 13 | var input = System.Console.ReadLine(); 14 | string[] sInput = input.Split(' '); 15 | int[] iInput = Array.ConvertAll(sInput, int.Parse); 16 | 17 | for (int i = 0; i < iInput.Length; i++) 18 | { 19 | int minIndex = 0; 20 | bool flagChanged = false; 21 | for (int j = i; j < iInput.Length - 1; j++) 22 | { 23 | if (iInput[j] > iInput[j + 1]) 24 | { 25 | minIndex = j + 1; 26 | flagChanged = true; 27 | } 28 | } 29 | if (flagChanged) 30 | { 31 | int temp = iInput[i]; 32 | iInput[i] = iInput[minIndex]; 33 | iInput[minIndex] = temp; 34 | } 35 | } 36 | 37 | for (int k = 0; k < iInput.Length; k++) 38 | { 39 | Console.Write(iInput[k] + " "); 40 | } 41 | Console.Read(); 42 | } 43 | } 44 | } 45 | 46 | /* 47 | * Sample Input 48 | 6 5 3 2 8 49 | */ -------------------------------------------------------------------------------- /AlgorithmsMadeEasy/StaircaseProblemFibonacciSeries.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace AlgorithmsMadeEasy 8 | { 9 | class StaircaseProblemFibonacciSeries 10 | { 11 | private static int longestStep; 12 | private static int iTotalSteps; 13 | 14 | public void StaircaseProblemFibonacciSeriesMethod() 15 | { 16 | var n = System.Console.ReadLine(); 17 | longestStep = int.Parse(n);//This would be 2 18 | 19 | var totalSteps = System.Console.ReadLine(); 20 | iTotalSteps = int.Parse(totalSteps); 21 | 22 | int output = SolveStaircaseProblem(iTotalSteps); 23 | System.Console.WriteLine(output); 24 | System.Console.ReadLine(); 25 | } 26 | 27 | public static int SolveStaircaseProblem(int n) 28 | { 29 | if (n == 0) 30 | { 31 | return 0; 32 | } 33 | else if (n == 1) 34 | { 35 | return 1; 36 | } 37 | else if (n == 2) 38 | { 39 | return 2; 40 | } 41 | 42 | return SolveStaircaseProblem(n - 1) + SolveStaircaseProblem(n - 2); 43 | } 44 | } 45 | } 46 | -------------------------------------------------------------------------------- /AlgorithmsMadeEasy/WeightedJobScheduling.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace AlgorithmsMadeEasy 8 | { 9 | class WeightedJobScheduling 10 | { 11 | public void WeightedJobSchedulingMethod() 12 | { 13 | var jobCount = System.Console.ReadLine().Trim(); 14 | int iJobCount = int.Parse(jobCount); 15 | 16 | int[,] jobDetails = new int[iJobCount, 2]; 17 | int[] costDetails = new int[iJobCount]; 18 | int[] tempArray = new int[iJobCount]; 19 | 20 | for (int i = 0; i < iJobCount; i++) 21 | { 22 | var value = System.Console.ReadLine(); 23 | string[] sValue = value.Split(' '); 24 | int[] iValue = Array.ConvertAll(sValue, int.Parse); 25 | 26 | jobDetails[i, 0] = iValue[0]; 27 | jobDetails[i, 1] = iValue[1]; 28 | costDetails[i] = iValue[2]; 29 | tempArray[i] = iValue[2]; 30 | } 31 | 32 | int forwardPointer = 1; 33 | int backwardPointer = 0; 34 | 35 | while (forwardPointer < iJobCount) 36 | { 37 | if (jobDetails[backwardPointer, 1] > jobDetails[forwardPointer, 0]) 38 | { 39 | forwardPointer++; 40 | backwardPointer = 0; 41 | } 42 | else 43 | { 44 | tempArray[forwardPointer] = costDetails[forwardPointer] + tempArray[backwardPointer]; 45 | backwardPointer++; 46 | } 47 | } 48 | 49 | int maxjob = tempArray[0]; 50 | 51 | for (int i = 1; i < tempArray.Length; i++) 52 | { 53 | if (tempArray[i] > maxjob) 54 | { 55 | maxjob = tempArray[i]; 56 | } 57 | } 58 | 59 | System.Console.WriteLine(maxjob); 60 | System.Console.ReadLine(); 61 | } 62 | } 63 | } 64 | 65 | /* 66 | * Input Details: 67 | 6 68 | 1 3 5 69 | 2 5 6 70 | 4 6 5 71 | 6 7 4 72 | 5 8 11 73 | 7 9 2 74 | */ 75 | 76 | /* 77 | * Note: 78 | The job end time is already sorted by non decreasing order. 79 | */ -------------------------------------------------------------------------------- /AlgorithmsMadeEasy/bin/Debug/AlgorithmsMadeEasy.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bharathkumarms/AlgorithmsMadeEasy/0ca64996c9b057b43d3e0b3c0536b32b3fc72fa6/AlgorithmsMadeEasy/bin/Debug/AlgorithmsMadeEasy.exe -------------------------------------------------------------------------------- /AlgorithmsMadeEasy/bin/Debug/AlgorithmsMadeEasy.exe.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /AlgorithmsMadeEasy/bin/Debug/AlgorithmsMadeEasy.exe.orig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bharathkumarms/AlgorithmsMadeEasy/0ca64996c9b057b43d3e0b3c0536b32b3fc72fa6/AlgorithmsMadeEasy/bin/Debug/AlgorithmsMadeEasy.exe.orig -------------------------------------------------------------------------------- /AlgorithmsMadeEasy/bin/Debug/AlgorithmsMadeEasy.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bharathkumarms/AlgorithmsMadeEasy/0ca64996c9b057b43d3e0b3c0536b32b3fc72fa6/AlgorithmsMadeEasy/bin/Debug/AlgorithmsMadeEasy.pdb -------------------------------------------------------------------------------- /AlgorithmsMadeEasy/bin/Debug/AlgorithmsMadeEasy.pdb.orig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bharathkumarms/AlgorithmsMadeEasy/0ca64996c9b057b43d3e0b3c0536b32b3fc72fa6/AlgorithmsMadeEasy/bin/Debug/AlgorithmsMadeEasy.pdb.orig -------------------------------------------------------------------------------- /AlgorithmsMadeEasy/bin/Debug/AlgorithmsMadeEasy.vshost.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bharathkumarms/AlgorithmsMadeEasy/0ca64996c9b057b43d3e0b3c0536b32b3fc72fa6/AlgorithmsMadeEasy/bin/Debug/AlgorithmsMadeEasy.vshost.exe -------------------------------------------------------------------------------- /AlgorithmsMadeEasy/bin/Debug/AlgorithmsMadeEasy.vshost.exe.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /AlgorithmsMadeEasy/bin/Debug/AlgorithmsMadeEasy.vshost.exe.manifest: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /AlgorithmsMadeEasy/bin/Debug/QuickGraph.Data.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bharathkumarms/AlgorithmsMadeEasy/0ca64996c9b057b43d3e0b3c0536b32b3fc72fa6/AlgorithmsMadeEasy/bin/Debug/QuickGraph.Data.dll -------------------------------------------------------------------------------- /AlgorithmsMadeEasy/bin/Debug/QuickGraph.Data.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | QuickGraph.Data 5 | 6 | 7 | 8 | 9 | An algorithm that renders a DataSet graph to the Graphviz DOT format. 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /AlgorithmsMadeEasy/bin/Debug/QuickGraph.Graphviz.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bharathkumarms/AlgorithmsMadeEasy/0ca64996c9b057b43d3e0b3c0536b32b3fc72fa6/AlgorithmsMadeEasy/bin/Debug/QuickGraph.Graphviz.dll -------------------------------------------------------------------------------- /AlgorithmsMadeEasy/bin/Debug/QuickGraph.Serialization.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bharathkumarms/AlgorithmsMadeEasy/0ca64996c9b057b43d3e0b3c0536b32b3fc72fa6/AlgorithmsMadeEasy/bin/Debug/QuickGraph.Serialization.dll -------------------------------------------------------------------------------- /AlgorithmsMadeEasy/bin/Debug/QuickGraph.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bharathkumarms/AlgorithmsMadeEasy/0ca64996c9b057b43d3e0b3c0536b32b3fc72fa6/AlgorithmsMadeEasy/bin/Debug/QuickGraph.dll -------------------------------------------------------------------------------- /AlgorithmsMadeEasy/obj/Debug/AlgorithmsMadeEasy.csproj.CopyComplete: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bharathkumarms/AlgorithmsMadeEasy/0ca64996c9b057b43d3e0b3c0536b32b3fc72fa6/AlgorithmsMadeEasy/obj/Debug/AlgorithmsMadeEasy.csproj.CopyComplete -------------------------------------------------------------------------------- /AlgorithmsMadeEasy/obj/Debug/AlgorithmsMadeEasy.csproj.FileListAbsolute.txt.orig: -------------------------------------------------------------------------------- 1 | C:\E\algorithmsmadeeasy\AlgorithmsMadeEasy\AlgorithmsMadeEasy\bin\Debug\AlgorithmsMadeEasy.exe.config 2 | C:\E\algorithmsmadeeasy\AlgorithmsMadeEasy\AlgorithmsMadeEasy\bin\Debug\AlgorithmsMadeEasy.exe 3 | C:\E\algorithmsmadeeasy\AlgorithmsMadeEasy\AlgorithmsMadeEasy\bin\Debug\AlgorithmsMadeEasy.pdb 4 | C:\E\algorithmsmadeeasy\AlgorithmsMadeEasy\AlgorithmsMadeEasy\obj\Debug\AlgorithmsMadeEasy.csprojResolveAssemblyReference.cache 5 | C:\E\algorithmsmadeeasy\AlgorithmsMadeEasy\AlgorithmsMadeEasy\obj\Debug\AlgorithmsMadeEasy.exe 6 | C:\E\algorithmsmadeeasy\AlgorithmsMadeEasy\AlgorithmsMadeEasy\obj\Debug\AlgorithmsMadeEasy.pdb 7 | <<<<<<< HEAD 8 | C:\E\algorithmsmadeeasy\AlgorithmsMadeEasy\AlgorithmsMadeEasy\bin\Debug\QuickGraph.Data.dll 9 | C:\E\algorithmsmadeeasy\AlgorithmsMadeEasy\AlgorithmsMadeEasy\bin\Debug\QuickGraph.dll 10 | C:\E\algorithmsmadeeasy\AlgorithmsMadeEasy\AlgorithmsMadeEasy\bin\Debug\QuickGraph.Graphviz.dll 11 | C:\E\algorithmsmadeeasy\AlgorithmsMadeEasy\AlgorithmsMadeEasy\bin\Debug\QuickGraph.Serialization.dll 12 | C:\E\algorithmsmadeeasy\AlgorithmsMadeEasy\AlgorithmsMadeEasy\bin\Debug\QuickGraph.xml 13 | C:\E\algorithmsmadeeasy\AlgorithmsMadeEasy\AlgorithmsMadeEasy\bin\Debug\QuickGraph.Data.xml 14 | C:\E\algorithmsmadeeasy\AlgorithmsMadeEasy\AlgorithmsMadeEasy\bin\Debug\QuickGraph.Graphviz.xml 15 | C:\E\algorithmsmadeeasy\AlgorithmsMadeEasy\AlgorithmsMadeEasy\bin\Debug\QuickGraph.Serialization.xml 16 | ======= 17 | D:\AlgorithmsMadeEasy\AlgorithmsMadeEasy\bin\Debug\AlgorithmsMadeEasy.exe.config 18 | D:\AlgorithmsMadeEasy\AlgorithmsMadeEasy\bin\Debug\AlgorithmsMadeEasy.exe 19 | D:\AlgorithmsMadeEasy\AlgorithmsMadeEasy\bin\Debug\AlgorithmsMadeEasy.pdb 20 | D:\AlgorithmsMadeEasy\AlgorithmsMadeEasy\obj\Debug\AlgorithmsMadeEasy.csprojResolveAssemblyReference.cache 21 | D:\AlgorithmsMadeEasy\AlgorithmsMadeEasy\obj\Debug\AlgorithmsMadeEasy.exe 22 | D:\AlgorithmsMadeEasy\AlgorithmsMadeEasy\obj\Debug\AlgorithmsMadeEasy.pdb 23 | >>>>>>> 172e081f7b858db455b0e53ef410036ca77456ec 24 | -------------------------------------------------------------------------------- /AlgorithmsMadeEasy/obj/Debug/AlgorithmsMadeEasy.csprojResolveAssemblyReference.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bharathkumarms/AlgorithmsMadeEasy/0ca64996c9b057b43d3e0b3c0536b32b3fc72fa6/AlgorithmsMadeEasy/obj/Debug/AlgorithmsMadeEasy.csprojResolveAssemblyReference.cache -------------------------------------------------------------------------------- /AlgorithmsMadeEasy/obj/Debug/AlgorithmsMadeEasy.csprojResolveAssemblyReference.cache.orig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bharathkumarms/AlgorithmsMadeEasy/0ca64996c9b057b43d3e0b3c0536b32b3fc72fa6/AlgorithmsMadeEasy/obj/Debug/AlgorithmsMadeEasy.csprojResolveAssemblyReference.cache.orig -------------------------------------------------------------------------------- /AlgorithmsMadeEasy/obj/Debug/AlgorithmsMadeEasy.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bharathkumarms/AlgorithmsMadeEasy/0ca64996c9b057b43d3e0b3c0536b32b3fc72fa6/AlgorithmsMadeEasy/obj/Debug/AlgorithmsMadeEasy.exe -------------------------------------------------------------------------------- /AlgorithmsMadeEasy/obj/Debug/AlgorithmsMadeEasy.exe.orig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bharathkumarms/AlgorithmsMadeEasy/0ca64996c9b057b43d3e0b3c0536b32b3fc72fa6/AlgorithmsMadeEasy/obj/Debug/AlgorithmsMadeEasy.exe.orig -------------------------------------------------------------------------------- /AlgorithmsMadeEasy/obj/Debug/AlgorithmsMadeEasy.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bharathkumarms/AlgorithmsMadeEasy/0ca64996c9b057b43d3e0b3c0536b32b3fc72fa6/AlgorithmsMadeEasy/obj/Debug/AlgorithmsMadeEasy.pdb -------------------------------------------------------------------------------- /AlgorithmsMadeEasy/obj/Debug/AlgorithmsMadeEasy.pdb.orig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bharathkumarms/AlgorithmsMadeEasy/0ca64996c9b057b43d3e0b3c0536b32b3fc72fa6/AlgorithmsMadeEasy/obj/Debug/AlgorithmsMadeEasy.pdb.orig -------------------------------------------------------------------------------- /AlgorithmsMadeEasy/obj/Debug/CoreCompileInputs.cache: -------------------------------------------------------------------------------- 1 | 2df79ac0040536a5218ddd34c90dd1f6f1127f54 2 | -------------------------------------------------------------------------------- /AlgorithmsMadeEasy/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bharathkumarms/AlgorithmsMadeEasy/0ca64996c9b057b43d3e0b3c0536b32b3fc72fa6/AlgorithmsMadeEasy/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache -------------------------------------------------------------------------------- /AlgorithmsMadeEasy/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache.orig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bharathkumarms/AlgorithmsMadeEasy/0ca64996c9b057b43d3e0b3c0536b32b3fc72fa6/AlgorithmsMadeEasy/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache.orig -------------------------------------------------------------------------------- /AlgorithmsMadeEasy/obj/Debug/TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bharathkumarms/AlgorithmsMadeEasy/0ca64996c9b057b43d3e0b3c0536b32b3fc72fa6/AlgorithmsMadeEasy/obj/Debug/TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs -------------------------------------------------------------------------------- /AlgorithmsMadeEasy/obj/Debug/TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bharathkumarms/AlgorithmsMadeEasy/0ca64996c9b057b43d3e0b3c0536b32b3fc72fa6/AlgorithmsMadeEasy/obj/Debug/TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs -------------------------------------------------------------------------------- /AlgorithmsMadeEasy/obj/Debug/TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bharathkumarms/AlgorithmsMadeEasy/0ca64996c9b057b43d3e0b3c0536b32b3fc72fa6/AlgorithmsMadeEasy/obj/Debug/TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs -------------------------------------------------------------------------------- /AlgorithmsMadeEasy/packages.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | -------------------------------------------------------------------------------- /DesignPatternImplementation/AbstractFactory/AbstractFactory.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace DesignPatternImplementation.AbstractFactoryDesignPattern 8 | { 9 | public interface IMode 10 | { 11 | void On(); 12 | } 13 | 14 | public class NormalMode : IMode 15 | { 16 | public void On() 17 | { 18 | Console.WriteLine("On in normal mode."); 19 | } 20 | } 21 | 22 | public class SafeMode : IMode 23 | { 24 | public void On() 25 | { 26 | Console.WriteLine("On in safe mode."); 27 | } 28 | } 29 | 30 | public abstract class AbstractFactory 31 | { 32 | public abstract IMode Mode(); 33 | } 34 | 35 | public class NormalFactory : AbstractFactory 36 | { 37 | public override IMode Mode() 38 | { 39 | return new NormalMode(); 40 | } 41 | } 42 | 43 | public class SafeFactory : AbstractFactory 44 | { 45 | public override IMode Mode() 46 | { 47 | return new SafeMode(); 48 | } 49 | } 50 | 51 | public class FactoryProducer 52 | { 53 | public static AbstractFactory GetFactory(bool isNormal) 54 | { 55 | if (isNormal) 56 | { 57 | return new NormalFactory(); 58 | } 59 | 60 | return new SafeFactory(); 61 | } 62 | } 63 | } 64 | 65 | /* 66 | AbstractFactory factory = FactoryProducer.GetFactory(false); 67 | 68 | IMode mode = factory.Mode(); 69 | mode.On(); 70 | 71 | Console.ReadLine(); 72 | */ 73 | -------------------------------------------------------------------------------- /DesignPatternImplementation/ActiveObject/ActiveObject.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Concurrent; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading; 7 | using System.Threading.Tasks; 8 | 9 | namespace DesignPatternImplementation.ActiveObjectDesignPattern 10 | { 11 | public class ActiveObject 12 | { 13 | public class MyTask 14 | { 15 | public int priority; 16 | public string name; 17 | public MyTask(string name, int priority) 18 | { 19 | this.name = name; 20 | this.priority = priority; 21 | } 22 | } 23 | 24 | ConcurrentQueue dispatchQueue = new ConcurrentQueue(); 25 | 26 | public void Do(string name, int priority) 27 | { 28 | dispatchQueue.Enqueue(new MyTask(name, priority)); 29 | 30 | new Thread(() => 31 | { 32 | MyTask task; 33 | var isSuccess = dispatchQueue.TryDequeue(out task); 34 | Console.WriteLine("Executing: " + task.name); 35 | }).Start(); 36 | } 37 | } 38 | } 39 | 40 | /* 41 | var activeObject = new ActiveObject(); 42 | 43 | Thread t1 = new Thread(() => activeObject.Do("1", 1)); 44 | Thread t2 = new Thread(() => activeObject.Do("2", 2)); 45 | Thread t3 = new Thread(() => activeObject.Do("3", 3)); 46 | 47 | t1.Start(); 48 | t2.Start(); 49 | t3.Start(); 50 | 51 | Console.ReadLine(); 52 | */ 53 | -------------------------------------------------------------------------------- /DesignPatternImplementation/Adapter/Adapter.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace DesignPatternImplementation.Adapter 8 | { 9 | public interface ITarget 10 | { 11 | string GetInformation(); 12 | } 13 | 14 | class Adaptee 15 | { 16 | public string GetMoreInformation() 17 | { 18 | return "More Information"; 19 | } 20 | } 21 | 22 | class UniversalAdapter : ITarget 23 | { 24 | private readonly Adaptee _adaptee; 25 | 26 | public UniversalAdapter(Adaptee adaptee) 27 | { 28 | _adaptee = adaptee; 29 | } 30 | public string GetInformation() 31 | { 32 | return this._adaptee.GetMoreInformation(); 33 | } 34 | } 35 | } 36 | 37 | /* 38 | var adaptee = new Adaptee(); 39 | var target = new UniversalAdapter(adaptee); 40 | 41 | Console.WriteLine(target.GetInformation()); 42 | 43 | Console.ReadLine(); 44 | */ 45 | -------------------------------------------------------------------------------- /DesignPatternImplementation/App.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /DesignPatternImplementation/Bridge/Bridge.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace DesignPatternImplementation.Bridge 8 | { 9 | public interface IDownloaderAbstraction 10 | { 11 | public object Download(string url); 12 | public bool Save(object obj); 13 | } 14 | 15 | public interface IDownloaderImplementation 16 | { 17 | public object Download(string url); 18 | public bool Save(object obj); 19 | } 20 | 21 | public class DownloaderAbstractionImpl : IDownloaderAbstraction 22 | { 23 | private readonly IDownloaderImplementation _provider; 24 | 25 | public DownloaderAbstractionImpl(IDownloaderImplementation provider) 26 | { 27 | this._provider = provider; 28 | } 29 | 30 | public object Download(string url) 31 | { 32 | return _provider.Download(url); 33 | } 34 | 35 | public bool Save(object obj) 36 | { 37 | return _provider.Save(obj); 38 | } 39 | } 40 | 41 | public class LinuxDownloaderImpl : IDownloaderImplementation 42 | { 43 | public object Download(string url) 44 | { 45 | return new object(); 46 | } 47 | 48 | public bool Save(object obj) 49 | { 50 | Console.WriteLine("Downloaded file in Linux!"); 51 | return true; 52 | } 53 | } 54 | 55 | public class WindowsDownloaderImpl : IDownloaderImplementation 56 | { 57 | public object Download(string url) 58 | { 59 | return new object(); 60 | } 61 | 62 | public bool Save(object obj) 63 | { 64 | Console.WriteLine("Downloaded file in Windows!"); 65 | return true; 66 | } 67 | } 68 | } 69 | /* 70 | string os = "windows"; 71 | 72 | IDownloaderAbstraction handle = null; 73 | 74 | switch (os) 75 | { 76 | case "windows": 77 | handle = new DownloaderAbstractionImpl(new WindowsDownloaderImpl()); 78 | break; 79 | case "linux": 80 | handle = new DownloaderAbstractionImpl(new LinuxDownloaderImpl()); 81 | break; 82 | } 83 | 84 | object obj = handle.Download("some url"); 85 | handle.Save(obj); 86 | 87 | Console.ReadLine(); 88 | */ 89 | -------------------------------------------------------------------------------- /DesignPatternImplementation/Builder/Builder.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Net.Mail; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace DesignPatternImplementation.Builder 9 | { 10 | public class SMS 11 | { 12 | public string to; 13 | public string message; 14 | 15 | public SMS(string to, string message) 16 | { 17 | this.to = to; 18 | this.message = message; 19 | } 20 | 21 | public void Send() 22 | { 23 | // telecommunication 24 | Console.WriteLine(message + " sent to " + to); 25 | } 26 | 27 | public class SMSBuilder 28 | { 29 | public string recipient; 30 | public string message; 31 | 32 | public SMSBuilder AddRecipient(string name) 33 | { 34 | this.recipient = name; 35 | return this; 36 | } 37 | 38 | public SMSBuilder AddMessage(string message) 39 | { 40 | this.message = message; 41 | return this; 42 | } 43 | 44 | public SMS Build() 45 | { 46 | return new SMS(recipient, message); 47 | } 48 | } 49 | } 50 | } 51 | /* 52 | var sms = new SMS.SMSBuilder() 53 | .AddRecipient("9999999999") 54 | .AddMessage("Hello") 55 | .Build(); 56 | sms.Send(); 57 | 58 | Console.ReadLine(); 59 | */ 60 | -------------------------------------------------------------------------------- /DesignPatternImplementation/ChainOfResponsibilities/ChainOfResponsibilities.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace DesignPatternImplementation.ChainOfResponsibilities 8 | { 9 | public interface Chain 10 | { 11 | public abstract void SetNext(Chain nextInChain); 12 | public abstract void Process(Number request); 13 | } 14 | 15 | public class Number 16 | { 17 | private int number; 18 | 19 | public Number(int number) 20 | { 21 | this.number = number; 22 | } 23 | 24 | public int GetNumber() 25 | { 26 | return number; 27 | } 28 | } 29 | 30 | public class PositiveChain : Chain 31 | { 32 | private Chain chain; 33 | 34 | public void Process(Number request) 35 | { 36 | if (request.GetNumber() > 0) 37 | { 38 | Console.WriteLine("I'm Positive"); 39 | } 40 | else 41 | { 42 | chain.Process(request); 43 | } 44 | } 45 | 46 | public void SetNext(Chain nextInChain) 47 | { 48 | chain = nextInChain; 49 | } 50 | } 51 | 52 | public class ZeroChain : Chain 53 | { 54 | private Chain chain; 55 | 56 | public void Process(Number request) 57 | { 58 | if (request.GetNumber() == 0) 59 | { 60 | Console.WriteLine("I'm Zero"); 61 | } 62 | else 63 | { 64 | chain.Process(request); 65 | } 66 | } 67 | 68 | public void SetNext(Chain nextInChain) 69 | { 70 | chain = nextInChain; 71 | } 72 | } 73 | 74 | public class NegativeChain : Chain 75 | { 76 | private Chain chain; 77 | 78 | public void Process(Number request) 79 | { 80 | if (request.GetNumber() < 0) 81 | { 82 | Console.WriteLine("I'm Negative"); 83 | } 84 | else 85 | { 86 | chain.Process(request); 87 | } 88 | } 89 | 90 | public void SetNext(Chain nextInChain) 91 | { 92 | chain = nextInChain; 93 | } 94 | } 95 | } 96 | /* 97 | * var c = new PositiveChain(); 98 | var c1 = new NegativeChain(); 99 | var c2 = new ZeroChain(); 100 | c.SetNext(c1); 101 | c1.SetNext(c2); 102 | 103 | c.Process(new Number(1)); 104 | c.Process(new Number(-1)); 105 | c.Process(new Number(0)); 106 | c.Process(new Number(1000)); 107 | 108 | Console.ReadLine(); 109 | */ 110 | -------------------------------------------------------------------------------- /DesignPatternImplementation/Command/AddTextCommand.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace DesignPatternImplementation.Command 8 | { 9 | public class AddTextCommand : BaseCommand 10 | { 11 | public override void Execute(string text) 12 | { 13 | sb.Append(text); 14 | Entries.Add(text); 15 | } 16 | 17 | public override void UnExecute() 18 | { 19 | throw new NotImplementedException(); 20 | } 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /DesignPatternImplementation/Command/BaseCommand.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace DesignPatternImplementation.Command 8 | { 9 | public interface IAppCommand 10 | { 11 | StringBuilder sb { get; set; } 12 | void Execute(string text); 13 | void UnExecute(); 14 | } 15 | 16 | public abstract class BaseCommand : IAppCommand 17 | { 18 | public StringBuilder sb { get; set; } 19 | protected readonly List Entries = new List(); 20 | public abstract void Execute(string text); 21 | public abstract void UnExecute(); 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /DesignPatternImplementation/Command/Controller.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace DesignPatternImplementation.Command 8 | { 9 | public class Controller 10 | { 11 | private readonly List _commands = new List(); 12 | private readonly StringBuilder _stringBuilder = new StringBuilder(); 13 | 14 | public int AddCommand(IAppCommand cmd) 15 | { 16 | cmd.sb = _stringBuilder; 17 | _commands.Add(cmd); 18 | return _commands.IndexOf(cmd); 19 | } 20 | 21 | public IAppCommand GetCommandAt(int index) 22 | { 23 | return _commands[index]; 24 | } 25 | 26 | public string GetBuiltString() 27 | { 28 | return _stringBuilder.ToString(); 29 | } 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /DesignPatternImplementation/CommandDP/Command.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace DesignPatternImplementation.CommandDP 8 | { 9 | public interface ICommand 10 | { 11 | string Name { get; } 12 | void Execute(); 13 | } 14 | 15 | public class StartCommand : ICommand 16 | { 17 | public string Name 18 | { 19 | get 20 | { 21 | return "Start"; 22 | } 23 | } 24 | 25 | public void Execute() 26 | { 27 | Console.WriteLine("Started"); 28 | } 29 | } 30 | 31 | public class StopCommand : ICommand 32 | { 33 | public string Name 34 | { 35 | get 36 | { 37 | return "Stop"; 38 | } 39 | } 40 | 41 | public void Execute() 42 | { 43 | Console.WriteLine("Stopped"); 44 | } 45 | } 46 | 47 | public class Invoker 48 | { 49 | ICommand cmd = null; 50 | 51 | public ICommand GetCommand(string action) 52 | { 53 | switch (action) 54 | { 55 | case "Start": 56 | cmd = new StartCommand(); 57 | break; 58 | case "Stop": 59 | cmd = new StopCommand(); 60 | break; 61 | } 62 | 63 | return cmd; 64 | } 65 | } 66 | } 67 | 68 | /* 69 | * Invoker i = new Invoker(); 70 | ICommand c = i.GetCommand("Start"); 71 | c.Execute(); 72 | 73 | ICommand c1 = i.GetCommand("Stop"); 74 | c1.Execute(); 75 | */ 76 | -------------------------------------------------------------------------------- /DesignPatternImplementation/Composite/Composite.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace DesignPatternImplementation.Composite 8 | { 9 | public interface IEmployee 10 | { 11 | public void DisplayEmployee(); 12 | } 13 | 14 | class Developer : IEmployee 15 | { 16 | private string _name; 17 | 18 | public Developer(string name) 19 | { 20 | _name = name; 21 | } 22 | 23 | public void DisplayEmployee() 24 | { 25 | Console.WriteLine(_name + " is a Developer"); 26 | } 27 | } 28 | 29 | class Designer : IEmployee 30 | { 31 | private string _name; 32 | 33 | public Designer(string name) 34 | { 35 | _name = name; 36 | } 37 | 38 | public void DisplayEmployee() 39 | { 40 | Console.WriteLine(_name + " is a Designer"); 41 | } 42 | } 43 | 44 | class Directory : IEmployee 45 | { 46 | private List directory = new List(); 47 | 48 | public void DisplayEmployee() 49 | { 50 | foreach(var d in directory) 51 | { 52 | d.DisplayEmployee(); 53 | } 54 | } 55 | 56 | public void Add(IEmployee e) 57 | { 58 | directory.Add(e); 59 | } 60 | 61 | public void Remove(IEmployee e) 62 | { 63 | directory.Remove(e); 64 | } 65 | } 66 | } 67 | /* 68 | var developer = new Developer("Bharath"); 69 | var disigner = new Designer("Sudarshan"); 70 | 71 | var directory = new Directory(); 72 | directory.Add(developer); 73 | directory.Add(disigner); 74 | 75 | directory.DisplayEmployee(); 76 | */ 77 | -------------------------------------------------------------------------------- /DesignPatternImplementation/Decorator/Decorator.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace DesignPatternImplementation.Decorator 8 | { 9 | public abstract class Pizza 10 | { 11 | public string name = "No Name"; 12 | 13 | public virtual string GetName() 14 | { 15 | return name; 16 | } 17 | 18 | public abstract int Cost(); 19 | } 20 | 21 | public abstract class Decorator : Pizza 22 | { 23 | public abstract new string GetName(); 24 | } 25 | 26 | public class FarmHouse : Pizza 27 | { 28 | public FarmHouse() 29 | { 30 | name = "FarmHouse"; 31 | } 32 | 33 | public override int Cost() 34 | { 35 | return 200; 36 | } 37 | } 38 | 39 | public class Margherita : Pizza 40 | { 41 | public Margherita() 42 | { 43 | name = "Margherita"; 44 | } 45 | 46 | public override int Cost() 47 | { 48 | return 100; 49 | } 50 | } 51 | 52 | public class Tomato : Decorator 53 | { 54 | private readonly Pizza _pizza; 55 | 56 | public Tomato(Pizza pizza) 57 | { 58 | _pizza = pizza; 59 | } 60 | 61 | public override int Cost() 62 | { 63 | return _pizza.Cost() + 50; 64 | } 65 | 66 | public override string GetName() 67 | { 68 | return _pizza.GetName() + ", Tomato"; 69 | } 70 | } 71 | } 72 | /* 73 | var pizza = new Margherita(); 74 | 75 | var iWantMore = new Tomato(pizza); 76 | 77 | Console.WriteLine(iWantMore.GetName() + " " + iWantMore.Cost()); 78 | 79 | Console.ReadLine(); 80 | */ 81 | -------------------------------------------------------------------------------- /DesignPatternImplementation/Facade/Facade.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace DesignPatternImplementation.Facade 8 | { 9 | public interface IBuild 10 | { 11 | void Construct(); 12 | } 13 | 14 | public class Building : IBuild 15 | { 16 | public void Construct() 17 | { 18 | Console.WriteLine("Building Constructed"); 19 | } 20 | } 21 | 22 | public class Table : IBuild 23 | { 24 | public void Construct() 25 | { 26 | Console.WriteLine("Table Constructed"); 27 | } 28 | } 29 | 30 | public class FacadeMaker 31 | { 32 | private IBuild _building; 33 | private IBuild _table; 34 | 35 | public FacadeMaker() 36 | { 37 | _building = new Building(); 38 | _table = new Table(); 39 | } 40 | 41 | public void BuildBuilding() 42 | { 43 | _building.Construct(); 44 | } 45 | 46 | public void BuildTable() 47 | { 48 | _table.Construct(); 49 | } 50 | } 51 | } 52 | 53 | /* 54 | var facade = new FacadeMaker(); 55 | facade.BuildBuilding(); 56 | facade.BuildTable(); 57 | 58 | Console.ReadLine(); 59 | */ 60 | -------------------------------------------------------------------------------- /DesignPatternImplementation/Factory/Factory.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace DesignPatternImplementation.Factory 8 | { 9 | public interface ILevel 10 | { 11 | void Play(); 12 | } 13 | 14 | public class Mountain : ILevel 15 | { 16 | public void Play() 17 | { 18 | Console.WriteLine("Construct and play in mountain"); 19 | } 20 | } 21 | 22 | public class Water : ILevel 23 | { 24 | public void Play() 25 | { 26 | Console.WriteLine("Construct and play in water"); 27 | } 28 | } 29 | 30 | public class Terrain : ILevel 31 | { 32 | public void Play() 33 | { 34 | Console.WriteLine("Construct and play in terrain"); 35 | } 36 | } 37 | 38 | public class GameFactory 39 | { 40 | public ILevel GetLevel(string level) 41 | { 42 | if(level == "mountain") 43 | { 44 | return new Mountain(); 45 | }else if (level == "water") 46 | { 47 | return new Water(); 48 | } 49 | 50 | return new Terrain(); 51 | } 52 | } 53 | } 54 | 55 | /* 56 | var factory = new GameFactory(); 57 | 58 | ILevel level1 = factory.GetLevel("terrain"); 59 | level1.Play(); 60 | 61 | ILevel level2 = factory.GetLevel("water"); 62 | level2.Play(); 63 | 64 | ILevel level3 = factory.GetLevel("mountain"); 65 | level3.Play(); 66 | 67 | Console.ReadLine(); 68 | */ 69 | -------------------------------------------------------------------------------- /DesignPatternImplementation/Flyweight/Flyweight.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace DesignPatternImplementation.Flyweight 8 | { 9 | public interface IVehicle 10 | { 11 | public void Drive(); 12 | } 13 | 14 | public class FlyweightCar : IVehicle 15 | { 16 | private string _color; 17 | private string _name; 18 | 19 | public FlyweightCar(string name) 20 | { 21 | _name = name; 22 | } 23 | 24 | public void Drive() 25 | { 26 | Console.WriteLine("Drive your " + _color + " " + _name); 27 | } 28 | 29 | public void SetColor(string color) 30 | { 31 | this._color = color; 32 | } 33 | } 34 | 35 | public class CarFactory 36 | { 37 | private static readonly Dictionary cars = 38 | new Dictionary(); 39 | 40 | public FlyweightCar GetCar(string name) 41 | { 42 | if (cars.ContainsKey(name)) 43 | { 44 | return cars[name]; 45 | } 46 | 47 | var car = new FlyweightCar(name); 48 | cars.Add(name, car); 49 | return car; 50 | } 51 | 52 | public int GetCount() 53 | { 54 | return cars.Count(); 55 | } 56 | } 57 | } 58 | /* 59 | var factory = new CarFactory(); 60 | var car1 = factory.GetCar("Jaguar F-Type"); 61 | car1.SetColor("Grey"); 62 | car1.Drive(); 63 | 64 | var car2 = factory.GetCar("Jaguar F-Type"); 65 | car2.SetColor("White"); 66 | car2.Drive(); 67 | 68 | var car3 = factory.GetCar("Jaguar XE"); 69 | car3.SetColor("Grey"); 70 | car3.Drive(); 71 | 72 | Console.WriteLine("Objects Created: " + factory.GetCount()); 73 | */ 74 | -------------------------------------------------------------------------------- /DesignPatternImplementation/Interpreter/Interpreter.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace DesignPatternImplementation.Interpreter 8 | { 9 | public class Context 10 | { 11 | private DateTime date; 12 | private string expression; 13 | 14 | public DateTime Date { get => date; set => date = value; } 15 | public string Expression { get => expression; set => expression = value; } 16 | } 17 | 18 | public abstract class AbstractExpression 19 | { 20 | public abstract void Evaluate(Context context); 21 | } 22 | 23 | public class DayExpression : AbstractExpression 24 | { 25 | public override void Evaluate(Context context) 26 | { 27 | string s = context.Expression; 28 | var d = context.Date.Day; 29 | string day = s.Replace("DD", d.ToString()); 30 | context.Expression = day; 31 | } 32 | } 33 | 34 | public class MonthExpression : AbstractExpression 35 | { 36 | public override void Evaluate(Context context) 37 | { 38 | string s = context.Expression; 39 | var m = context.Date.Month; 40 | string month = s.Replace("MM", m.ToString()); 41 | context.Expression = month; 42 | } 43 | } 44 | 45 | public class YearExpression : AbstractExpression 46 | { 47 | public override void Evaluate(Context context) 48 | { 49 | string s = context.Expression; 50 | var y = context.Date.Year; 51 | string year = s.Replace("YYYY", y.ToString()); 52 | context.Expression = year; 53 | } 54 | } 55 | } 56 | 57 | /* 58 | * var c = new Context(); 59 | c.Expression = "DD/MM/YYYY"; 60 | c.Date = DateTime.Now; 61 | 62 | var e = new DayExpression(); 63 | var m = new MonthExpression(); 64 | var y = new YearExpression(); 65 | e.Evaluate(c); 66 | m.Evaluate(c); 67 | y.Evaluate(c); 68 | Console.WriteLine(c.Expression); 69 | 70 | c.Expression = "MM/DD/YYYY"; 71 | c.Date = DateTime.Now; 72 | e.Evaluate(c); 73 | m.Evaluate(c); 74 | y.Evaluate(c); 75 | Console.WriteLine(c.Expression); 76 | 77 | Console.ReadLine(); 78 | */ 79 | -------------------------------------------------------------------------------- /DesignPatternImplementation/Iterator/Iterator.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace DesignPatternImplementation.Iterator 8 | { 9 | public interface Iterator 10 | { 11 | public bool HasNext(); 12 | public Object Next(); 13 | } 14 | 15 | public interface Container 16 | { 17 | public Iterator GetIterator(); 18 | } 19 | 20 | public class NameRepository : Container 21 | { 22 | private static string[] names = { "bharath", "kumar", "ganesh" }; 23 | 24 | public Iterator GetIterator() 25 | { 26 | return new NameIterator(); 27 | } 28 | 29 | private class NameIterator : Iterator 30 | { 31 | int index; 32 | public bool HasNext() 33 | { 34 | if (index < names.Length) 35 | { 36 | return true; 37 | } 38 | return false; 39 | } 40 | 41 | public object Next() 42 | { 43 | if (HasNext()) 44 | { 45 | return names[index++]; 46 | } 47 | 48 | return null; 49 | } 50 | } 51 | } 52 | } 53 | 54 | /* 55 | var repo = new NameRepository(); 56 | var i = repo.GetIterator(); 57 | while (i.HasNext()) 58 | { 59 | Console.WriteLine(i.Next()); 60 | } 61 | */ 62 | -------------------------------------------------------------------------------- /DesignPatternImplementation/Mediator/Mediator.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace DesignPatternImplementation.Mediator 8 | { 9 | public interface Mediator 10 | { 11 | public void BroadcastMessage(string msg, User user); 12 | void AddUser(User user); 13 | } 14 | 15 | public abstract class User 16 | { 17 | protected Mediator _mediator; 18 | protected string _name; 19 | 20 | public User(Mediator m, string name) 21 | { 22 | _mediator = m; 23 | _name = name; 24 | } 25 | public abstract void Send(String msg); 26 | 27 | public abstract void Receive(String msg); 28 | } 29 | 30 | public class MediatorImpl : Mediator 31 | { 32 | private List users; 33 | 34 | public MediatorImpl() 35 | { 36 | this.users = new List(); 37 | } 38 | 39 | public void AddUser(User user) 40 | { 41 | this.users.Add(user); 42 | } 43 | 44 | public void BroadcastMessage(string msg, User user) 45 | { 46 | foreach(var userObj in users) 47 | { 48 | if (userObj != user) 49 | userObj.Receive(msg); 50 | } 51 | } 52 | } 53 | 54 | public class UserImpl : User 55 | { 56 | public UserImpl(Mediator m, string name): base(m, name) 57 | { } 58 | 59 | public override void Receive(string msg) 60 | { 61 | Console.WriteLine(this._name + ": " + msg); 62 | } 63 | 64 | public override void Send(string msg) 65 | { 66 | _mediator.BroadcastMessage(msg, this); 67 | } 68 | } 69 | } 70 | /* 71 | var mediatorObj = new MediatorImpl(); 72 | var u1 = new UserImpl(mediatorObj, "Bharath"); 73 | var u2 = new UserImpl(mediatorObj, "Kumar"); 74 | var u3 = new UserImpl(mediatorObj, "Ganesh"); 75 | mediatorObj.AddUser(u1); 76 | mediatorObj.AddUser(u2); 77 | mediatorObj.AddUser(u3); 78 | u1.Send("Hello"); 79 | 80 | u2.Send("Cool and Simple"); 81 | */ 82 | -------------------------------------------------------------------------------- /DesignPatternImplementation/Memento/Memento.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace DesignPatternImplementation.Memento 8 | { 9 | //Originator, memento and caretaker 10 | public class TimeMachine 11 | { 12 | private string time; 13 | 14 | public void Set(string time) 15 | { 16 | Console.WriteLine("Setting time to " + time); 17 | this.time = time; 18 | } 19 | 20 | public Memento SaveToMemento() 21 | { 22 | Console.WriteLine("Saving time to memento"); 23 | return new Memento(time); 24 | } 25 | 26 | public void Restore(Memento m) 27 | { 28 | time = m.Get(); 29 | Console.WriteLine("Time restored from memento: " + time); 30 | } 31 | 32 | 33 | public class Memento 34 | { 35 | private readonly string _time; 36 | 37 | public Memento(string time) 38 | { 39 | _time = time; 40 | } 41 | 42 | public string Get() 43 | { 44 | return _time; 45 | } 46 | } 47 | 48 | } 49 | } 50 | /* 51 | //The names of some variable is cut shot to focus on concepts than standards. 52 | //When you try at home or office, please follow all the coding standards. 53 | 54 | var tm = new TimeMachine(); 55 | var careTaker = new List(); 56 | 57 | tm.Set("1000 BC"); 58 | careTaker.Add(tm.SaveToMemento()); 59 | 60 | tm.Set("1000 AD"); 61 | careTaker.Add(tm.SaveToMemento()); 62 | 63 | tm.Set("2000 AD"); 64 | careTaker.Add(tm.SaveToMemento()); 65 | 66 | tm.Restore(careTaker[1]); 67 | */ 68 | -------------------------------------------------------------------------------- /DesignPatternImplementation/Observer/Observer.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace DesignPatternImplementation.Observer 8 | { 9 | public abstract class Observer 10 | { 11 | protected Subject subject; 12 | public abstract void Update(); 13 | } 14 | 15 | public class Subject 16 | { 17 | private List observers = new List(); 18 | private int state; 19 | 20 | public int GetState() 21 | { 22 | return state; 23 | } 24 | 25 | public void SetState(int state) 26 | { 27 | this.state = state; 28 | NotifyAllObservers(); 29 | } 30 | 31 | public void NotifyAllObservers() 32 | { 33 | foreach(var observer in observers) 34 | { 35 | observer.Update(); 36 | } 37 | } 38 | 39 | public void Attach(Observer observer) 40 | { 41 | observers.Add(observer); 42 | } 43 | } 44 | 45 | public class HexObserver : Observer 46 | { 47 | public readonly Subject _subject; 48 | 49 | public HexObserver(Subject subject) 50 | { 51 | this._subject = subject; 52 | this._subject.Attach(this); 53 | } 54 | 55 | public override void Update() 56 | { 57 | Console.WriteLine("The hex value is:" + _subject.GetState().ToString("X")); 58 | } 59 | } 60 | 61 | public class BinaryObserver : Observer 62 | { 63 | public readonly Subject _subject; 64 | 65 | public BinaryObserver(Subject subject) 66 | { 67 | this._subject = subject; 68 | this._subject.Attach(this); 69 | } 70 | 71 | public override void Update() 72 | { 73 | Console.WriteLine("The binary value is:" + Convert.ToString(_subject.GetState(),2)); 74 | } 75 | } 76 | } 77 | /* 78 | Subject subject = new Subject(); 79 | new HexObserver(subject); 80 | new BinaryObserver(subject); 81 | 82 | subject.SetState(10); 83 | 84 | subject.SetState(20); 85 | */ 86 | -------------------------------------------------------------------------------- /DesignPatternImplementation/Program.cs: -------------------------------------------------------------------------------- 1 | using DesignPatternImplementation.Adapter; 2 | using DesignPatternImplementation.Bridge; 3 | using DesignPatternImplementation.ChainOfResponsibilities; 4 | using DesignPatternImplementation.CommandDP; 5 | using DesignPatternImplementation.Composite; 6 | using DesignPatternImplementation.Decorator; 7 | using DesignPatternImplementation.Facade; 8 | using DesignPatternImplementation.Flyweight; 9 | using DesignPatternImplementation.Interpreter; 10 | using DesignPatternImplementation.Iterator; 11 | using DesignPatternImplementation.Mediator; 12 | using DesignPatternImplementation.Memento; 13 | using DesignPatternImplementation.Observer; 14 | using DesignPatternImplementation.Proxy; 15 | using DesignPatternImplementation.State; 16 | using DesignPatternImplementation.Strategy; 17 | using DesignPatternImplementation.TemplateMethod; 18 | using DesignPatternImplementation.Visitor; 19 | using DesignPatternImplementation.SingletonImpl; 20 | using System; 21 | using System.Collections.Generic; 22 | using System.Linq; 23 | using System.Text; 24 | using System.Threading.Tasks; 25 | using DesignPatternImplementation.Prototype; 26 | using DesignPatternImplementation.Factory; 27 | using DesignPatternImplementation.Builder; 28 | using DesignPatternImplementation.AbstractFactoryDesignPattern; 29 | using DesignPatternImplementation.ActiveObjectDesignPattern; 30 | using System.Threading; 31 | 32 | namespace DesignPatternImplementation 33 | { 34 | class Program 35 | { 36 | static void Main(string[] args) 37 | { 38 | 39 | Console.ReadLine(); 40 | } 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /DesignPatternImplementation/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // General Information about an assembly is controlled through the following 6 | // set of attributes. Change these attribute values to modify the information 7 | // associated with an assembly. 8 | [assembly: AssemblyTitle("DesignPatternImplementation")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("")] 12 | [assembly: AssemblyProduct("DesignPatternImplementation")] 13 | [assembly: AssemblyCopyright("Copyright © 2017")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // Setting ComVisible to false makes the types in this assembly not visible 18 | // to COM components. If you need to access a type in this assembly from 19 | // COM, set the ComVisible attribute to true on that type. 20 | [assembly: ComVisible(false)] 21 | 22 | // The following GUID is for the ID of the typelib if this project is exposed to COM 23 | [assembly: Guid("1e40013c-fafc-4cd2-b67f-76701f10e388")] 24 | 25 | // Version information for an assembly consists of the following four values: 26 | // 27 | // Major Version 28 | // Minor Version 29 | // Build Number 30 | // Revision 31 | // 32 | // You can specify all the values or you can default the Build and Revision Numbers 33 | // by using the '*' as shown below: 34 | // [assembly: AssemblyVersion("1.0.*")] 35 | [assembly: AssemblyVersion("1.0.0.0")] 36 | [assembly: AssemblyFileVersion("1.0.0.0")] 37 | -------------------------------------------------------------------------------- /DesignPatternImplementation/Prototype/Prototype.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace DesignPatternImplementation.Prototype 8 | { 9 | public class Language : ICloneable 10 | { 11 | private List _languages = new List(); 12 | 13 | public void Load() 14 | { 15 | //This is a database operation 16 | _languages.Add("C#"); 17 | _languages.Add("Java"); 18 | _languages.Add("Groovy"); 19 | } 20 | 21 | public List Get() 22 | { 23 | return _languages; 24 | } 25 | 26 | public void Print() 27 | { 28 | foreach(var l in _languages) 29 | { 30 | Console.Write(l + " "); 31 | } 32 | } 33 | 34 | public object Clone() 35 | { 36 | return this.MemberwiseClone(); 37 | } 38 | } 39 | } 40 | /* 41 | var language = new Language(); 42 | language.Load(); 43 | 44 | var cloned = (Language)language.Clone(); 45 | var cloneList = cloned.Get(); 46 | cloneList.Add("Python"); 47 | 48 | cloned.Print(); 49 | */ 50 | -------------------------------------------------------------------------------- /DesignPatternImplementation/Proxy/Proxy.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace DesignPatternImplementation.Proxy 8 | { 9 | public interface IImage 10 | { 11 | public void ShowImage(bool clicked); 12 | } 13 | 14 | public class ImageProxy : IImage 15 | { 16 | 17 | private string _imagePath; 18 | 19 | private IImage _proxifiedImage; 20 | 21 | public ImageProxy(string path) 22 | { 23 | _imagePath = path; 24 | } 25 | public void ShowImage(bool clicked) 26 | { 27 | if (clicked) 28 | { 29 | _proxifiedImage = new ActualImage(_imagePath); 30 | _proxifiedImage.ShowImage(true); 31 | } 32 | else 33 | { 34 | Console.WriteLine("Showing thumbnail of " + _imagePath); 35 | } 36 | } 37 | } 38 | 39 | public class ActualImage : IImage 40 | { 41 | private string _path; 42 | 43 | public ActualImage(string path) 44 | { 45 | _path = path; 46 | LoadHighResolutionImage(path); 47 | } 48 | 49 | private void LoadHighResolutionImage(string path) 50 | { 51 | Console.WriteLine("Reading large image from disk to memory of " + path); 52 | } 53 | public void ShowImage(bool clicked = true) 54 | { 55 | Console.WriteLine("Render large image of " + _path); 56 | } 57 | } 58 | } 59 | /* 60 | var image1 = new ImageProxy("sample/photo1"); 61 | image1.ShowImage(false); 62 | 63 | var image2 = new ImageProxy("sample/photo2"); 64 | image2.ShowImage(true); 65 | */ 66 | -------------------------------------------------------------------------------- /DesignPatternImplementation/Singleton/Singleton.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace DesignPatternImplementation.SingletonImpl 8 | { 9 | public sealed class Singleton 10 | { 11 | Singleton() { } 12 | 13 | private static readonly object padlock = new object(); 14 | private static Singleton instance = null; 15 | 16 | public static Singleton Instance 17 | { 18 | get 19 | { 20 | lock (padlock) 21 | { 22 | if(instance == null) 23 | { 24 | instance = new Singleton(); 25 | Console.WriteLine("Object Created"); 26 | } 27 | else 28 | { 29 | Console.WriteLine("Returned Created Object"); 30 | } 31 | 32 | return instance; 33 | } 34 | } 35 | } 36 | } 37 | } 38 | 39 | /* 40 | var instance = Singleton.Instance; 41 | var instance1 = Singleton.Instance; 42 | var instance2 = Singleton.Instance; 43 | */ 44 | -------------------------------------------------------------------------------- /DesignPatternImplementation/State/State.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace DesignPatternImplementation.State 8 | { 9 | public interface IState 10 | { 11 | public void DoAction(); 12 | } 13 | 14 | public class TVOn : IState 15 | { 16 | public void DoAction() 17 | { 18 | Console.WriteLine("TV is on"); 19 | } 20 | } 21 | 22 | public class TVOff : IState 23 | { 24 | public void DoAction() 25 | { 26 | Console.WriteLine("TV is off"); 27 | } 28 | } 29 | 30 | public class TVContext : IState 31 | { 32 | private IState _state; 33 | 34 | public void SetState(IState state) 35 | { 36 | this._state = state; 37 | DoAction(); 38 | } 39 | 40 | public void DoAction() 41 | { 42 | this._state.DoAction(); 43 | } 44 | } 45 | } 46 | /* 47 | var context = new TVContext(); 48 | var tvOn = new TVOn(); 49 | var tvOff = new TVOff(); 50 | 51 | context.SetState(tvOn); 52 | context.SetState(tvOff); 53 | 54 | Console.ReadLine(); 55 | */ 56 | -------------------------------------------------------------------------------- /DesignPatternImplementation/Strategy/Strategy.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace DesignPatternImplementation.Strategy 8 | { 9 | public interface ICompressionStrategy 10 | { 11 | public void CompressFile(); 12 | } 13 | 14 | public class ZipCompression : ICompressionStrategy 15 | { 16 | public void CompressFile() 17 | { 18 | Console.WriteLine("Compression using zip"); 19 | } 20 | } 21 | 22 | public class RarCompression : ICompressionStrategy 23 | { 24 | public void CompressFile() 25 | { 26 | Console.WriteLine("Compression using rar"); 27 | } 28 | } 29 | 30 | public class CompressionContext 31 | { 32 | private ICompressionStrategy _compressionStrategy; 33 | 34 | public void SetCompressionStrategy(ICompressionStrategy strategy) 35 | { 36 | this._compressionStrategy = strategy; 37 | } 38 | 39 | public void Archive() 40 | { 41 | this._compressionStrategy.CompressFile(); 42 | } 43 | } 44 | } 45 | 46 | /* 47 | var context = new CompressionContext(); 48 | 49 | context.SetCompressionStrategy(new ZipCompression()); 50 | context.Archive(); 51 | 52 | context.SetCompressionStrategy(new RarCompression()); 53 | context.Archive(); 54 | 55 | Console.ReadLine(); 56 | */ 57 | -------------------------------------------------------------------------------- /DesignPatternImplementation/TemplateMethod/TemplateMethod.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace DesignPatternImplementation.TemplateMethod 8 | { 9 | public abstract class OrderTemplate 10 | { 11 | public abstract void Choose(); 12 | public abstract void Pay(); 13 | public abstract void Deliver(); 14 | 15 | public bool isMember; 16 | 17 | public void Discount() 18 | { 19 | Console.WriteLine("Additional 10% discount processed for member"); 20 | } 21 | 22 | public void Process(bool isMember) 23 | { 24 | Choose(); 25 | if (isMember) 26 | { 27 | Discount(); 28 | } 29 | Pay(); 30 | Deliver(); 31 | } 32 | } 33 | 34 | public class Online : OrderTemplate 35 | { 36 | public override void Choose() 37 | { 38 | Console.WriteLine("Product selected online."); 39 | } 40 | 41 | public override void Deliver() 42 | { 43 | Console.WriteLine("Product delivered(online)."); 44 | } 45 | 46 | public override void Pay() 47 | { 48 | Console.WriteLine("Paid online."); 49 | } 50 | } 51 | 52 | public class Offline : OrderTemplate 53 | { 54 | public override void Choose() 55 | { 56 | Console.WriteLine("Product selected offine."); 57 | } 58 | 59 | public override void Deliver() 60 | { 61 | Console.WriteLine("Product delivered(offline)."); 62 | } 63 | 64 | public override void Pay() 65 | { 66 | Console.WriteLine("Paid offline."); 67 | } 68 | } 69 | } 70 | 71 | /* 72 | var onlineOrder = new Online(); 73 | onlineOrder.Process(true); 74 | 75 | Console.WriteLine(); 76 | 77 | var offlineOrder = new Offline(); 78 | offlineOrder.Process(false); 79 | */ 80 | -------------------------------------------------------------------------------- /DesignPatternImplementation/Visitor/Visitor.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace DesignPatternImplementation.Visitor 8 | { 9 | public interface Router 10 | { 11 | public void SendData(char[] data); 12 | public void ReceiveData(char[] data); 13 | 14 | public void Accept(Visitable v); 15 | } 16 | 17 | public interface Visitable 18 | { 19 | public void Visit(DLinkRouter router); 20 | public void Visit(TPLinkRouter router); 21 | } 22 | 23 | public class DLinkRouter : Router 24 | { 25 | public void ReceiveData(char[] data) 26 | { } 27 | 28 | public void SendData(char[] data) 29 | { } 30 | 31 | public void Accept(Visitable v) 32 | { 33 | v.Visit(this); 34 | } 35 | } 36 | 37 | public class TPLinkRouter : Router 38 | { 39 | public void ReceiveData(char[] data) 40 | { } 41 | 42 | public void SendData(char[] data) 43 | { } 44 | 45 | public void Accept(Visitable v) 46 | { 47 | v.Visit(this); 48 | } 49 | } 50 | 51 | public class LinuxConfigurator : Visitable 52 | { 53 | public void Visit(DLinkRouter router) 54 | { 55 | Console.WriteLine("DLinkRouter Linux configuration done."); 56 | } 57 | 58 | public void Visit(TPLinkRouter router) 59 | { 60 | Console.WriteLine("TPLinkRouter Linux configuration done."); 61 | } 62 | } 63 | 64 | public class WindowsConfigurator : Visitable 65 | { 66 | public void Visit(DLinkRouter router) 67 | { 68 | Console.WriteLine("DLinkRouter Windows configuration done."); 69 | } 70 | 71 | public void Visit(TPLinkRouter router) 72 | { 73 | Console.WriteLine("TPLinkRouter Windows configuration done."); 74 | } 75 | } 76 | } 77 | 78 | /* 79 | var linuxConfigurator = new LinuxConfigurator(); 80 | var dLinkRouter = new DLinkRouter(); 81 | var tpLinkRouter = new TPLinkRouter(); 82 | linuxConfigurator.Visit(dLinkRouter); 83 | linuxConfigurator.Visit(tpLinkRouter); 84 | 85 | Console.WriteLine(); 86 | 87 | var windowsConfigurator = new WindowsConfigurator(); 88 | windowsConfigurator.Visit(dLinkRouter); 89 | windowsConfigurator.Visit(tpLinkRouter); 90 | 91 | Console.ReadLine(); 92 | */ 93 | -------------------------------------------------------------------------------- /DesignPatternImplementation/bin/Debug/DesignPatternImplementation.exe.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /DesignPatternImplementation/obj/Debug/.NETFramework,Version=v4.5.2.AssemblyAttributes.cs: -------------------------------------------------------------------------------- 1 | // 2 | using System; 3 | using System.Reflection; 4 | [assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETFramework,Version=v4.5.2", FrameworkDisplayName = ".NET Framework 4.5.2")] 5 | -------------------------------------------------------------------------------- /DesignPatternImplementation/obj/Debug/DesignPatternImplementation.csproj.FileListAbsolute.txt: -------------------------------------------------------------------------------- 1 | D:\AlgorithmsMadeEasyRepo\AlgorithmsMadeEasy\DesignPatternImplementation\bin\Debug\DesignPatternImplementation.exe.config 2 | D:\AlgorithmsMadeEasyRepo\AlgorithmsMadeEasy\DesignPatternImplementation\bin\Debug\DesignPatternImplementation.exe 3 | D:\AlgorithmsMadeEasyRepo\AlgorithmsMadeEasy\DesignPatternImplementation\bin\Debug\DesignPatternImplementation.pdb 4 | D:\AlgorithmsMadeEasyRepo\AlgorithmsMadeEasy\DesignPatternImplementation\obj\Debug\DesignPatternImplementation.csprojResolveAssemblyReference.cache 5 | D:\AlgorithmsMadeEasyRepo\AlgorithmsMadeEasy\DesignPatternImplementation\obj\Debug\DesignPatternImplementation.exe 6 | D:\AlgorithmsMadeEasyRepo\AlgorithmsMadeEasy\DesignPatternImplementation\obj\Debug\DesignPatternImplementation.pdb 7 | C:\AlgorithmsMadeEasy\DesignPatternImplementation\bin\Debug\DesignPatternImplementation.exe.config 8 | C:\AlgorithmsMadeEasy\DesignPatternImplementation\bin\Debug\DesignPatternImplementation.exe 9 | C:\AlgorithmsMadeEasy\DesignPatternImplementation\bin\Debug\DesignPatternImplementation.pdb 10 | C:\AlgorithmsMadeEasy\DesignPatternImplementation\obj\Debug\DesignPatternImplementation.csprojAssemblyReference.cache 11 | C:\AlgorithmsMadeEasy\DesignPatternImplementation\obj\Debug\DesignPatternImplementation.exe 12 | C:\AlgorithmsMadeEasy\DesignPatternImplementation\obj\Debug\DesignPatternImplementation.pdb 13 | D:\AlgorithmsMadeEasy\DesignPatternImplementation\bin\Debug\DesignPatternImplementation.exe.config 14 | D:\AlgorithmsMadeEasy\DesignPatternImplementation\bin\Debug\DesignPatternImplementation.exe 15 | D:\AlgorithmsMadeEasy\DesignPatternImplementation\bin\Debug\DesignPatternImplementation.pdb 16 | D:\AlgorithmsMadeEasy\DesignPatternImplementation\obj\Debug\DesignPatternImplementation.csprojAssemblyReference.cache 17 | D:\AlgorithmsMadeEasy\DesignPatternImplementation\obj\Debug\DesignPatternImplementation.exe 18 | D:\AlgorithmsMadeEasy\DesignPatternImplementation\obj\Debug\DesignPatternImplementation.pdb 19 | D:\AlgorithmsMadeEasy\DesignPatternImplementation\obj\Debug\DesignPatternImplementation.csproj.CoreCompileInputs.cache 20 | -------------------------------------------------------------------------------- /DesignPatternImplementation/obj/Debug/TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bharathkumarms/AlgorithmsMadeEasy/0ca64996c9b057b43d3e0b3c0536b32b3fc72fa6/DesignPatternImplementation/obj/Debug/TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs -------------------------------------------------------------------------------- /DesignPatternImplementation/obj/Debug/TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bharathkumarms/AlgorithmsMadeEasy/0ca64996c9b057b43d3e0b3c0536b32b3fc72fa6/DesignPatternImplementation/obj/Debug/TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs -------------------------------------------------------------------------------- /DesignPatternImplementation/obj/Debug/TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bharathkumarms/AlgorithmsMadeEasy/0ca64996c9b057b43d3e0b3c0536b32b3fc72fa6/DesignPatternImplementation/obj/Debug/TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs -------------------------------------------------------------------------------- /DesignPatternsTests/Command/CommandTests.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using Microsoft.VisualStudio.TestTools.UnitTesting; 3 | using DesignPatternImplementation.Command; 4 | 5 | namespace DesignPatternsTests.Command 6 | { 7 | [TestClass] 8 | public class CommandTests 9 | { 10 | [TestMethod] 11 | public void ShouldAddTextCommand() 12 | { 13 | var controller = new Controller(); 14 | IAppCommand addTextCommand = new AddTextCommand(); 15 | var addTextReference = controller.AddCommand(addTextCommand); 16 | var expected = "1234"; 17 | controller.GetCommandAt(addTextReference).Execute(expected); 18 | Assert.AreEqual(expected, controller.GetBuiltString()); 19 | Assert.AreEqual(expected, controller.GetCommandAt(addTextReference).sb.ToString()); 20 | } 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /DesignPatternsTests/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | [assembly: AssemblyTitle("DesignPatternsTests")] 6 | [assembly: AssemblyDescription("")] 7 | [assembly: AssemblyConfiguration("")] 8 | [assembly: AssemblyCompany("")] 9 | [assembly: AssemblyProduct("DesignPatternsTests")] 10 | [assembly: AssemblyCopyright("Copyright © 2017")] 11 | [assembly: AssemblyTrademark("")] 12 | [assembly: AssemblyCulture("")] 13 | 14 | [assembly: ComVisible(false)] 15 | 16 | [assembly: Guid("cb61b723-06f7-4cf4-9a58-cba4d19eb2af")] 17 | 18 | // [assembly: AssemblyVersion("1.0.*")] 19 | [assembly: AssemblyVersion("1.0.0.0")] 20 | [assembly: AssemblyFileVersion("1.0.0.0")] 21 | -------------------------------------------------------------------------------- /DesignPatternsTests/bin/Debug/DesignPatternImplementation.exe.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /DesignPatternsTests/obj/Debug/DesignPatternsTests.csproj.FileListAbsolute.txt: -------------------------------------------------------------------------------- 1 | D:\AlgorithmsMadeEasyRepo\AlgorithmsMadeEasy\DesignPatternsTests\bin\Debug\Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.dll 2 | D:\AlgorithmsMadeEasyRepo\AlgorithmsMadeEasy\DesignPatternsTests\bin\Debug\Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.Interface.dll 3 | D:\AlgorithmsMadeEasyRepo\AlgorithmsMadeEasy\DesignPatternsTests\bin\Debug\Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.dll 4 | D:\AlgorithmsMadeEasyRepo\AlgorithmsMadeEasy\DesignPatternsTests\bin\Debug\DesignPatternsTests.dll 5 | D:\AlgorithmsMadeEasyRepo\AlgorithmsMadeEasy\DesignPatternsTests\bin\Debug\DesignPatternsTests.pdb 6 | D:\AlgorithmsMadeEasyRepo\AlgorithmsMadeEasy\DesignPatternsTests\bin\Debug\DesignPatternImplementation.exe 7 | D:\AlgorithmsMadeEasyRepo\AlgorithmsMadeEasy\DesignPatternsTests\bin\Debug\Microsoft.VisualStudio.TestPlatform.TestFramework.dll 8 | D:\AlgorithmsMadeEasyRepo\AlgorithmsMadeEasy\DesignPatternsTests\bin\Debug\Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.dll 9 | D:\AlgorithmsMadeEasyRepo\AlgorithmsMadeEasy\DesignPatternsTests\bin\Debug\DesignPatternImplementation.pdb 10 | D:\AlgorithmsMadeEasyRepo\AlgorithmsMadeEasy\DesignPatternsTests\bin\Debug\DesignPatternImplementation.exe.config 11 | D:\AlgorithmsMadeEasyRepo\AlgorithmsMadeEasy\DesignPatternsTests\bin\Debug\Microsoft.VisualStudio.TestPlatform.TestFramework.xml 12 | D:\AlgorithmsMadeEasyRepo\AlgorithmsMadeEasy\DesignPatternsTests\bin\Debug\Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml 13 | D:\AlgorithmsMadeEasyRepo\AlgorithmsMadeEasy\DesignPatternsTests\obj\Debug\DesignPatternsTests.csprojResolveAssemblyReference.cache 14 | D:\AlgorithmsMadeEasyRepo\AlgorithmsMadeEasy\DesignPatternsTests\obj\Debug\DesignPatternsTests.dll 15 | D:\AlgorithmsMadeEasyRepo\AlgorithmsMadeEasy\DesignPatternsTests\obj\Debug\DesignPatternsTests.pdb 16 | -------------------------------------------------------------------------------- /DesignPatternsTests/obj/Debug/TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bharathkumarms/AlgorithmsMadeEasy/0ca64996c9b057b43d3e0b3c0536b32b3fc72fa6/DesignPatternsTests/obj/Debug/TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs -------------------------------------------------------------------------------- /DesignPatternsTests/obj/Debug/TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bharathkumarms/AlgorithmsMadeEasy/0ca64996c9b057b43d3e0b3c0536b32b3fc72fa6/DesignPatternsTests/obj/Debug/TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs -------------------------------------------------------------------------------- /DesignPatternsTests/obj/Debug/TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bharathkumarms/AlgorithmsMadeEasy/0ca64996c9b057b43d3e0b3c0536b32b3fc72fa6/DesignPatternsTests/obj/Debug/TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs -------------------------------------------------------------------------------- /DesignPatternsTests/packages.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # AlgorithmsMadeEasy 2 | Solved following algorithms and explained design patterns along with sample inputs, 3 | BinarySearchTree, 4 | BubbleSort, 5 | CuttingRod, 6 | InsertionSort, 7 | KMPSubstringSearch, 8 | LongestPalindromicSubsequence, 9 | MaximumRectangularArea, 10 | MaximumSizeRectangle, 11 | MergeSort, 12 | MinimumCoinChange, 13 | MinimumCostPathInMatrix, 14 | MinimumJumpToReachEnd, 15 | QuickSort, 16 | SelectionSort, 17 | StaircaseProblemFibonacciSeries, 18 | StringInterleaving, 19 | TopologicalSortGraphAlgorithm, 20 | WeightedJobScheduling. 21 | 22 | Please checkout my YouTube Channel for detailed explanation, 23 | 24 | https://www.youtube.com/channel/UCLfy0xojGef-4cnFhp_xTng?view_as=subscriber 25 | -------------------------------------------------------------------------------- /packages/MSTest.TestAdapter.1.1.11/MSTest.TestAdapter.1.1.11.nupkg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bharathkumarms/AlgorithmsMadeEasy/0ca64996c9b057b43d3e0b3c0536b32b3fc72fa6/packages/MSTest.TestAdapter.1.1.11/MSTest.TestAdapter.1.1.11.nupkg -------------------------------------------------------------------------------- /packages/MSTest.TestAdapter.1.1.11/build/net45/MSTest.TestAdapter.props: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.dll 6 | PreserveNewest 7 | False 8 | 9 | 10 | Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.Interface.dll 11 | PreserveNewest 12 | False 13 | 14 | 15 | Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.dll 16 | PreserveNewest 17 | False 18 | 19 | 20 | -------------------------------------------------------------------------------- /packages/MSTest.TestAdapter.1.1.11/build/netstandard1.0/MSTest.TestAdapter.props: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.dll 6 | PreserveNewest 7 | False 8 | 9 | 10 | Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.Interface.dll 11 | PreserveNewest 12 | False 13 | 14 | 15 | Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.dll 16 | PreserveNewest 17 | False 18 | 19 | 20 | -------------------------------------------------------------------------------- /packages/MSTest.TestAdapter.1.1.11/build/uap10.0/MSTest.TestAdapter.props: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.dll 6 | PreserveNewest 7 | False 8 | 9 | 10 | Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.Interface.dll 11 | PreserveNewest 12 | False 13 | 14 | 15 | Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.dll 16 | PreserveNewest 17 | False 18 | 19 | 20 | -------------------------------------------------------------------------------- /packages/MSTest.TestFramework.1.1.11/MSTest.TestFramework.1.1.11.nupkg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bharathkumarms/AlgorithmsMadeEasy/0ca64996c9b057b43d3e0b3c0536b32b3fc72fa6/packages/MSTest.TestFramework.1.1.11/MSTest.TestFramework.1.1.11.nupkg -------------------------------------------------------------------------------- /packages/MSTest.TestFramework.1.1.11/lib/dotnet/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.XML: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions 5 | 6 | 7 | 8 | 9 | TestContext class. This class should be fully abstract and not contain any 10 | members. The adapter will implement the members. Users in the framework should 11 | only access this via a well-defined interface. 12 | 13 | 14 | 15 | 16 | Gets test properties for a test. 17 | 18 | 19 | 20 | 21 | 22 | Gets Fully-qualified name of the class containing the test method currently being executed 23 | 24 | 25 | This property can be useful in attributes derived from ExpectedExceptionBaseAttribute. 26 | Those attributes have access to the test context, and provide messages that are included 27 | in the test results. Users can benefit from messages that include the fully-qualified 28 | class name in addition to the name of the test method currently being executed. 29 | 30 | 31 | 32 | 33 | Gets the Name of the test method currently being executed 34 | 35 | 36 | 37 | 38 | Gets the current test outcome. 39 | 40 | 41 | 42 | 43 | -------------------------------------------------------------------------------- /packages/MSTest.TestFramework.1.1.11/lib/dotnet/cs/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.XML: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions 5 | 6 | 7 | 8 | 9 | TestContext class. This class should be fully abstract and not contain any 10 | members. The adapter will implement the members. Users in the framework should 11 | only access this via a well-defined interface. 12 | 13 | 14 | 15 | 16 | Gets test properties for a test. 17 | 18 | 19 | 20 | 21 | 22 | Gets Fully-qualified name of the class containing the test method currently being executed 23 | 24 | 25 | This property can be useful in attributes derived from ExpectedExceptionBaseAttribute. 26 | Those attributes have access to the test context, and provide messages that are included 27 | in the test results. Users can benefit from messages that include the fully-qualified 28 | class name in addition to the name of the test method currently being executed. 29 | 30 | 31 | 32 | 33 | Gets the Name of the test method currently being executed 34 | 35 | 36 | 37 | 38 | Gets the current test outcome. 39 | 40 | 41 | 42 | 43 | -------------------------------------------------------------------------------- /packages/MSTest.TestFramework.1.1.11/lib/dotnet/de/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.XML: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions 5 | 6 | 7 | 8 | 9 | TestContext class. This class should be fully abstract and not contain any 10 | members. The adapter will implement the members. Users in the framework should 11 | only access this via a well-defined interface. 12 | 13 | 14 | 15 | 16 | Gets test properties for a test. 17 | 18 | 19 | 20 | 21 | 22 | Gets Fully-qualified name of the class containing the test method currently being executed 23 | 24 | 25 | This property can be useful in attributes derived from ExpectedExceptionBaseAttribute. 26 | Those attributes have access to the test context, and provide messages that are included 27 | in the test results. Users can benefit from messages that include the fully-qualified 28 | class name in addition to the name of the test method currently being executed. 29 | 30 | 31 | 32 | 33 | Gets the Name of the test method currently being executed 34 | 35 | 36 | 37 | 38 | Gets the current test outcome. 39 | 40 | 41 | 42 | 43 | -------------------------------------------------------------------------------- /packages/MSTest.TestFramework.1.1.11/lib/dotnet/es/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.XML: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions 5 | 6 | 7 | 8 | 9 | TestContext class. This class should be fully abstract and not contain any 10 | members. The adapter will implement the members. Users in the framework should 11 | only access this via a well-defined interface. 12 | 13 | 14 | 15 | 16 | Gets test properties for a test. 17 | 18 | 19 | 20 | 21 | 22 | Gets Fully-qualified name of the class containing the test method currently being executed 23 | 24 | 25 | This property can be useful in attributes derived from ExpectedExceptionBaseAttribute. 26 | Those attributes have access to the test context, and provide messages that are included 27 | in the test results. Users can benefit from messages that include the fully-qualified 28 | class name in addition to the name of the test method currently being executed. 29 | 30 | 31 | 32 | 33 | Gets the Name of the test method currently being executed 34 | 35 | 36 | 37 | 38 | Gets the current test outcome. 39 | 40 | 41 | 42 | 43 | -------------------------------------------------------------------------------- /packages/MSTest.TestFramework.1.1.11/lib/dotnet/fr/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.XML: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions 5 | 6 | 7 | 8 | 9 | TestContext class. This class should be fully abstract and not contain any 10 | members. The adapter will implement the members. Users in the framework should 11 | only access this via a well-defined interface. 12 | 13 | 14 | 15 | 16 | Gets test properties for a test. 17 | 18 | 19 | 20 | 21 | 22 | Gets Fully-qualified name of the class containing the test method currently being executed 23 | 24 | 25 | This property can be useful in attributes derived from ExpectedExceptionBaseAttribute. 26 | Those attributes have access to the test context, and provide messages that are included 27 | in the test results. Users can benefit from messages that include the fully-qualified 28 | class name in addition to the name of the test method currently being executed. 29 | 30 | 31 | 32 | 33 | Gets the Name of the test method currently being executed 34 | 35 | 36 | 37 | 38 | Gets the current test outcome. 39 | 40 | 41 | 42 | 43 | -------------------------------------------------------------------------------- /packages/MSTest.TestFramework.1.1.11/lib/dotnet/it/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.XML: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions 5 | 6 | 7 | 8 | 9 | TestContext class. This class should be fully abstract and not contain any 10 | members. The adapter will implement the members. Users in the framework should 11 | only access this via a well-defined interface. 12 | 13 | 14 | 15 | 16 | Gets test properties for a test. 17 | 18 | 19 | 20 | 21 | 22 | Gets Fully-qualified name of the class containing the test method currently being executed 23 | 24 | 25 | This property can be useful in attributes derived from ExpectedExceptionBaseAttribute. 26 | Those attributes have access to the test context, and provide messages that are included 27 | in the test results. Users can benefit from messages that include the fully-qualified 28 | class name in addition to the name of the test method currently being executed. 29 | 30 | 31 | 32 | 33 | Gets the Name of the test method currently being executed 34 | 35 | 36 | 37 | 38 | Gets the current test outcome. 39 | 40 | 41 | 42 | 43 | -------------------------------------------------------------------------------- /packages/MSTest.TestFramework.1.1.11/lib/dotnet/ja/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.XML: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions 5 | 6 | 7 | 8 | 9 | TestContext class. This class should be fully abstract and not contain any 10 | members. The adapter will implement the members. Users in the framework should 11 | only access this via a well-defined interface. 12 | 13 | 14 | 15 | 16 | Gets test properties for a test. 17 | 18 | 19 | 20 | 21 | 22 | Gets Fully-qualified name of the class containing the test method currently being executed 23 | 24 | 25 | This property can be useful in attributes derived from ExpectedExceptionBaseAttribute. 26 | Those attributes have access to the test context, and provide messages that are included 27 | in the test results. Users can benefit from messages that include the fully-qualified 28 | class name in addition to the name of the test method currently being executed. 29 | 30 | 31 | 32 | 33 | Gets the Name of the test method currently being executed 34 | 35 | 36 | 37 | 38 | Gets the current test outcome. 39 | 40 | 41 | 42 | 43 | -------------------------------------------------------------------------------- /packages/MSTest.TestFramework.1.1.11/lib/dotnet/ko/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.XML: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions 5 | 6 | 7 | 8 | 9 | TestContext class. This class should be fully abstract and not contain any 10 | members. The adapter will implement the members. Users in the framework should 11 | only access this via a well-defined interface. 12 | 13 | 14 | 15 | 16 | Gets test properties for a test. 17 | 18 | 19 | 20 | 21 | 22 | Gets Fully-qualified name of the class containing the test method currently being executed 23 | 24 | 25 | This property can be useful in attributes derived from ExpectedExceptionBaseAttribute. 26 | Those attributes have access to the test context, and provide messages that are included 27 | in the test results. Users can benefit from messages that include the fully-qualified 28 | class name in addition to the name of the test method currently being executed. 29 | 30 | 31 | 32 | 33 | Gets the Name of the test method currently being executed 34 | 35 | 36 | 37 | 38 | Gets the current test outcome. 39 | 40 | 41 | 42 | 43 | -------------------------------------------------------------------------------- /packages/MSTest.TestFramework.1.1.11/lib/dotnet/pl/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.XML: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions 5 | 6 | 7 | 8 | 9 | TestContext class. This class should be fully abstract and not contain any 10 | members. The adapter will implement the members. Users in the framework should 11 | only access this via a well-defined interface. 12 | 13 | 14 | 15 | 16 | Gets test properties for a test. 17 | 18 | 19 | 20 | 21 | 22 | Gets Fully-qualified name of the class containing the test method currently being executed 23 | 24 | 25 | This property can be useful in attributes derived from ExpectedExceptionBaseAttribute. 26 | Those attributes have access to the test context, and provide messages that are included 27 | in the test results. Users can benefit from messages that include the fully-qualified 28 | class name in addition to the name of the test method currently being executed. 29 | 30 | 31 | 32 | 33 | Gets the Name of the test method currently being executed 34 | 35 | 36 | 37 | 38 | Gets the current test outcome. 39 | 40 | 41 | 42 | 43 | -------------------------------------------------------------------------------- /packages/MSTest.TestFramework.1.1.11/lib/dotnet/pt/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.XML: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions 5 | 6 | 7 | 8 | 9 | TestContext class. This class should be fully abstract and not contain any 10 | members. The adapter will implement the members. Users in the framework should 11 | only access this via a well-defined interface. 12 | 13 | 14 | 15 | 16 | Gets test properties for a test. 17 | 18 | 19 | 20 | 21 | 22 | Gets Fully-qualified name of the class containing the test method currently being executed 23 | 24 | 25 | This property can be useful in attributes derived from ExpectedExceptionBaseAttribute. 26 | Those attributes have access to the test context, and provide messages that are included 27 | in the test results. Users can benefit from messages that include the fully-qualified 28 | class name in addition to the name of the test method currently being executed. 29 | 30 | 31 | 32 | 33 | Gets the Name of the test method currently being executed 34 | 35 | 36 | 37 | 38 | Gets the current test outcome. 39 | 40 | 41 | 42 | 43 | -------------------------------------------------------------------------------- /packages/MSTest.TestFramework.1.1.11/lib/dotnet/ru/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.XML: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions 5 | 6 | 7 | 8 | 9 | TestContext class. This class should be fully abstract and not contain any 10 | members. The adapter will implement the members. Users in the framework should 11 | only access this via a well-defined interface. 12 | 13 | 14 | 15 | 16 | Gets test properties for a test. 17 | 18 | 19 | 20 | 21 | 22 | Gets Fully-qualified name of the class containing the test method currently being executed 23 | 24 | 25 | This property can be useful in attributes derived from ExpectedExceptionBaseAttribute. 26 | Those attributes have access to the test context, and provide messages that are included 27 | in the test results. Users can benefit from messages that include the fully-qualified 28 | class name in addition to the name of the test method currently being executed. 29 | 30 | 31 | 32 | 33 | Gets the Name of the test method currently being executed 34 | 35 | 36 | 37 | 38 | Gets the current test outcome. 39 | 40 | 41 | 42 | 43 | -------------------------------------------------------------------------------- /packages/MSTest.TestFramework.1.1.11/lib/dotnet/tr/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.XML: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions 5 | 6 | 7 | 8 | 9 | TestContext class. This class should be fully abstract and not contain any 10 | members. The adapter will implement the members. Users in the framework should 11 | only access this via a well-defined interface. 12 | 13 | 14 | 15 | 16 | Gets test properties for a test. 17 | 18 | 19 | 20 | 21 | 22 | Gets Fully-qualified name of the class containing the test method currently being executed 23 | 24 | 25 | This property can be useful in attributes derived from ExpectedExceptionBaseAttribute. 26 | Those attributes have access to the test context, and provide messages that are included 27 | in the test results. Users can benefit from messages that include the fully-qualified 28 | class name in addition to the name of the test method currently being executed. 29 | 30 | 31 | 32 | 33 | Gets the Name of the test method currently being executed 34 | 35 | 36 | 37 | 38 | Gets the current test outcome. 39 | 40 | 41 | 42 | 43 | -------------------------------------------------------------------------------- /packages/MSTest.TestFramework.1.1.11/lib/dotnet/zh-Hans/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.XML: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions 5 | 6 | 7 | 8 | 9 | TestContext class. This class should be fully abstract and not contain any 10 | members. The adapter will implement the members. Users in the framework should 11 | only access this via a well-defined interface. 12 | 13 | 14 | 15 | 16 | Gets test properties for a test. 17 | 18 | 19 | 20 | 21 | 22 | Gets Fully-qualified name of the class containing the test method currently being executed 23 | 24 | 25 | This property can be useful in attributes derived from ExpectedExceptionBaseAttribute. 26 | Those attributes have access to the test context, and provide messages that are included 27 | in the test results. Users can benefit from messages that include the fully-qualified 28 | class name in addition to the name of the test method currently being executed. 29 | 30 | 31 | 32 | 33 | Gets the Name of the test method currently being executed 34 | 35 | 36 | 37 | 38 | Gets the current test outcome. 39 | 40 | 41 | 42 | 43 | -------------------------------------------------------------------------------- /packages/MSTest.TestFramework.1.1.11/lib/dotnet/zh-Hant/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.XML: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions 5 | 6 | 7 | 8 | 9 | TestContext class. This class should be fully abstract and not contain any 10 | members. The adapter will implement the members. Users in the framework should 11 | only access this via a well-defined interface. 12 | 13 | 14 | 15 | 16 | Gets test properties for a test. 17 | 18 | 19 | 20 | 21 | 22 | Gets Fully-qualified name of the class containing the test method currently being executed 23 | 24 | 25 | This property can be useful in attributes derived from ExpectedExceptionBaseAttribute. 26 | Those attributes have access to the test context, and provide messages that are included 27 | in the test results. Users can benefit from messages that include the fully-qualified 28 | class name in addition to the name of the test method currently being executed. 29 | 30 | 31 | 32 | 33 | Gets the Name of the test method currently being executed 34 | 35 | 36 | 37 | 38 | Gets the current test outcome. 39 | 40 | 41 | 42 | 43 | -------------------------------------------------------------------------------- /packages/MSTest.TestFramework.1.1.11/lib/netcoreapp1.0/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.XML: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions 5 | 6 | 7 | 8 | 9 | TestContext class. This class should be fully abstract and not contain any 10 | members. The adapter will implement the members. Users in the framework should 11 | only access this via a well-defined interface. 12 | 13 | 14 | 15 | 16 | Gets test properties for a test. 17 | 18 | 19 | 20 | 21 | 22 | Gets Fully-qualified name of the class containing the test method currently being executed 23 | 24 | 25 | This property can be useful in attributes derived from ExpectedExceptionBaseAttribute. 26 | Those attributes have access to the test context, and provide messages that are included 27 | in the test results. Users can benefit from messages that include the fully-qualified 28 | class name in addition to the name of the test method currently being executed. 29 | 30 | 31 | 32 | 33 | Gets the Name of the test method currently being executed 34 | 35 | 36 | 37 | 38 | Gets the current test outcome. 39 | 40 | 41 | 42 | 43 | -------------------------------------------------------------------------------- /packages/MSTest.TestFramework.1.1.11/lib/netcoreapp1.0/cs/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.XML: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions 5 | 6 | 7 | 8 | 9 | TestContext class. This class should be fully abstract and not contain any 10 | members. The adapter will implement the members. Users in the framework should 11 | only access this via a well-defined interface. 12 | 13 | 14 | 15 | 16 | Gets test properties for a test. 17 | 18 | 19 | 20 | 21 | 22 | Gets Fully-qualified name of the class containing the test method currently being executed 23 | 24 | 25 | This property can be useful in attributes derived from ExpectedExceptionBaseAttribute. 26 | Those attributes have access to the test context, and provide messages that are included 27 | in the test results. Users can benefit from messages that include the fully-qualified 28 | class name in addition to the name of the test method currently being executed. 29 | 30 | 31 | 32 | 33 | Gets the Name of the test method currently being executed 34 | 35 | 36 | 37 | 38 | Gets the current test outcome. 39 | 40 | 41 | 42 | 43 | -------------------------------------------------------------------------------- /packages/MSTest.TestFramework.1.1.11/lib/netcoreapp1.0/de/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.XML: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions 5 | 6 | 7 | 8 | 9 | TestContext class. This class should be fully abstract and not contain any 10 | members. The adapter will implement the members. Users in the framework should 11 | only access this via a well-defined interface. 12 | 13 | 14 | 15 | 16 | Gets test properties for a test. 17 | 18 | 19 | 20 | 21 | 22 | Gets Fully-qualified name of the class containing the test method currently being executed 23 | 24 | 25 | This property can be useful in attributes derived from ExpectedExceptionBaseAttribute. 26 | Those attributes have access to the test context, and provide messages that are included 27 | in the test results. Users can benefit from messages that include the fully-qualified 28 | class name in addition to the name of the test method currently being executed. 29 | 30 | 31 | 32 | 33 | Gets the Name of the test method currently being executed 34 | 35 | 36 | 37 | 38 | Gets the current test outcome. 39 | 40 | 41 | 42 | 43 | -------------------------------------------------------------------------------- /packages/MSTest.TestFramework.1.1.11/lib/netcoreapp1.0/es/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.XML: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions 5 | 6 | 7 | 8 | 9 | TestContext class. This class should be fully abstract and not contain any 10 | members. The adapter will implement the members. Users in the framework should 11 | only access this via a well-defined interface. 12 | 13 | 14 | 15 | 16 | Gets test properties for a test. 17 | 18 | 19 | 20 | 21 | 22 | Gets Fully-qualified name of the class containing the test method currently being executed 23 | 24 | 25 | This property can be useful in attributes derived from ExpectedExceptionBaseAttribute. 26 | Those attributes have access to the test context, and provide messages that are included 27 | in the test results. Users can benefit from messages that include the fully-qualified 28 | class name in addition to the name of the test method currently being executed. 29 | 30 | 31 | 32 | 33 | Gets the Name of the test method currently being executed 34 | 35 | 36 | 37 | 38 | Gets the current test outcome. 39 | 40 | 41 | 42 | 43 | -------------------------------------------------------------------------------- /packages/MSTest.TestFramework.1.1.11/lib/netcoreapp1.0/fr/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.XML: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions 5 | 6 | 7 | 8 | 9 | TestContext class. This class should be fully abstract and not contain any 10 | members. The adapter will implement the members. Users in the framework should 11 | only access this via a well-defined interface. 12 | 13 | 14 | 15 | 16 | Gets test properties for a test. 17 | 18 | 19 | 20 | 21 | 22 | Gets Fully-qualified name of the class containing the test method currently being executed 23 | 24 | 25 | This property can be useful in attributes derived from ExpectedExceptionBaseAttribute. 26 | Those attributes have access to the test context, and provide messages that are included 27 | in the test results. Users can benefit from messages that include the fully-qualified 28 | class name in addition to the name of the test method currently being executed. 29 | 30 | 31 | 32 | 33 | Gets the Name of the test method currently being executed 34 | 35 | 36 | 37 | 38 | Gets the current test outcome. 39 | 40 | 41 | 42 | 43 | -------------------------------------------------------------------------------- /packages/MSTest.TestFramework.1.1.11/lib/netcoreapp1.0/it/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.XML: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions 5 | 6 | 7 | 8 | 9 | TestContext class. This class should be fully abstract and not contain any 10 | members. The adapter will implement the members. Users in the framework should 11 | only access this via a well-defined interface. 12 | 13 | 14 | 15 | 16 | Gets test properties for a test. 17 | 18 | 19 | 20 | 21 | 22 | Gets Fully-qualified name of the class containing the test method currently being executed 23 | 24 | 25 | This property can be useful in attributes derived from ExpectedExceptionBaseAttribute. 26 | Those attributes have access to the test context, and provide messages that are included 27 | in the test results. Users can benefit from messages that include the fully-qualified 28 | class name in addition to the name of the test method currently being executed. 29 | 30 | 31 | 32 | 33 | Gets the Name of the test method currently being executed 34 | 35 | 36 | 37 | 38 | Gets the current test outcome. 39 | 40 | 41 | 42 | 43 | -------------------------------------------------------------------------------- /packages/MSTest.TestFramework.1.1.11/lib/netcoreapp1.0/ja/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.XML: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions 5 | 6 | 7 | 8 | 9 | TestContext class. This class should be fully abstract and not contain any 10 | members. The adapter will implement the members. Users in the framework should 11 | only access this via a well-defined interface. 12 | 13 | 14 | 15 | 16 | Gets test properties for a test. 17 | 18 | 19 | 20 | 21 | 22 | Gets Fully-qualified name of the class containing the test method currently being executed 23 | 24 | 25 | This property can be useful in attributes derived from ExpectedExceptionBaseAttribute. 26 | Those attributes have access to the test context, and provide messages that are included 27 | in the test results. Users can benefit from messages that include the fully-qualified 28 | class name in addition to the name of the test method currently being executed. 29 | 30 | 31 | 32 | 33 | Gets the Name of the test method currently being executed 34 | 35 | 36 | 37 | 38 | Gets the current test outcome. 39 | 40 | 41 | 42 | 43 | -------------------------------------------------------------------------------- /packages/MSTest.TestFramework.1.1.11/lib/netcoreapp1.0/ko/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.XML: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions 5 | 6 | 7 | 8 | 9 | TestContext class. This class should be fully abstract and not contain any 10 | members. The adapter will implement the members. Users in the framework should 11 | only access this via a well-defined interface. 12 | 13 | 14 | 15 | 16 | Gets test properties for a test. 17 | 18 | 19 | 20 | 21 | 22 | Gets Fully-qualified name of the class containing the test method currently being executed 23 | 24 | 25 | This property can be useful in attributes derived from ExpectedExceptionBaseAttribute. 26 | Those attributes have access to the test context, and provide messages that are included 27 | in the test results. Users can benefit from messages that include the fully-qualified 28 | class name in addition to the name of the test method currently being executed. 29 | 30 | 31 | 32 | 33 | Gets the Name of the test method currently being executed 34 | 35 | 36 | 37 | 38 | Gets the current test outcome. 39 | 40 | 41 | 42 | 43 | -------------------------------------------------------------------------------- /packages/MSTest.TestFramework.1.1.11/lib/netcoreapp1.0/pl/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.XML: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions 5 | 6 | 7 | 8 | 9 | TestContext class. This class should be fully abstract and not contain any 10 | members. The adapter will implement the members. Users in the framework should 11 | only access this via a well-defined interface. 12 | 13 | 14 | 15 | 16 | Gets test properties for a test. 17 | 18 | 19 | 20 | 21 | 22 | Gets Fully-qualified name of the class containing the test method currently being executed 23 | 24 | 25 | This property can be useful in attributes derived from ExpectedExceptionBaseAttribute. 26 | Those attributes have access to the test context, and provide messages that are included 27 | in the test results. Users can benefit from messages that include the fully-qualified 28 | class name in addition to the name of the test method currently being executed. 29 | 30 | 31 | 32 | 33 | Gets the Name of the test method currently being executed 34 | 35 | 36 | 37 | 38 | Gets the current test outcome. 39 | 40 | 41 | 42 | 43 | -------------------------------------------------------------------------------- /packages/MSTest.TestFramework.1.1.11/lib/netcoreapp1.0/pt/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.XML: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions 5 | 6 | 7 | 8 | 9 | TestContext class. This class should be fully abstract and not contain any 10 | members. The adapter will implement the members. Users in the framework should 11 | only access this via a well-defined interface. 12 | 13 | 14 | 15 | 16 | Gets test properties for a test. 17 | 18 | 19 | 20 | 21 | 22 | Gets Fully-qualified name of the class containing the test method currently being executed 23 | 24 | 25 | This property can be useful in attributes derived from ExpectedExceptionBaseAttribute. 26 | Those attributes have access to the test context, and provide messages that are included 27 | in the test results. Users can benefit from messages that include the fully-qualified 28 | class name in addition to the name of the test method currently being executed. 29 | 30 | 31 | 32 | 33 | Gets the Name of the test method currently being executed 34 | 35 | 36 | 37 | 38 | Gets the current test outcome. 39 | 40 | 41 | 42 | 43 | -------------------------------------------------------------------------------- /packages/MSTest.TestFramework.1.1.11/lib/netcoreapp1.0/ru/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.XML: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions 5 | 6 | 7 | 8 | 9 | TestContext class. This class should be fully abstract and not contain any 10 | members. The adapter will implement the members. Users in the framework should 11 | only access this via a well-defined interface. 12 | 13 | 14 | 15 | 16 | Gets test properties for a test. 17 | 18 | 19 | 20 | 21 | 22 | Gets Fully-qualified name of the class containing the test method currently being executed 23 | 24 | 25 | This property can be useful in attributes derived from ExpectedExceptionBaseAttribute. 26 | Those attributes have access to the test context, and provide messages that are included 27 | in the test results. Users can benefit from messages that include the fully-qualified 28 | class name in addition to the name of the test method currently being executed. 29 | 30 | 31 | 32 | 33 | Gets the Name of the test method currently being executed 34 | 35 | 36 | 37 | 38 | Gets the current test outcome. 39 | 40 | 41 | 42 | 43 | -------------------------------------------------------------------------------- /packages/MSTest.TestFramework.1.1.11/lib/netcoreapp1.0/tr/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.XML: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions 5 | 6 | 7 | 8 | 9 | TestContext class. This class should be fully abstract and not contain any 10 | members. The adapter will implement the members. Users in the framework should 11 | only access this via a well-defined interface. 12 | 13 | 14 | 15 | 16 | Gets test properties for a test. 17 | 18 | 19 | 20 | 21 | 22 | Gets Fully-qualified name of the class containing the test method currently being executed 23 | 24 | 25 | This property can be useful in attributes derived from ExpectedExceptionBaseAttribute. 26 | Those attributes have access to the test context, and provide messages that are included 27 | in the test results. Users can benefit from messages that include the fully-qualified 28 | class name in addition to the name of the test method currently being executed. 29 | 30 | 31 | 32 | 33 | Gets the Name of the test method currently being executed 34 | 35 | 36 | 37 | 38 | Gets the current test outcome. 39 | 40 | 41 | 42 | 43 | -------------------------------------------------------------------------------- /packages/MSTest.TestFramework.1.1.11/lib/netcoreapp1.0/zh-Hans/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.XML: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions 5 | 6 | 7 | 8 | 9 | TestContext class. This class should be fully abstract and not contain any 10 | members. The adapter will implement the members. Users in the framework should 11 | only access this via a well-defined interface. 12 | 13 | 14 | 15 | 16 | Gets test properties for a test. 17 | 18 | 19 | 20 | 21 | 22 | Gets Fully-qualified name of the class containing the test method currently being executed 23 | 24 | 25 | This property can be useful in attributes derived from ExpectedExceptionBaseAttribute. 26 | Those attributes have access to the test context, and provide messages that are included 27 | in the test results. Users can benefit from messages that include the fully-qualified 28 | class name in addition to the name of the test method currently being executed. 29 | 30 | 31 | 32 | 33 | Gets the Name of the test method currently being executed 34 | 35 | 36 | 37 | 38 | Gets the current test outcome. 39 | 40 | 41 | 42 | 43 | -------------------------------------------------------------------------------- /packages/MSTest.TestFramework.1.1.11/lib/netcoreapp1.0/zh-Hant/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.XML: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions 5 | 6 | 7 | 8 | 9 | TestContext class. This class should be fully abstract and not contain any 10 | members. The adapter will implement the members. Users in the framework should 11 | only access this via a well-defined interface. 12 | 13 | 14 | 15 | 16 | Gets test properties for a test. 17 | 18 | 19 | 20 | 21 | 22 | Gets Fully-qualified name of the class containing the test method currently being executed 23 | 24 | 25 | This property can be useful in attributes derived from ExpectedExceptionBaseAttribute. 26 | Those attributes have access to the test context, and provide messages that are included 27 | in the test results. Users can benefit from messages that include the fully-qualified 28 | class name in addition to the name of the test method currently being executed. 29 | 30 | 31 | 32 | 33 | Gets the Name of the test method currently being executed 34 | 35 | 36 | 37 | 38 | Gets the current test outcome. 39 | 40 | 41 | 42 | 43 | -------------------------------------------------------------------------------- /packages/MSTest.TestFramework.1.1.11/lib/uap10.0/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.XML: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions 5 | 6 | 7 | 8 | 9 | Execute test code in UI thread for Windows store apps. 10 | 11 | 12 | 13 | 14 | Executes the test method on the UI Thread. 15 | 16 | 17 | The test method. 18 | 19 | 20 | The . 21 | 22 | Throws when run on an async test method. 23 | 24 | 25 | 26 | 27 | TestContext class. This class should be fully abstract and not contain any 28 | members. The adapter will implement the members. Users in the framework should 29 | only access this via a well-defined interface. 30 | 31 | 32 | 33 | 34 | Gets test properties for a test. 35 | 36 | 37 | 38 | 39 | 40 | Gets Fully-qualified name of the class containing the test method currently being executed 41 | 42 | 43 | This property can be useful in attributes derived from ExpectedExceptionBaseAttribute. 44 | Those attributes have access to the test context, and provide messages that are included 45 | in the test results. Users can benefit from messages that include the fully-qualified 46 | class name in addition to the name of the test method currently being executed. 47 | 48 | 49 | 50 | 51 | Gets the Name of the test method currently being executed 52 | 53 | 54 | 55 | 56 | Gets the current test outcome. 57 | 58 | 59 | 60 | 61 | -------------------------------------------------------------------------------- /packages/MSTest.TestFramework.1.1.11/lib/uap10.0/cs/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.XML: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions 5 | 6 | 7 | 8 | 9 | Execute test code in UI thread for Windows store apps. 10 | 11 | 12 | 13 | 14 | Executes the test method on the UI Thread. 15 | 16 | 17 | The test method. 18 | 19 | 20 | The . 21 | 22 | Throws when run on an async test method. 23 | 24 | 25 | 26 | 27 | TestContext class. This class should be fully abstract and not contain any 28 | members. The adapter will implement the members. Users in the framework should 29 | only access this via a well-defined interface. 30 | 31 | 32 | 33 | 34 | Gets test properties for a test. 35 | 36 | 37 | 38 | 39 | 40 | Gets Fully-qualified name of the class containing the test method currently being executed 41 | 42 | 43 | This property can be useful in attributes derived from ExpectedExceptionBaseAttribute. 44 | Those attributes have access to the test context, and provide messages that are included 45 | in the test results. Users can benefit from messages that include the fully-qualified 46 | class name in addition to the name of the test method currently being executed. 47 | 48 | 49 | 50 | 51 | Gets the Name of the test method currently being executed 52 | 53 | 54 | 55 | 56 | Gets the current test outcome. 57 | 58 | 59 | 60 | 61 | -------------------------------------------------------------------------------- /packages/MSTest.TestFramework.1.1.11/lib/uap10.0/de/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.XML: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions 5 | 6 | 7 | 8 | 9 | Execute test code in UI thread for Windows store apps. 10 | 11 | 12 | 13 | 14 | Executes the test method on the UI Thread. 15 | 16 | 17 | The test method. 18 | 19 | 20 | The . 21 | 22 | Throws when run on an async test method. 23 | 24 | 25 | 26 | 27 | TestContext class. This class should be fully abstract and not contain any 28 | members. The adapter will implement the members. Users in the framework should 29 | only access this via a well-defined interface. 30 | 31 | 32 | 33 | 34 | Gets test properties for a test. 35 | 36 | 37 | 38 | 39 | 40 | Gets Fully-qualified name of the class containing the test method currently being executed 41 | 42 | 43 | This property can be useful in attributes derived from ExpectedExceptionBaseAttribute. 44 | Those attributes have access to the test context, and provide messages that are included 45 | in the test results. Users can benefit from messages that include the fully-qualified 46 | class name in addition to the name of the test method currently being executed. 47 | 48 | 49 | 50 | 51 | Gets the Name of the test method currently being executed 52 | 53 | 54 | 55 | 56 | Gets the current test outcome. 57 | 58 | 59 | 60 | 61 | -------------------------------------------------------------------------------- /packages/MSTest.TestFramework.1.1.11/lib/uap10.0/es/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.XML: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions 5 | 6 | 7 | 8 | 9 | Execute test code in UI thread for Windows store apps. 10 | 11 | 12 | 13 | 14 | Executes the test method on the UI Thread. 15 | 16 | 17 | The test method. 18 | 19 | 20 | The . 21 | 22 | Throws when run on an async test method. 23 | 24 | 25 | 26 | 27 | TestContext class. This class should be fully abstract and not contain any 28 | members. The adapter will implement the members. Users in the framework should 29 | only access this via a well-defined interface. 30 | 31 | 32 | 33 | 34 | Gets test properties for a test. 35 | 36 | 37 | 38 | 39 | 40 | Gets Fully-qualified name of the class containing the test method currently being executed 41 | 42 | 43 | This property can be useful in attributes derived from ExpectedExceptionBaseAttribute. 44 | Those attributes have access to the test context, and provide messages that are included 45 | in the test results. Users can benefit from messages that include the fully-qualified 46 | class name in addition to the name of the test method currently being executed. 47 | 48 | 49 | 50 | 51 | Gets the Name of the test method currently being executed 52 | 53 | 54 | 55 | 56 | Gets the current test outcome. 57 | 58 | 59 | 60 | 61 | -------------------------------------------------------------------------------- /packages/MSTest.TestFramework.1.1.11/lib/uap10.0/fr/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.XML: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions 5 | 6 | 7 | 8 | 9 | Execute test code in UI thread for Windows store apps. 10 | 11 | 12 | 13 | 14 | Executes the test method on the UI Thread. 15 | 16 | 17 | The test method. 18 | 19 | 20 | The . 21 | 22 | Throws when run on an async test method. 23 | 24 | 25 | 26 | 27 | TestContext class. This class should be fully abstract and not contain any 28 | members. The adapter will implement the members. Users in the framework should 29 | only access this via a well-defined interface. 30 | 31 | 32 | 33 | 34 | Gets test properties for a test. 35 | 36 | 37 | 38 | 39 | 40 | Gets Fully-qualified name of the class containing the test method currently being executed 41 | 42 | 43 | This property can be useful in attributes derived from ExpectedExceptionBaseAttribute. 44 | Those attributes have access to the test context, and provide messages that are included 45 | in the test results. Users can benefit from messages that include the fully-qualified 46 | class name in addition to the name of the test method currently being executed. 47 | 48 | 49 | 50 | 51 | Gets the Name of the test method currently being executed 52 | 53 | 54 | 55 | 56 | Gets the current test outcome. 57 | 58 | 59 | 60 | 61 | -------------------------------------------------------------------------------- /packages/MSTest.TestFramework.1.1.11/lib/uap10.0/it/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.XML: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions 5 | 6 | 7 | 8 | 9 | Execute test code in UI thread for Windows store apps. 10 | 11 | 12 | 13 | 14 | Executes the test method on the UI Thread. 15 | 16 | 17 | The test method. 18 | 19 | 20 | The . 21 | 22 | Throws when run on an async test method. 23 | 24 | 25 | 26 | 27 | TestContext class. This class should be fully abstract and not contain any 28 | members. The adapter will implement the members. Users in the framework should 29 | only access this via a well-defined interface. 30 | 31 | 32 | 33 | 34 | Gets test properties for a test. 35 | 36 | 37 | 38 | 39 | 40 | Gets Fully-qualified name of the class containing the test method currently being executed 41 | 42 | 43 | This property can be useful in attributes derived from ExpectedExceptionBaseAttribute. 44 | Those attributes have access to the test context, and provide messages that are included 45 | in the test results. Users can benefit from messages that include the fully-qualified 46 | class name in addition to the name of the test method currently being executed. 47 | 48 | 49 | 50 | 51 | Gets the Name of the test method currently being executed 52 | 53 | 54 | 55 | 56 | Gets the current test outcome. 57 | 58 | 59 | 60 | 61 | -------------------------------------------------------------------------------- /packages/MSTest.TestFramework.1.1.11/lib/uap10.0/ja/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.XML: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions 5 | 6 | 7 | 8 | 9 | Execute test code in UI thread for Windows store apps. 10 | 11 | 12 | 13 | 14 | Executes the test method on the UI Thread. 15 | 16 | 17 | The test method. 18 | 19 | 20 | The . 21 | 22 | Throws when run on an async test method. 23 | 24 | 25 | 26 | 27 | TestContext class. This class should be fully abstract and not contain any 28 | members. The adapter will implement the members. Users in the framework should 29 | only access this via a well-defined interface. 30 | 31 | 32 | 33 | 34 | Gets test properties for a test. 35 | 36 | 37 | 38 | 39 | 40 | Gets Fully-qualified name of the class containing the test method currently being executed 41 | 42 | 43 | This property can be useful in attributes derived from ExpectedExceptionBaseAttribute. 44 | Those attributes have access to the test context, and provide messages that are included 45 | in the test results. Users can benefit from messages that include the fully-qualified 46 | class name in addition to the name of the test method currently being executed. 47 | 48 | 49 | 50 | 51 | Gets the Name of the test method currently being executed 52 | 53 | 54 | 55 | 56 | Gets the current test outcome. 57 | 58 | 59 | 60 | 61 | -------------------------------------------------------------------------------- /packages/MSTest.TestFramework.1.1.11/lib/uap10.0/ko/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.XML: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions 5 | 6 | 7 | 8 | 9 | Execute test code in UI thread for Windows store apps. 10 | 11 | 12 | 13 | 14 | Executes the test method on the UI Thread. 15 | 16 | 17 | The test method. 18 | 19 | 20 | The . 21 | 22 | Throws when run on an async test method. 23 | 24 | 25 | 26 | 27 | TestContext class. This class should be fully abstract and not contain any 28 | members. The adapter will implement the members. Users in the framework should 29 | only access this via a well-defined interface. 30 | 31 | 32 | 33 | 34 | Gets test properties for a test. 35 | 36 | 37 | 38 | 39 | 40 | Gets Fully-qualified name of the class containing the test method currently being executed 41 | 42 | 43 | This property can be useful in attributes derived from ExpectedExceptionBaseAttribute. 44 | Those attributes have access to the test context, and provide messages that are included 45 | in the test results. Users can benefit from messages that include the fully-qualified 46 | class name in addition to the name of the test method currently being executed. 47 | 48 | 49 | 50 | 51 | Gets the Name of the test method currently being executed 52 | 53 | 54 | 55 | 56 | Gets the current test outcome. 57 | 58 | 59 | 60 | 61 | -------------------------------------------------------------------------------- /packages/MSTest.TestFramework.1.1.11/lib/uap10.0/pl/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.XML: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions 5 | 6 | 7 | 8 | 9 | Execute test code in UI thread for Windows store apps. 10 | 11 | 12 | 13 | 14 | Executes the test method on the UI Thread. 15 | 16 | 17 | The test method. 18 | 19 | 20 | The . 21 | 22 | Throws when run on an async test method. 23 | 24 | 25 | 26 | 27 | TestContext class. This class should be fully abstract and not contain any 28 | members. The adapter will implement the members. Users in the framework should 29 | only access this via a well-defined interface. 30 | 31 | 32 | 33 | 34 | Gets test properties for a test. 35 | 36 | 37 | 38 | 39 | 40 | Gets Fully-qualified name of the class containing the test method currently being executed 41 | 42 | 43 | This property can be useful in attributes derived from ExpectedExceptionBaseAttribute. 44 | Those attributes have access to the test context, and provide messages that are included 45 | in the test results. Users can benefit from messages that include the fully-qualified 46 | class name in addition to the name of the test method currently being executed. 47 | 48 | 49 | 50 | 51 | Gets the Name of the test method currently being executed 52 | 53 | 54 | 55 | 56 | Gets the current test outcome. 57 | 58 | 59 | 60 | 61 | -------------------------------------------------------------------------------- /packages/MSTest.TestFramework.1.1.11/lib/uap10.0/pt/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.XML: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions 5 | 6 | 7 | 8 | 9 | Execute test code in UI thread for Windows store apps. 10 | 11 | 12 | 13 | 14 | Executes the test method on the UI Thread. 15 | 16 | 17 | The test method. 18 | 19 | 20 | The . 21 | 22 | Throws when run on an async test method. 23 | 24 | 25 | 26 | 27 | TestContext class. This class should be fully abstract and not contain any 28 | members. The adapter will implement the members. Users in the framework should 29 | only access this via a well-defined interface. 30 | 31 | 32 | 33 | 34 | Gets test properties for a test. 35 | 36 | 37 | 38 | 39 | 40 | Gets Fully-qualified name of the class containing the test method currently being executed 41 | 42 | 43 | This property can be useful in attributes derived from ExpectedExceptionBaseAttribute. 44 | Those attributes have access to the test context, and provide messages that are included 45 | in the test results. Users can benefit from messages that include the fully-qualified 46 | class name in addition to the name of the test method currently being executed. 47 | 48 | 49 | 50 | 51 | Gets the Name of the test method currently being executed 52 | 53 | 54 | 55 | 56 | Gets the current test outcome. 57 | 58 | 59 | 60 | 61 | -------------------------------------------------------------------------------- /packages/MSTest.TestFramework.1.1.11/lib/uap10.0/ru/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.XML: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions 5 | 6 | 7 | 8 | 9 | Execute test code in UI thread for Windows store apps. 10 | 11 | 12 | 13 | 14 | Executes the test method on the UI Thread. 15 | 16 | 17 | The test method. 18 | 19 | 20 | The . 21 | 22 | Throws when run on an async test method. 23 | 24 | 25 | 26 | 27 | TestContext class. This class should be fully abstract and not contain any 28 | members. The adapter will implement the members. Users in the framework should 29 | only access this via a well-defined interface. 30 | 31 | 32 | 33 | 34 | Gets test properties for a test. 35 | 36 | 37 | 38 | 39 | 40 | Gets Fully-qualified name of the class containing the test method currently being executed 41 | 42 | 43 | This property can be useful in attributes derived from ExpectedExceptionBaseAttribute. 44 | Those attributes have access to the test context, and provide messages that are included 45 | in the test results. Users can benefit from messages that include the fully-qualified 46 | class name in addition to the name of the test method currently being executed. 47 | 48 | 49 | 50 | 51 | Gets the Name of the test method currently being executed 52 | 53 | 54 | 55 | 56 | Gets the current test outcome. 57 | 58 | 59 | 60 | 61 | -------------------------------------------------------------------------------- /packages/MSTest.TestFramework.1.1.11/lib/uap10.0/tr/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.XML: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions 5 | 6 | 7 | 8 | 9 | Execute test code in UI thread for Windows store apps. 10 | 11 | 12 | 13 | 14 | Executes the test method on the UI Thread. 15 | 16 | 17 | The test method. 18 | 19 | 20 | The . 21 | 22 | Throws when run on an async test method. 23 | 24 | 25 | 26 | 27 | TestContext class. This class should be fully abstract and not contain any 28 | members. The adapter will implement the members. Users in the framework should 29 | only access this via a well-defined interface. 30 | 31 | 32 | 33 | 34 | Gets test properties for a test. 35 | 36 | 37 | 38 | 39 | 40 | Gets Fully-qualified name of the class containing the test method currently being executed 41 | 42 | 43 | This property can be useful in attributes derived from ExpectedExceptionBaseAttribute. 44 | Those attributes have access to the test context, and provide messages that are included 45 | in the test results. Users can benefit from messages that include the fully-qualified 46 | class name in addition to the name of the test method currently being executed. 47 | 48 | 49 | 50 | 51 | Gets the Name of the test method currently being executed 52 | 53 | 54 | 55 | 56 | Gets the current test outcome. 57 | 58 | 59 | 60 | 61 | -------------------------------------------------------------------------------- /packages/MSTest.TestFramework.1.1.11/lib/uap10.0/zh-Hans/Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.XML: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions 5 | 6 | 7 | 8 | 9 | Execute test code in UI thread for Windows store apps. 10 | 11 | 12 | 13 | 14 | Executes the test method on the UI Thread. 15 | 16 | 17 | The test method. 18 | 19 | 20 | The . 21 | 22 | Throws when run on an async test method. 23 | 24 | 25 | 26 | 27 | TestContext class. This class should be fully abstract and not contain any 28 | members. The adapter will implement the members. Users in the framework should 29 | only access this via a well-defined interface. 30 | 31 | 32 | 33 | 34 | Gets test properties for a test. 35 | 36 | 37 | 38 | 39 | 40 | Gets Fully-qualified name of the class containing the test method currently being executed 41 | 42 | 43 | This property can be useful in attributes derived from ExpectedExceptionBaseAttribute. 44 | Those attributes have access to the test context, and provide messages that are included 45 | in the test results. Users can benefit from messages that include the fully-qualified 46 | class name in addition to the name of the test method currently being executed. 47 | 48 | 49 | 50 | 51 | Gets the Name of the test method currently being executed 52 | 53 | 54 | 55 | 56 | Gets the current test outcome. 57 | 58 | 59 | 60 | 61 | -------------------------------------------------------------------------------- /packages/QuickGraph.3.6.61119.7/QuickGraph.3.6.61119.7.nupkg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bharathkumarms/AlgorithmsMadeEasy/0ca64996c9b057b43d3e0b3c0536b32b3fc72fa6/packages/QuickGraph.3.6.61119.7/QuickGraph.3.6.61119.7.nupkg -------------------------------------------------------------------------------- /packages/QuickGraph.3.6.61119.7/lib/net4/CodeContracts/QuickGraph.Contracts.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bharathkumarms/AlgorithmsMadeEasy/0ca64996c9b057b43d3e0b3c0536b32b3fc72fa6/packages/QuickGraph.3.6.61119.7/lib/net4/CodeContracts/QuickGraph.Contracts.dll -------------------------------------------------------------------------------- /packages/QuickGraph.3.6.61119.7/lib/net4/CodeContracts/QuickGraph.Data.Contracts.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bharathkumarms/AlgorithmsMadeEasy/0ca64996c9b057b43d3e0b3c0536b32b3fc72fa6/packages/QuickGraph.3.6.61119.7/lib/net4/CodeContracts/QuickGraph.Data.Contracts.dll -------------------------------------------------------------------------------- /packages/QuickGraph.3.6.61119.7/lib/net4/CodeContracts/QuickGraph.Graphviz.Contracts.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bharathkumarms/AlgorithmsMadeEasy/0ca64996c9b057b43d3e0b3c0536b32b3fc72fa6/packages/QuickGraph.3.6.61119.7/lib/net4/CodeContracts/QuickGraph.Graphviz.Contracts.dll -------------------------------------------------------------------------------- /packages/QuickGraph.3.6.61119.7/lib/net4/CodeContracts/QuickGraph.Serialization.Contracts.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bharathkumarms/AlgorithmsMadeEasy/0ca64996c9b057b43d3e0b3c0536b32b3fc72fa6/packages/QuickGraph.3.6.61119.7/lib/net4/CodeContracts/QuickGraph.Serialization.Contracts.dll -------------------------------------------------------------------------------- /packages/QuickGraph.3.6.61119.7/lib/net4/QuickGraph.Data.XML: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | QuickGraph.Data 5 | 6 | 7 | 8 | 9 | An algorithm that renders a DataSet graph to the Graphviz DOT format. 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /packages/QuickGraph.3.6.61119.7/lib/net4/QuickGraph.Data.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bharathkumarms/AlgorithmsMadeEasy/0ca64996c9b057b43d3e0b3c0536b32b3fc72fa6/packages/QuickGraph.3.6.61119.7/lib/net4/QuickGraph.Data.dll -------------------------------------------------------------------------------- /packages/QuickGraph.3.6.61119.7/lib/net4/QuickGraph.Graphviz.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bharathkumarms/AlgorithmsMadeEasy/0ca64996c9b057b43d3e0b3c0536b32b3fc72fa6/packages/QuickGraph.3.6.61119.7/lib/net4/QuickGraph.Graphviz.dll -------------------------------------------------------------------------------- /packages/QuickGraph.3.6.61119.7/lib/net4/QuickGraph.Serialization.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bharathkumarms/AlgorithmsMadeEasy/0ca64996c9b057b43d3e0b3c0536b32b3fc72fa6/packages/QuickGraph.3.6.61119.7/lib/net4/QuickGraph.Serialization.dll -------------------------------------------------------------------------------- /packages/QuickGraph.3.6.61119.7/lib/net4/QuickGraph.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bharathkumarms/AlgorithmsMadeEasy/0ca64996c9b057b43d3e0b3c0536b32b3fc72fa6/packages/QuickGraph.3.6.61119.7/lib/net4/QuickGraph.dll -------------------------------------------------------------------------------- /packages/repositories.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | --------------------------------------------------------------------------------