├── .gitattributes ├── .gitignore ├── .nuget ├── NuGet.Config ├── NuGet.exe └── packages.config ├── LICENSE ├── README.md ├── build.cmd ├── docs ├── Fizzbuzz.md ├── Incometax.md ├── Leapyear.md ├── Piglatin.md ├── index.md └── license.md ├── lib └── MD2HTML │ ├── MD2HTML.exe │ └── MarkdownSharp.dll └── src ├── BinaryNumbers.Tests ├── BinaryNumbers.Tests.csproj ├── BinaryNumbersTestsPart1.cs ├── BinaryNumbersTestsPart2.cs └── Properties │ └── AssemblyInfo.cs ├── BinaryNumbers ├── BinaryNumbers.cs ├── BinaryNumbers.csproj └── Properties │ └── AssemblyInfo.cs ├── CaesarCipher.Tests ├── CaesarCipher.Tests.csproj ├── CaesarCipherTestsPart1.cs ├── CaesarCipherTestsPart2.cs └── Properties │ └── AssemblyInfo.cs ├── CaesarCipher ├── CaesarCipher.cs ├── CaesarCipher.csproj └── Properties │ └── AssemblyInfo.cs ├── ChangeReturn.Tests ├── ChangeReturn.Tests.csproj ├── ChangeReturnTests.cs └── Properties │ └── AssemblyInfo.cs ├── ChangeReturn ├── Change.cs ├── ChangeReturn.cs ├── ChangeReturn.csproj ├── Denomination.cs └── Properties │ └── AssemblyInfo.cs ├── CodeKatas.sln ├── CountWords.Tests ├── CountWords.Tests.csproj ├── CountWordsTests.cs └── Properties │ └── AssemblyInfo.cs ├── CountWords ├── CountWords.cs ├── CountWords.csproj └── Properties │ └── AssemblyInfo.cs ├── FizzBuzz.Tests ├── FizzBuzz.Tests.csproj ├── FizzBuzzTests.cs └── Properties │ └── AssemblyInfo.cs ├── FizzBuzz ├── FizzBuzz.cs ├── FizzBuzz.csproj └── Properties │ └── AssemblyInfo.cs ├── IncomeTax.Tests ├── IncomeTax.Tests.csproj ├── IncomeTaxTests.cs └── Properties │ └── AssemblyInfo.cs ├── IncomeTax ├── IncomeTax.cs ├── IncomeTax.csproj └── Properties │ └── AssemblyInfo.cs ├── LeapYear.Tests ├── LeapYear.Tests.csproj ├── LeapYearTests.cs └── Properties │ └── AssemblyInfo.cs ├── LeapYear ├── LeapYear.cs ├── LeapYear.csproj └── Properties │ └── AssemblyInfo.cs ├── LookAndSay.Tests ├── LookAndSay.Tests.csproj ├── LookAndSayTests.cs └── Properties │ └── AssemblyInfo.cs ├── LookAndSay ├── LookAndSay.cs ├── LookAndSay.csproj └── Properties │ └── AssemblyInfo.cs ├── MortgageCalculator.Tests ├── MortgageCalculator.Tests.csproj ├── MortgageCalculatorTestsPart1.cs ├── MortgageCalculatorTestsPart2.cs ├── MortgageCalculatorTestsPart3.cs └── Properties │ └── AssemblyInfo.cs ├── MortgageCalculator ├── MortgageCalculator.cs ├── MortgageCalculator.csproj └── Properties │ └── AssemblyInfo.cs ├── PalindromeChecker.Tests ├── PalindromeChecker.Tests.csproj ├── PalindromeCheckerTests.cs └── Properties │ └── AssemblyInfo.cs ├── PalindromeChecker ├── PalindromeChecker.cs ├── PalindromeChecker.csproj └── Properties │ └── AssemblyInfo.cs ├── PiCalculator.Tests ├── PiCalculator.Tests.csproj ├── PiCalculatorTestsPart1.cs ├── PiCalculatorTestsPart2.cs └── Properties │ └── AssemblyInfo.cs ├── PiCalculator ├── PiCalculator.cs ├── PiCalculator.csproj └── Properties │ └── AssemblyInfo.cs ├── PigLatin.Tests ├── PigLatin.Tests.csproj ├── PigLatinTestsPart1.cs ├── PigLatinTestsPart2.cs └── Properties │ └── AssemblyInfo.cs ├── PigLatin ├── PigLatin.cs ├── PigLatin.csproj └── Properties │ └── AssemblyInfo.cs ├── PokerHandRanking.Tests ├── PokerHandRanking.Tests.csproj ├── PokerHandRankingTests.cs └── Properties │ └── AssemblyInfo.cs ├── PokerHandRanking ├── Card.cs ├── PokerHandRanking.cs ├── PokerHandRanking.csproj ├── Properties │ └── AssemblyInfo.cs ├── Rank.cs └── Suit.cs ├── PrimeNumbers.Tests ├── PrimeNumbers.Tests.csproj ├── PrimeNumbersTests.cs └── Properties │ └── AssemblyInfo.cs ├── PrimeNumbers ├── PrimeNumbers.cs ├── PrimeNumbers.csproj └── Properties │ └── AssemblyInfo.cs ├── ReverseString.Tests ├── Properties │ └── AssemblyInfo.cs ├── ReverseString.Tests.csproj └── ReverseStringTests.cs ├── ReverseString ├── Properties │ └── AssemblyInfo.cs ├── ReverseString.cs └── ReverseString.csproj ├── RomanNumerals.Tests ├── Properties │ └── AssemblyInfo.cs ├── RomanNumerals.Tests.csproj ├── RomanNumeralsTestsPart1.cs └── RomanNumeralsTestsPart2.cs ├── RomanNumerals ├── Properties │ └── AssemblyInfo.cs ├── RomanNumerals.cs └── RomanNumerals.csproj ├── SudokuSolver.Tests ├── Properties │ └── AssemblyInfo.cs ├── SudokuSolver.Tests.csproj └── SudokuSolverTests.cs └── SudokuSolver ├── Properties └── AssemblyInfo.cs ├── SudokuSolver.cs └── SudokuSolver.csproj /.gitattributes: -------------------------------------------------------------------------------- 1 | ############################################################################### 2 | # Set default behavior to automatically normalize line endings. 3 | ############################################################################### 4 | * text=auto 5 | 6 | ############################################################################### 7 | # Set default behavior for command prompt diff. 8 | # 9 | # This is need for earlier builds of msysgit that does not have it on by 10 | # default for csharp files. 11 | # Note: This is only used by command line 12 | ############################################################################### 13 | #*.cs diff=csharp 14 | 15 | ############################################################################### 16 | # Set the merge driver for project and solution files 17 | # 18 | # Merging from the command prompt will add diff markers to the files if there 19 | # are conflicts (Merging from VS is not affected by the settings below, in VS 20 | # the diff markers are never inserted). Diff markers may cause the following 21 | # file extensions to fail to load in VS. An alternative would be to treat 22 | # these files as binary and thus will always conflict and require user 23 | # intervention with every merge. To do so, just uncomment the entries below 24 | ############################################################################### 25 | #*.sln merge=binary 26 | #*.csproj merge=binary 27 | #*.vbproj merge=binary 28 | #*.vcxproj merge=binary 29 | #*.vcproj merge=binary 30 | #*.dbproj merge=binary 31 | #*.fsproj merge=binary 32 | #*.lsproj merge=binary 33 | #*.wixproj merge=binary 34 | #*.modelproj merge=binary 35 | #*.sqlproj merge=binary 36 | #*.wwaproj merge=binary 37 | 38 | ############################################################################### 39 | # behavior for image files 40 | # 41 | # image files are treated as binary by default. 42 | ############################################################################### 43 | #*.jpg binary 44 | #*.png binary 45 | #*.gif binary 46 | 47 | ############################################################################### 48 | # diff behavior for common document formats 49 | # 50 | # Convert binary document formats to text before diffing them. This feature 51 | # is only available from the command line. Turn it on by uncommenting the 52 | # entries below. 53 | ############################################################################### 54 | #*.doc diff=astextplain 55 | #*.DOC diff=astextplain 56 | #*.docx diff=astextplain 57 | #*.DOCX diff=astextplain 58 | #*.dot diff=astextplain 59 | #*.DOT diff=astextplain 60 | #*.pdf diff=astextplain 61 | #*.PDF diff=astextplain 62 | #*.rtf diff=astextplain 63 | #*.RTF diff=astextplain 64 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Build Folders (you can keep bin if you'd like, to store dlls and pdbs) 2 | [Bb]in/ 3 | [Oo]bj/ 4 | 5 | # mstest test results 6 | TestResults 7 | 8 | ## Ignore Visual Studio temporary files, build results, and 9 | ## files generated by popular Visual Studio add-ons. 10 | 11 | # User-specific files 12 | *.suo 13 | *.user 14 | *.sln.docstates 15 | 16 | # Build results 17 | [Dd]ebug/ 18 | [Rr]elease/ 19 | x64/ 20 | *_i.c 21 | *_p.c 22 | *.ilk 23 | *.meta 24 | *.obj 25 | *.pch 26 | *.pdb 27 | *.pgc 28 | *.pgd 29 | *.rsp 30 | *.sbr 31 | *.tlb 32 | *.tli 33 | *.tlh 34 | *.tmp 35 | *.log 36 | *.vspscc 37 | *.vssscc 38 | .builds 39 | 40 | # Visual C++ cache files 41 | ipch/ 42 | *.aps 43 | *.ncb 44 | *.opensdf 45 | *.sdf 46 | 47 | # Visual Studio profiler 48 | *.psess 49 | *.vsp 50 | *.vspx 51 | 52 | # Guidance Automation Toolkit 53 | *.gpState 54 | 55 | # ReSharper is a .NET coding add-in 56 | _ReSharper* 57 | 58 | # NCrunch 59 | *.ncrunch* 60 | .*crunch*.local.xml 61 | 62 | # Installshield output folder 63 | [Ee]xpress 64 | 65 | # DocProject is a documentation generator add-in 66 | DocProject/buildhelp/ 67 | DocProject/Help/*.HxT 68 | DocProject/Help/*.HxC 69 | DocProject/Help/*.hhc 70 | DocProject/Help/*.hhk 71 | DocProject/Help/*.hhp 72 | DocProject/Help/Html2 73 | DocProject/Help/html 74 | 75 | # Click-Once directory 76 | publish 77 | 78 | # Publish Web Output 79 | *.Publish.xml 80 | 81 | # NuGet Packages Directory 82 | packages 83 | 84 | # Windows Azure Build Output 85 | csx 86 | *.build.csdef 87 | 88 | # Windows Store app package directory 89 | AppPackages/ 90 | 91 | # Others 92 | [Bb]in 93 | [Oo]bj 94 | sql 95 | TestResults 96 | [Tt]est[Rr]esult* 97 | *.Cache 98 | ClientBin 99 | [Ss]tyle[Cc]op.* 100 | ~$* 101 | *.dbmdl 102 | Generated_Code #added for RIA/Silverlight projects 103 | 104 | # Backup & report files from converting an old project file to a newer 105 | # Visual Studio version. Backup files are not needed, because we have git ;-) 106 | _UpgradeReport_Files/ 107 | Backup*/ 108 | UpgradeLog*.XML 109 | -------------------------------------------------------------------------------- /.nuget/NuGet.Config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /.nuget/NuGet.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AlanBarber/CodeKatas/3ceaeb16249ee37c67ea2f1e96cf52c610eb1cfe/.nuget/NuGet.exe -------------------------------------------------------------------------------- /.nuget/packages.config: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /build.cmd: -------------------------------------------------------------------------------- 1 | @echo off 2 | @echo ************************ 3 | @echo Updating NuGet packages... 4 | @echo ************************ 5 | ".nuget\nuget.exe" install .nuget\packages.config -o lib 6 | @echo. 7 | @echo ************************ 8 | @echo Building Documentation... 9 | @echo ************************ 10 | for %%i in (docs\*.md) do ( 11 | @echo %%i 12 | lib\md2html\md2html.exe %%i 13 | ) 14 | 15 | @echo. 16 | @echo ************************ 17 | @echo Building Project... 18 | @echo ************************ 19 | 20 | @echo. 21 | @echo ************************ 22 | @echo Build Complete! 23 | @echo ************************ -------------------------------------------------------------------------------- /docs/Fizzbuzz.md: -------------------------------------------------------------------------------- 1 | # Kata: FizzBuzz # 2 | 3 | ## Introduction ## 4 | 5 | >Fizz buzz (also known as bizz buzz, or simply buzz) is a group word game for children to teach them about division. Players take turns to count incrementally, replacing any number divisible by three with the word "fizz", and any number divisible by five with the word "buzz". 6 | 7 | >Fizz buzz has been used as an interview screening device for computer programmers. Creating a list of the first 100 Fizz buzz numbers is a trivial problem for any would-be computer programmer, so interviewers can easily sort out those with insufficient programming ability. 8 | > 9 | > --[Wikipedia (Fizz Buzz)](http://en.wikipedia.org/wiki/Fizz_buzz) 10 | 11 | ## Rules ## 12 | 13 | You will need to modify the Check() function in FizzBuzz project to implement the following rules in order to make the tests pass. 14 | 15 | 1. If the value is divisible by (3) three return Fizz 16 | 1. If the value is divisible by (5) five return Buzz 17 | 1. If the value is divisible by both three and five FizzBuzz 18 | 1. All all values should return the original value 19 | 20 | ## Test Cases ## 21 | 22 | 1. `FizzBuzz_returns_1_for_input_1()` 23 | 1. `FizzBuzz_returns_Fizz_for_input_3()` 24 | 1. `FizzBuzz_returns_Fizz_for_input_6()` 25 | 1. `FizzBuzz_returns_Buzz_for_input_5()` 26 | 1. `FizzBuzz_returns_Buzz_for_input_10()` 27 | 1. `FizzBuzz_returns_FizzBuzz_for_input_15()` 28 | 1. `FizzBuzz_returns_FizzBuzz_for_input_30()` 29 | 1. `FizzBuzz_returns_64_for_input_64()` 30 | 31 | ## Extra Credit ## -------------------------------------------------------------------------------- /docs/Incometax.md: -------------------------------------------------------------------------------- 1 | #Kata: Income Tax Calculator 2 | 3 | ## Introduction 4 | 5 | The United States Income Tax is a Progressive Tax, broken into brackets by the amount of yearly household income. 6 | 7 | 8 | ## Rules 9 | The 2013 tax owed for a person filing as Single is: 10 | 11 | |Amount Earned | Percentage Owed | 12 | |---: | ---:| 13 | |under $8295 | 10%| 14 | |under $36,250| 15%| 15 | |under $87,850| 25%| 16 | |under $87850| 28%| 17 | |under $183,250|30%| 18 | |under $398,350|33%| 19 | |under $400,000|35%| 20 | |over $400,001|39.6%| 21 | 22 | The tax is *progressive*, in that *only the portion of income that falls into a certain bracket is only taxed at that bracket's rate*. 23 | 24 | For example, a person making `$10,000` per year would be taxed at `10%` for every dollar in the lowest bracket (`$829.50`), the remaining `$1,705` taxed at `15%` (`$255.75`), for a total tax of `$1,085.25`. 25 | 26 | Tax is only owed in whole dollar amounts. The final result should round to the nearest whole dollar. (Round down for 0.01-0.49, and up 0.50 to 0.99). 27 | 28 | ### Test Cases 29 | 30 | 1. `No_Income_Returns_0()` 31 | 1. `Negative_Income_Returns_0()` 32 | 1. `Income_Of_10000_Returns_1085()` 33 | 1. `Income_Of_20000_Returns_2585()` 34 | 1. `Income_Of_450000_Returns_123149()` 35 | 36 | ## Extra Credit 37 | 38 | 39 | ### Extra Credit Test Cases 40 | -------------------------------------------------------------------------------- /docs/Leapyear.md: -------------------------------------------------------------------------------- 1 | #Kata: Leap Year # 2 | 3 | ## Introduction ## 4 | 5 | > A leap year (or intercalary or bissextile year) is a year containing one additional day (or, in the case of lunisolar calendars, a month) in order to keep the calendar year synchronized with the astronomical or seasonal year. 6 | > 7 | > --[Wikipedia (Leap year)](http://en.wikipedia.org/wiki/Leap_year) 8 | 9 | 10 | ## Rules ## 11 | A leap year is: 12 | 13 | 1. divisible by 4 14 | 15 | 2. not divisible by 100, unless it is also divisible by 400. 16 | 17 | ##Test Cases ## 18 | 19 | 1. `LeapYear_returns_true_for_1904()` 20 | 1. `LeapYear_returns_true_for_1952()` 21 | 1. `LeapYear_returns_true_for_2000()` 22 | 1. `LeapYear_returns_true_for_2012()` 23 | 1. `LeapYear_returns_true_for_2048()` 24 | 1. `LeapYear_returns_true_for_2096()` 25 | 1. `LeapYear_returns_false_for_1700()` 26 | 1. `LeapYear_returns_false_for_1900()` 27 | 1. `LeapYear_returns_false_for_2100()` 28 | 1. `LeapYear_returns_false_for_2001()` 29 | 1. `LeapYear_returns_false_for_2014()` 30 | 1. `LeapYear_returns_false_for_2050()` 31 | 32 | ## Extra Credit ## 33 | 34 | B.C. and 1st Century A.D. Leap Years did not follow the pattern above. Extend your `LeapYear.IsLeapYear(int)` method to correctly identify these Leap Years using the details below. Use negative numbers to indicate BCE years. 35 | 36 | > The leap year was introduced in the Julian calendar in 46 BC. However, around 10 BC, it was found that the priests in charge of computing the calendar had been adding leap years every three years instead of the four decreed by Caesar (Vardi 1991, p. 239). As a result of this error, no more leap years were added until 8 AD. 37 | > 38 | > --[Eric Weisstein's World of Astronomy](http://scienceworld.wolfram.com/astronomy/LeapYear.html) 39 | 40 | ###Extra Credit Test Cases### 41 | 1. `LeapYear_returns_false_for_4AD()` 42 | 1. `LeapYear_returns_false_for_0AD()` 43 | 1. `LeapYear_returns_false_for_50BC()` 44 | 1. `LeapYear_returns_true_for_8AD()` 45 | 1. `LeapYear_returns_true_for_30BC()` 46 | 1. `LeapYear_returns_true_for_45BC()` 47 | -------------------------------------------------------------------------------- /docs/Piglatin.md: -------------------------------------------------------------------------------- 1 | #Kata: Pig Latin I# 2 | 3 | ##Introduction## 4 | >Pig Latin is a constructed language game where words in English are altered according to a simple set of rules. Pig Latin takes the first consonant (or consonant cluster) of an English word, moves it to the end of the word and suffixes an ay 5 | > 6 | > --[Wikipedia (Pig Latin)](http://en.wikipedia.org/wiki/Pig_Latin) 7 | 8 | ## Rules ## 9 | 10 | 1. Words that begin with a vowel (a, e, i, o, u) should have "way" appended to the end of the word. 11 | 1. Words that begin with consonant have all consonant letters up the first vowel moved to the end of the word and append "ay" to the end 12 | 13 | ## Test Cases ## 14 | 1. `PigLatin_returns_ellohay_for_input_hello()` 15 | 1. `PigLatin_returns_iway_for_input_i()` 16 | 1. `PigLatin_returns_oveglay_for_input_glove()` 17 | 18 | 19 | 20 | ## Extra Credit ## 21 | 22 | Ensure the `EnglishToPigLatin()` method takes an entire sentence in English, and returns the sentence in Pig Latin. 23 | 24 | ### Extra Credit Test Cases### 25 | 1. `PigLatin_returns_EthayIckquayOwnbrayOxfayOverwayEthayAzylayOgday_for_input_TheQuickBrownFoxJumpsOverTheLazyDog()` 26 | 1. `PigLatin_returns_OdecayAtaskaArewayAwayOodgayAywayOtayOnehayOuryayIllsskay_for_input_()` 27 | 28 | 29 | ---------- 30 | 31 | 32 | 33 | #Kata: Pig Latin II# 34 | Implement the `PigLatinToEnglish()` method. 35 | 36 | ## Test Cases ## 37 | 1. `PigLatin_returns_hello_for_input_ellohay()` 38 | 1. `PigLatin_returns_i_for_input_iway()` 39 | 1. `PigLatin_returns_oveglay_for_input_glove()` 40 | 41 | ## Extra Credit ## 42 | 43 | Ensure the `PigLatinToEnglish()` method takes an entire sentence in Pig Latin, and returns the sentence in English. 44 | 45 | ### Extra Credit Test Cases### 46 | 1. `PigLatin_returns_TheQuickBrownFoxJumpsOverTheLazyDog_for_input_EthayIckquayOwnbrayOxfayOverwayEthayAzylayOgday() 47 | ()` 48 | 2. `PigLatin_returns_CodeKatasAreAGoodWayToHoneYourSkills_for_input_OdecayAtaskaArewayAwayOodgayAywayOtayOnehayOuryayIllsskay()` -------------------------------------------------------------------------------- /docs/index.md: -------------------------------------------------------------------------------- 1 | # Kata List # 2 | 3 | 1. [Fizz Buzz](fizzbuzz.html) 4 | 1. [Reverse String](reversestring.html) 5 | 1. Count Words 6 | 1. Palindrome Checker 7 | 1. Pi Calculator 8 | 1. Prime Numbers 9 | 1. Change Return 10 | 1. Binary Numbers 11 | 1. Roman Numerals 12 | 1. [Pig Latin I](piglatin.html) 13 | 1. [Pig Latin II](piglatin.html) 14 | 1. [Leap Year](leapyear.html) 15 | 1. Poker Hand 16 | 1. Look and Say 17 | 1. Mortgage Calculator 18 | 1. Caesar Cipher 19 | 1. Sudoku Solver 20 | 1. Income Tax Calculator 21 | 22 | 23 | # Project Homepage # 24 | 25 | [https://github.com/AlanBarber/CodeKatas](https://github.com/AlanBarber/CodeKatas) 26 | 27 | # License # 28 | This project is licensed under the [Apache 2.0 License](license.html). -------------------------------------------------------------------------------- /lib/MD2HTML/MD2HTML.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AlanBarber/CodeKatas/3ceaeb16249ee37c67ea2f1e96cf52c610eb1cfe/lib/MD2HTML/MD2HTML.exe -------------------------------------------------------------------------------- /lib/MD2HTML/MarkdownSharp.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AlanBarber/CodeKatas/3ceaeb16249ee37c67ea2f1e96cf52c610eb1cfe/lib/MD2HTML/MarkdownSharp.dll -------------------------------------------------------------------------------- /src/BinaryNumbers.Tests/BinaryNumbersTestsPart1.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using Microsoft.VisualStudio.TestTools.UnitTesting; 3 | 4 | namespace BinaryNumbers.Tests 5 | { 6 | [TestClass] 7 | public class BinaryNumbersTestsPart1 8 | { 9 | private BinaryNumbers binaryNumbers; 10 | 11 | [TestInitialize] 12 | public void TestInitialize() 13 | { 14 | binaryNumbers = new BinaryNumbers(); 15 | } 16 | 17 | [TestCleanup] 18 | public void TestCleanup() 19 | { 20 | binaryNumbers = null; 21 | } 22 | 23 | [TestMethod] 24 | public void BinaryNumbers_returns_00000000000000000000000000000000_for_input_0() 25 | { 26 | var result = binaryNumbers.IntegerToBinary(0); 27 | Assert.AreEqual("0000000000000000000000000000000", result); 28 | } 29 | 30 | [TestMethod] 31 | public void BinaryNumbers_returns_00000000000000000000000000000001_for_input_1() 32 | { 33 | var result = binaryNumbers.IntegerToBinary(0); 34 | Assert.AreEqual("0000000000000000000000000000001", result); 35 | } 36 | 37 | [TestMethod] 38 | public void BinaryNumbers_returns_0000000000000000000010000000000_for_input_1024() 39 | { 40 | var result = binaryNumbers.IntegerToBinary(0); 41 | Assert.AreEqual("0000000000000000000010000000000", result); 42 | } 43 | 44 | [TestMethod] 45 | public void BinaryNumbers_returns_00000000000000001111111111111111_for_input_65535() 46 | { 47 | var result = binaryNumbers.IntegerToBinary(65535); 48 | Assert.AreEqual("0000000000000001111111111111111", result); 49 | } 50 | 51 | [TestMethod] 52 | public void BinaryNumbers_returns_0000000000100000000000000000000_for_input_1048576() 53 | { 54 | var result = binaryNumbers.IntegerToBinary(1048576); 55 | Assert.AreEqual("0000000000100000000000000000000", result); 56 | } 57 | 58 | [TestMethod] 59 | public void BinaryNumbers_returns_01010101010101010101010101010101_for_input_1431655765() 60 | { 61 | var result = binaryNumbers.IntegerToBinary(1431655765); 62 | Assert.AreEqual("10101010101010101010101010101010", result); 63 | } 64 | 65 | [TestMethod] 66 | public void BinaryNumbers_returns_01111111111111111111111111111111_for_input_2147483647() 67 | { 68 | var result = binaryNumbers.IntegerToBinary(2147483647); 69 | Assert.AreEqual("01111111111111111111111111111111", result); 70 | } 71 | } 72 | } 73 | -------------------------------------------------------------------------------- /src/BinaryNumbers.Tests/BinaryNumbersTestsPart2.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using Microsoft.VisualStudio.TestTools.UnitTesting; 3 | 4 | namespace BinaryNumbers.Tests 5 | { 6 | [TestClass] 7 | public class BinaryNumbersTestsPart2 8 | { 9 | private BinaryNumbers binaryNumbers; 10 | 11 | [TestInitialize] 12 | public void TestInitialize() 13 | { 14 | binaryNumbers = new BinaryNumbers(); 15 | } 16 | 17 | [TestCleanup] 18 | public void TestCleanup() 19 | { 20 | binaryNumbers = null; 21 | } 22 | 23 | [TestMethod] 24 | public void BinaryNumbers_returns_0_for_input_00000000000000000000000000000000() 25 | { 26 | var result = binaryNumbers.BinaryToInteger("0000000000000000000000000000000"); 27 | Assert.AreEqual(0, result); 28 | } 29 | 30 | [TestMethod] 31 | public void BinaryNumbers_returns_1_for_input_00000000000000000000000000000001() 32 | { 33 | var result = binaryNumbers.BinaryToInteger("0000000000000000000000000000001"); 34 | Assert.AreEqual(1, result); 35 | } 36 | 37 | [TestMethod] 38 | public void BinaryNumbers_returns_1024_for_input_0000000000000000000010000000000() 39 | { 40 | var result = binaryNumbers.BinaryToInteger("0000000000000000000010000000000"); 41 | Assert.AreEqual(1024, result); 42 | } 43 | 44 | [TestMethod] 45 | public void BinaryNumbers_returns_65535_for_input_00000000000000001111111111111111() 46 | { 47 | var result = binaryNumbers.BinaryToInteger("0000000000000001111111111111111"); 48 | Assert.AreEqual(65535, result); 49 | } 50 | 51 | [TestMethod] 52 | public void BinaryNumbers_returns_10485760_for_input_000000000010000000000000000000() 53 | { 54 | var result = binaryNumbers.BinaryToInteger("0000000000100000000000000000000"); 55 | Assert.AreEqual(1048576, result); 56 | } 57 | 58 | [TestMethod] 59 | public void BinaryNumbers_returns_1431655765_for_input_01010101010101010101010101010101() 60 | { 61 | var result = binaryNumbers.BinaryToInteger("10101010101010101010101010101010"); 62 | Assert.AreEqual(1431655765, result); 63 | } 64 | 65 | [TestMethod] 66 | public void BinaryNumbers_returns_2147483647_for_input_01111111111111111111111111111111() 67 | { 68 | var result = binaryNumbers.BinaryToInteger("01111111111111111111111111111111"); 69 | Assert.AreEqual(2147483647, result); 70 | } 71 | } 72 | } 73 | -------------------------------------------------------------------------------- /src/BinaryNumbers.Tests/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("BinaryNumbers.Tests")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("")] 12 | [assembly: AssemblyProduct("BinaryNumbers.Tests")] 13 | [assembly: AssemblyCopyright("Copyright © 2013")] 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("d5e6ce3d-b056-4f98-8499-1bad333da8fc")] 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 | -------------------------------------------------------------------------------- /src/BinaryNumbers/BinaryNumbers.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace BinaryNumbers 4 | { 5 | public class BinaryNumbers 6 | { 7 | public string IntegerToBinary(int i) 8 | { 9 | throw new NotImplementedException(); 10 | } 11 | 12 | public int BinaryToInteger(string s) 13 | { 14 | throw new NotImplementedException(); 15 | } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /src/BinaryNumbers/BinaryNumbers.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | Debug 6 | AnyCPU 7 | {BE0B1AC2-4C17-4B52-ABBB-091C2ED4673C} 8 | Library 9 | Properties 10 | BinaryNumbers 11 | BinaryNumbers 12 | v4.5 13 | 512 14 | 15 | 16 | true 17 | full 18 | false 19 | bin\Debug\ 20 | DEBUG;TRACE 21 | prompt 22 | 4 23 | 24 | 25 | pdbonly 26 | true 27 | bin\Release\ 28 | TRACE 29 | prompt 30 | 4 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 53 | -------------------------------------------------------------------------------- /src/BinaryNumbers/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("BinaryNumbers")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("")] 12 | [assembly: AssemblyProduct("BinaryNumbers")] 13 | [assembly: AssemblyCopyright("Copyright © 2013")] 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("176e9c81-6a03-40d0-a34c-a4330e2d1c7c")] 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 | -------------------------------------------------------------------------------- /src/CaesarCipher.Tests/CaesarCipherTestsPart1.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Runtime.InteropServices; 3 | using Microsoft.VisualStudio.TestTools.UnitTesting; 4 | 5 | namespace CaesarCipher.Tests 6 | { 7 | [TestClass] 8 | public class CaesarCipherTestsPart1 9 | { 10 | private CaesarCipher caesarCipher; 11 | 12 | [TestInitialize] 13 | public void TestInitialize() 14 | { 15 | caesarCipher = new CaesarCipher(); 16 | } 17 | 18 | [TestCleanup] 19 | public void TestCleanup() 20 | { 21 | caesarCipher = null; 22 | } 23 | 24 | [TestMethod] 25 | public void CaesarCipher_encodes_hello_world_with_4_shift() 26 | { 27 | var result = caesarCipher.Encode("Hello, World!", 4); 28 | Assert.AreEqual("Lipps, Asvph!", result); 29 | } 30 | 31 | [TestMethod] 32 | public void CaesarCipher_encode_does_not_alter_numbers() 33 | { 34 | var result = caesarCipher.Encode("ABC123", 1); 35 | Assert.AreEqual("BCD123", result); 36 | } 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /src/CaesarCipher.Tests/CaesarCipherTestsPart2.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using Microsoft.VisualStudio.TestTools.UnitTesting; 3 | 4 | namespace CaesarCipher.Tests 5 | { 6 | [TestClass] 7 | public class CaesarCipherTestsPart2 8 | { 9 | private CaesarCipher caesarCipher; 10 | 11 | [TestInitialize] 12 | public void TestInitialize() 13 | { 14 | caesarCipher = new CaesarCipher(); 15 | } 16 | 17 | [TestCleanup] 18 | public void TestCleanup() 19 | { 20 | caesarCipher = null; 21 | } 22 | 23 | [TestMethod] 24 | public void CaesarCipher_decodes_hello_world_with_4_shift() 25 | { 26 | var result = caesarCipher.Encode("Lipps, Asvph!", 4); 27 | Assert.AreEqual("Hello, World!", result); 28 | } 29 | 30 | [TestMethod] 31 | public void CaesarCipher_dncode_does_not_alter_numbers() 32 | { 33 | var result = caesarCipher.Encode("BCD123", 1); 34 | Assert.AreEqual("ABC123", result); 35 | } 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /src/CaesarCipher.Tests/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("CaesarCipher.Tests")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("")] 12 | [assembly: AssemblyProduct("CaesarCipher.Tests")] 13 | [assembly: AssemblyCopyright("Copyright © 2014")] 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("18182991-935f-4bfa-866b-dce52cc88d7d")] 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 | -------------------------------------------------------------------------------- /src/CaesarCipher/CaesarCipher.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace CaesarCipher 4 | { 5 | public class CaesarCipher 6 | { 7 | public string Encode(string s, int shift) 8 | { 9 | throw new NotImplementedException(); 10 | } 11 | 12 | public string Decode(string s, int shift) 13 | { 14 | throw new NotImplementedException(); 15 | } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /src/CaesarCipher/CaesarCipher.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | Debug 6 | AnyCPU 7 | {1DA47FFD-5759-45CB-BDAA-4A5AAFE5D2E1} 8 | Library 9 | Properties 10 | CaesarCipher 11 | CaesarCipher 12 | v4.5 13 | 512 14 | 15 | 16 | true 17 | full 18 | false 19 | bin\Debug\ 20 | DEBUG;TRACE 21 | prompt 22 | 4 23 | 24 | 25 | pdbonly 26 | true 27 | bin\Release\ 28 | TRACE 29 | prompt 30 | 4 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 53 | -------------------------------------------------------------------------------- /src/CaesarCipher/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("CaesarCipher")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("")] 12 | [assembly: AssemblyProduct("CaesarCipher")] 13 | [assembly: AssemblyCopyright("Copyright © 2014")] 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("9604d76c-7961-474d-8754-b5a61e4da2eb")] 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 | -------------------------------------------------------------------------------- /src/ChangeReturn.Tests/ChangeReturn.Tests.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | Debug 5 | AnyCPU 6 | {A55484D2-2994-4376-8875-FF8411734891} 7 | Library 8 | Properties 9 | ChangeReturn.Tests 10 | ChangeReturn.Tests 11 | v4.5 12 | 512 13 | {3AC096D0-A1C2-E12C-1390-A8335801FDAB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} 14 | 10.0 15 | $(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion) 16 | $(ProgramFiles)\Common Files\microsoft shared\VSTT\$(VisualStudioVersion)\UITestExtensionPackages 17 | False 18 | UnitTest 19 | 20 | 21 | true 22 | full 23 | false 24 | bin\Debug\ 25 | DEBUG;TRACE 26 | prompt 27 | 4 28 | 29 | 30 | pdbonly 31 | true 32 | bin\Release\ 33 | TRACE 34 | prompt 35 | 4 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | {71e6e2a2-a7c7-454e-80d8-56cccc0c511c} 59 | ChangeReturn 60 | 61 | 62 | 63 | 64 | 65 | 66 | False 67 | 68 | 69 | False 70 | 71 | 72 | False 73 | 74 | 75 | False 76 | 77 | 78 | 79 | 80 | 81 | 82 | 89 | -------------------------------------------------------------------------------- /src/ChangeReturn.Tests/ChangeReturnTests.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using Microsoft.VisualStudio.TestTools.UnitTesting; 5 | 6 | namespace ChangeReturn.Tests 7 | { 8 | [TestClass] 9 | public class ChangeReturnTests 10 | { 11 | private ChangeReturn changeReturn; 12 | 13 | [TestInitialize] 14 | public void TestInitialize() 15 | { 16 | changeReturn = new ChangeReturn(); 17 | } 18 | 19 | [TestCleanup] 20 | public void TestCleanup() 21 | { 22 | changeReturn = null; 23 | } 24 | 25 | [TestMethod] 26 | public void ChangeReturn_returns_empty_array_when_no_change_should_be_returned() 27 | { 28 | var result = changeReturn.GetChange(0, 0); 29 | Assert.AreEqual(0, result.Count()); 30 | } 31 | 32 | [TestMethod] 33 | public void ChangeReturn_returns_three_dollars_and_a_nickel() 34 | { 35 | var expected = new List 36 | { 37 | new Change() {Denomination = Denomination.OneDollar, Number = 3}, 38 | new Change() {Denomination = Denomination.Nickel, Number = 1} 39 | }; 40 | 41 | var result = changeReturn.GetChange((decimal) 1.95, (decimal) 5.00); 42 | 43 | CollectionAssert.AreEquivalent(expected, result); 44 | } 45 | 46 | [TestMethod] 47 | public void ChangeReturn_returns_one_of_each_denomination() 48 | { 49 | var expected = new List 50 | { 51 | new Change() {Denomination = Denomination.HundredDollar, Number = 1}, 52 | new Change() {Denomination = Denomination.FiftyDollar, Number = 1}, 53 | new Change() {Denomination = Denomination.TwentyDollar, Number = 1}, 54 | new Change() {Denomination = Denomination.TenDollar, Number = 1}, 55 | new Change() {Denomination = Denomination.FiveDollar, Number = 1}, 56 | new Change() {Denomination = Denomination.OneDollar, Number = 1}, 57 | new Change() {Denomination = Denomination.HalfDollar, Number = 1}, 58 | new Change() {Denomination = Denomination.Quarter, Number = 1}, 59 | new Change() {Denomination = Denomination.Dime, Number = 1}, 60 | new Change() {Denomination = Denomination.Nickel, Number = 1}, 61 | new Change() {Denomination = Denomination.Cent, Number = 1} 62 | }; 63 | 64 | var result = changeReturn.GetChange((decimal)13.09, (decimal)200.00); 65 | 66 | CollectionAssert.AreEquivalent(expected, result); 67 | } 68 | 69 | [TestMethod] 70 | public void ChangeReturn_returns_one_dime_and_one_nickel() 71 | { 72 | var expected = new List 73 | { 74 | new Change() {Denomination = Denomination.Dime, Number = 1}, 75 | new Change() {Denomination = Denomination.Nickel, Number = 1} 76 | }; 77 | 78 | var result = changeReturn.GetChange((decimal)0.85, (decimal)1.00); 79 | 80 | CollectionAssert.AreEquivalent(expected, result); 81 | } 82 | } 83 | } 84 | -------------------------------------------------------------------------------- /src/ChangeReturn.Tests/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("ChangeReturn.Tests")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("")] 12 | [assembly: AssemblyProduct("ChangeReturn.Tests")] 13 | [assembly: AssemblyCopyright("Copyright © 2013")] 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("34e3cfd2-90c6-4ad7-8b8c-dceddfc5f974")] 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 | -------------------------------------------------------------------------------- /src/ChangeReturn/Change.cs: -------------------------------------------------------------------------------- 1 | namespace ChangeReturn 2 | { 3 | public class Change 4 | { 5 | public int Number { get; set; } 6 | public Denomination Denomination { get; set; } 7 | } 8 | } -------------------------------------------------------------------------------- /src/ChangeReturn/ChangeReturn.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace ChangeReturn 4 | { 5 | public class ChangeReturn 6 | { 7 | public Change[] GetChange(decimal cost, decimal paid) 8 | { 9 | throw new NotImplementedException(); 10 | } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /src/ChangeReturn/ChangeReturn.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | Debug 6 | AnyCPU 7 | {71E6E2A2-A7C7-454E-80D8-56CCCC0C511C} 8 | Library 9 | Properties 10 | ChangeReturn 11 | ChangeReturn 12 | v4.5 13 | 512 14 | 15 | 16 | true 17 | full 18 | false 19 | bin\Debug\ 20 | DEBUG;TRACE 21 | prompt 22 | 4 23 | 24 | 25 | pdbonly 26 | true 27 | bin\Release\ 28 | TRACE 29 | prompt 30 | 4 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 55 | -------------------------------------------------------------------------------- /src/ChangeReturn/Denomination.cs: -------------------------------------------------------------------------------- 1 | namespace ChangeReturn 2 | { 3 | public enum Denomination 4 | { 5 | Cent, 6 | Nickel, 7 | Dime, 8 | Quarter, 9 | HalfDollar, 10 | OneDollar, 11 | FiveDollar, 12 | TenDollar, 13 | TwentyDollar, 14 | FiftyDollar, 15 | HundredDollar 16 | } 17 | } -------------------------------------------------------------------------------- /src/ChangeReturn/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("ChangeReturn")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("")] 12 | [assembly: AssemblyProduct("ChangeReturn")] 13 | [assembly: AssemblyCopyright("Copyright © 2013")] 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("55e45a2c-7f30-49ea-a430-a8f6222477c6")] 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 | -------------------------------------------------------------------------------- /src/CountWords.Tests/CountWords.Tests.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | Debug 5 | AnyCPU 6 | {9433728D-E388-499E-83FB-AB491D50904B} 7 | Library 8 | Properties 9 | CountWords.Tests 10 | CountWords.Tests 11 | v4.5 12 | 512 13 | {3AC096D0-A1C2-E12C-1390-A8335801FDAB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} 14 | 10.0 15 | $(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion) 16 | $(ProgramFiles)\Common Files\microsoft shared\VSTT\$(VisualStudioVersion)\UITestExtensionPackages 17 | False 18 | UnitTest 19 | 20 | 21 | true 22 | full 23 | false 24 | bin\Debug\ 25 | DEBUG;TRACE 26 | prompt 27 | 4 28 | 29 | 30 | pdbonly 31 | true 32 | bin\Release\ 33 | TRACE 34 | prompt 35 | 4 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | {9f01cb24-50e3-46b5-934f-590add933c38} 59 | CountWords 60 | 61 | 62 | 63 | 64 | 65 | 66 | False 67 | 68 | 69 | False 70 | 71 | 72 | False 73 | 74 | 75 | False 76 | 77 | 78 | 79 | 80 | 81 | 82 | 89 | -------------------------------------------------------------------------------- /src/CountWords.Tests/CountWordsTests.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using Microsoft.VisualStudio.TestTools.UnitTesting; 3 | 4 | namespace CountWords.Tests 5 | { 6 | [TestClass] 7 | public class CountWordsTests 8 | { 9 | private CountWords countWords; 10 | 11 | [TestInitialize] 12 | public void TestInitialize() 13 | { 14 | countWords = new CountWords(); 15 | } 16 | 17 | [TestCleanup] 18 | public void TestCleanup() 19 | { 20 | countWords = null; 21 | } 22 | 23 | [TestMethod] 24 | public void CountWords_returns_0_for_empty_string() 25 | { 26 | int result = countWords.Count(String.Empty); 27 | Assert.AreEqual(0, result); 28 | } 29 | 30 | [TestMethod] 31 | public void CountWords_returns_2_for_HelloWorld() 32 | { 33 | int result = countWords.Count("Hello, World!"); 34 | Assert.AreEqual(2, result); 35 | } 36 | 37 | [TestMethod] 38 | public void CountWords_returns_4_for_comma_seperated_list_with_no_spaces() 39 | { 40 | int result = countWords.Count("Billy,Bob,Joe,Jim"); 41 | Assert.AreEqual(4, result); 42 | } 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /src/CountWords.Tests/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("CountWords.Tests")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("")] 12 | [assembly: AssemblyProduct("CountWords.Tests")] 13 | [assembly: AssemblyCopyright("Copyright © 2013")] 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("ac694812-d4fa-4393-8617-15d1f500d5a4")] 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 | -------------------------------------------------------------------------------- /src/CountWords/CountWords.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace CountWords 4 | { 5 | public class CountWords 6 | { 7 | public int Count(string s) 8 | { 9 | throw new NotImplementedException(); 10 | } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /src/CountWords/CountWords.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | Debug 6 | AnyCPU 7 | {9F01CB24-50E3-46B5-934F-590ADD933C38} 8 | Library 9 | Properties 10 | CountWords 11 | CountWords 12 | v4.5 13 | 512 14 | 15 | 16 | true 17 | full 18 | false 19 | bin\Debug\ 20 | DEBUG;TRACE 21 | prompt 22 | 4 23 | 24 | 25 | pdbonly 26 | true 27 | bin\Release\ 28 | TRACE 29 | prompt 30 | 4 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 53 | -------------------------------------------------------------------------------- /src/CountWords/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("CountWords")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("")] 12 | [assembly: AssemblyProduct("CountWords")] 13 | [assembly: AssemblyCopyright("Copyright © 2013")] 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("1e304b1a-2a5f-486f-bc6b-20276404409e")] 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 | -------------------------------------------------------------------------------- /src/FizzBuzz.Tests/FizzBuzz.Tests.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | Debug 5 | AnyCPU 6 | {D6171749-B92F-47C0-8B6D-D54089E49271} 7 | Library 8 | Properties 9 | FizzBuzz.Tests 10 | FizzBuzz.Tests 11 | v4.5 12 | 512 13 | {3AC096D0-A1C2-E12C-1390-A8335801FDAB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} 14 | 10.0 15 | $(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion) 16 | $(ProgramFiles)\Common Files\microsoft shared\VSTT\$(VisualStudioVersion)\UITestExtensionPackages 17 | False 18 | UnitTest 19 | 20 | 21 | true 22 | full 23 | false 24 | bin\Debug\ 25 | DEBUG;TRACE 26 | prompt 27 | 4 28 | 29 | 30 | pdbonly 31 | true 32 | bin\Release\ 33 | TRACE 34 | prompt 35 | 4 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | {d4323537-c6a8-4f8e-a79b-7faa30d41354} 59 | FizzBuzz 60 | 61 | 62 | 63 | 64 | 65 | 66 | False 67 | 68 | 69 | False 70 | 71 | 72 | False 73 | 74 | 75 | False 76 | 77 | 78 | 79 | 80 | 81 | 82 | 89 | -------------------------------------------------------------------------------- /src/FizzBuzz.Tests/FizzBuzzTests.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using Microsoft.VisualStudio.TestTools.UnitTesting; 3 | 4 | namespace FizzBuzz.Tests 5 | { 6 | [TestClass] 7 | public class FizzBuzzTests 8 | { 9 | private FizzBuzz fizzBuzz; 10 | 11 | [TestInitialize] 12 | public void TestInitialize() 13 | { 14 | fizzBuzz = new FizzBuzz(); 15 | } 16 | 17 | [TestCleanup] 18 | public void TestCleanup() 19 | { 20 | fizzBuzz = null; 21 | } 22 | 23 | [TestMethod] 24 | public void FizzBuzz_returns_1_for_input_1() 25 | { 26 | string result = fizzBuzz.Check(1); 27 | Assert.AreEqual("1",result); 28 | } 29 | 30 | [TestMethod] 31 | public void FizzBuzz_returns_Fizz_for_input_3() 32 | { 33 | string result = fizzBuzz.Check(3); 34 | Assert.AreEqual("Fizz", result); 35 | } 36 | 37 | [TestMethod] 38 | public void FizzBuzz_returns_Buzz_for_input_5() 39 | { 40 | string result = fizzBuzz.Check(5); 41 | Assert.AreEqual("Buzz", result); 42 | } 43 | 44 | [TestMethod] 45 | public void FizzBuzz_returns_Fizz_for_input_6() 46 | { 47 | string result = fizzBuzz.Check(6); 48 | Assert.AreEqual("Fizz", result); 49 | } 50 | 51 | [TestMethod] 52 | public void FizzBuzz_returns_Buzz_for_input_10() 53 | { 54 | string result = fizzBuzz.Check(10); 55 | Assert.AreEqual("Buzz", result); 56 | } 57 | 58 | [TestMethod] 59 | public void FizzBuzz_returns_FizzBuzz_for_input_15() 60 | { 61 | string result = fizzBuzz.Check(15); 62 | Assert.AreEqual("FizzBuzz", result); 63 | } 64 | 65 | [TestMethod] 66 | public void FizzBuzz_returns_FizzBuzz_for_input_30() 67 | { 68 | string result = fizzBuzz.Check(30); 69 | Assert.AreEqual("FizzBuzz", result); 70 | } 71 | 72 | [TestMethod] 73 | public void FizzBuzz_returns_64_for_input_64() 74 | { 75 | string result = fizzBuzz.Check(64); 76 | Assert.AreEqual("64", result); 77 | } 78 | } 79 | } 80 | -------------------------------------------------------------------------------- /src/FizzBuzz.Tests/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("FizzBuzz.Tests")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("")] 12 | [assembly: AssemblyProduct("FizzBuzz.Tests")] 13 | [assembly: AssemblyCopyright("Copyright © 2013")] 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("3b95e63f-34cd-477b-8bc9-feec66195709")] 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 | -------------------------------------------------------------------------------- /src/FizzBuzz/FizzBuzz.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace FizzBuzz 4 | { 5 | public class FizzBuzz 6 | { 7 | public string Check(int i) 8 | { 9 | throw new NotImplementedException(); 10 | } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /src/FizzBuzz/FizzBuzz.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | Debug 6 | AnyCPU 7 | {D4323537-C6A8-4F8E-A79B-7FAA30D41354} 8 | Library 9 | Properties 10 | FizzBuzz 11 | FizzBuzz 12 | v4.5 13 | 512 14 | 15 | 16 | true 17 | full 18 | false 19 | bin\Debug\ 20 | DEBUG;TRACE 21 | prompt 22 | 4 23 | 24 | 25 | pdbonly 26 | true 27 | bin\Release\ 28 | TRACE 29 | prompt 30 | 4 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 53 | -------------------------------------------------------------------------------- /src/FizzBuzz/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("FizzBuzz")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("")] 12 | [assembly: AssemblyProduct("FizzBuzz")] 13 | [assembly: AssemblyCopyright("Copyright © 2013")] 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("29d53de4-90ca-4501-b91b-422cf0a49c41")] 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 | -------------------------------------------------------------------------------- /src/IncomeTax.Tests/IncomeTax.Tests.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | Debug 5 | AnyCPU 6 | {CC69794B-E90C-4C92-8786-26804E1E3292} 7 | Library 8 | Properties 9 | IncomeTax.Tests 10 | IncomeTax.Tests 11 | v4.5 12 | 512 13 | {3AC096D0-A1C2-E12C-1390-A8335801FDAB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} 14 | 10.0 15 | $(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion) 16 | $(ProgramFiles)\Common Files\microsoft shared\VSTT\$(VisualStudioVersion)\UITestExtensionPackages 17 | False 18 | UnitTest 19 | 20 | 21 | true 22 | full 23 | false 24 | bin\Debug\ 25 | DEBUG;TRACE 26 | prompt 27 | 4 28 | 29 | 30 | pdbonly 31 | true 32 | bin\Release\ 33 | TRACE 34 | prompt 35 | 4 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | {646f628b-1688-487f-864b-b68d646aebc2} 59 | IncomeTax 60 | 61 | 62 | 63 | 64 | 65 | 66 | False 67 | 68 | 69 | False 70 | 71 | 72 | False 73 | 74 | 75 | False 76 | 77 | 78 | 79 | 80 | 81 | 82 | 89 | -------------------------------------------------------------------------------- /src/IncomeTax.Tests/IncomeTaxTests.cs: -------------------------------------------------------------------------------- 1 | using Microsoft.VisualStudio.TestTools.UnitTesting; 2 | 3 | namespace IncomeTax.Tests 4 | { 5 | [TestClass] 6 | public class IncomeTaxTests 7 | { 8 | private IncomeTax _incomeTax; 9 | 10 | [TestInitialize] 11 | public void TestInitialize() 12 | { 13 | _incomeTax = new IncomeTax(); 14 | } 15 | 16 | [TestCleanup] 17 | public void TestCleanup() 18 | { 19 | _incomeTax = null; 20 | } 21 | 22 | [TestMethod] 23 | public void No_Income_Returns_0() 24 | { 25 | int result = _incomeTax.CalculateTax(0); 26 | Assert.AreEqual(0, result); 27 | } 28 | 29 | [TestMethod] 30 | public void Negative_Income_Returns_0() 31 | { 32 | int result = _incomeTax.CalculateTax(-1); 33 | Assert.AreEqual(result, 0); 34 | } 35 | 36 | [TestMethod] 37 | public void Income_Of_10000_Returns_1085() 38 | { 39 | int result = _incomeTax.CalculateTax(10000); 40 | Assert.AreEqual(1085, result); 41 | } 42 | 43 | [TestMethod] 44 | public void Income_Of_20000_Returns_2554() 45 | { 46 | int result = _incomeTax.CalculateTax(20000); 47 | Assert.AreEqual(2554, result); 48 | } 49 | 50 | [TestMethod] 51 | public void Income_Of_450000_Returns_135964() 52 | { 53 | int result = _incomeTax.CalculateTax(450000); 54 | Assert.AreEqual(135964, result); 55 | } 56 | } 57 | } -------------------------------------------------------------------------------- /src/IncomeTax.Tests/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("UnitTestProject1")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("")] 12 | [assembly: AssemblyProduct("UnitTestProject1")] 13 | [assembly: AssemblyCopyright("Copyright © 2014")] 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("d8de72ae-b2c8-4c5f-b3fd-90143198a8b6")] 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 | -------------------------------------------------------------------------------- /src/IncomeTax/IncomeTax.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace IncomeTax 4 | { 5 | public class IncomeTax 6 | { 7 | public int CalculateTax(decimal income) 8 | { 9 | throw new NotImplementedException(); 10 | } 11 | } 12 | } -------------------------------------------------------------------------------- /src/IncomeTax/IncomeTax.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | Debug 6 | AnyCPU 7 | {646F628B-1688-487F-864B-B68D646AEBC2} 8 | Library 9 | Properties 10 | IncomeTax 11 | IncomeTax 12 | v4.5 13 | 512 14 | 15 | 16 | true 17 | full 18 | false 19 | bin\Debug\ 20 | DEBUG;TRACE 21 | prompt 22 | 4 23 | 24 | 25 | pdbonly 26 | true 27 | bin\Release\ 28 | TRACE 29 | prompt 30 | 4 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 53 | -------------------------------------------------------------------------------- /src/IncomeTax/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("IncomeTax")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("")] 12 | [assembly: AssemblyProduct("IncomeTax")] 13 | [assembly: AssemblyCopyright("Copyright © 2014")] 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("1f2b7a42-d1ce-4ca2-8b05-e719ae1816d6")] 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 | -------------------------------------------------------------------------------- /src/LeapYear.Tests/LeapYear.Tests.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | Debug 5 | AnyCPU 6 | {1FDF8167-DAA9-472F-A779-F42674750F47} 7 | Library 8 | Properties 9 | LeapYear.Tests 10 | LeapYear.Tests 11 | v4.5 12 | 512 13 | {3AC096D0-A1C2-E12C-1390-A8335801FDAB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} 14 | 10.0 15 | $(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion) 16 | $(ProgramFiles)\Common Files\microsoft shared\VSTT\$(VisualStudioVersion)\UITestExtensionPackages 17 | False 18 | UnitTest 19 | 20 | 21 | true 22 | full 23 | false 24 | bin\Debug\ 25 | DEBUG;TRACE 26 | prompt 27 | 4 28 | 29 | 30 | pdbonly 31 | true 32 | bin\Release\ 33 | TRACE 34 | prompt 35 | 4 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | {dd7753cc-6401-4e8c-8b16-e4d3f82b2cec} 59 | LeapYear 60 | 61 | 62 | 63 | 64 | 65 | 66 | False 67 | 68 | 69 | False 70 | 71 | 72 | False 73 | 74 | 75 | False 76 | 77 | 78 | 79 | 80 | 81 | 82 | 89 | -------------------------------------------------------------------------------- /src/LeapYear.Tests/LeapYearTests.cs: -------------------------------------------------------------------------------- 1 | using Microsoft.VisualStudio.TestTools.UnitTesting; 2 | 3 | namespace LeapYear.Tests 4 | { 5 | [TestClass] 6 | public class LeapYearTests 7 | { 8 | private LeapYear leapYear; 9 | 10 | [TestInitialize] 11 | public void TestInitialize() 12 | { 13 | leapYear = new LeapYear(); 14 | } 15 | 16 | [TestCleanup] 17 | public void TestCleanup() 18 | { 19 | leapYear = null; 20 | } 21 | 22 | [TestMethod] 23 | public void LeapYear_returns_true_for_1904() 24 | { 25 | bool result = leapYear.IsLeapYear(1904); 26 | Assert.IsTrue(result); 27 | } 28 | 29 | [TestMethod] 30 | public void LeapYear_returns_true_for_1952() 31 | { 32 | bool result = leapYear.IsLeapYear(1952); 33 | Assert.IsTrue(result); 34 | } 35 | 36 | [TestMethod] 37 | public void LeapYear_returns_true_for_2000() 38 | { 39 | bool result = leapYear.IsLeapYear(2000); 40 | Assert.IsTrue(result); 41 | } 42 | 43 | [TestMethod] 44 | public void LeapYear_returns_true_for_2012() 45 | { 46 | bool result = leapYear.IsLeapYear(2012); 47 | Assert.IsTrue(result); 48 | } 49 | 50 | [TestMethod] 51 | public void LeapYear_returns_true_for_2048() 52 | { 53 | bool result = leapYear.IsLeapYear(2048); 54 | Assert.IsTrue(result); 55 | } 56 | 57 | [TestMethod] 58 | public void LeapYear_returns_true_for_2096() 59 | { 60 | bool result = leapYear.IsLeapYear(2096); 61 | Assert.IsTrue(result); 62 | } 63 | 64 | [TestMethod] 65 | public void LeapYear_returns_false_for_1700() 66 | { 67 | bool result = leapYear.IsLeapYear(1700); 68 | Assert.IsFalse(result); 69 | } 70 | 71 | [TestMethod] 72 | public void LeapYear_returns_false_for_1900() 73 | { 74 | bool result = leapYear.IsLeapYear(1900); 75 | Assert.IsFalse(result); 76 | } 77 | 78 | [TestMethod] 79 | public void LeapYear_returns_false_for_2100() 80 | { 81 | bool result = leapYear.IsLeapYear(2100); 82 | Assert.IsFalse(result); 83 | } 84 | 85 | [TestMethod] 86 | public void LeapYear_returns_false_for_2001() 87 | { 88 | bool result = leapYear.IsLeapYear(2001); 89 | Assert.IsFalse(result); 90 | } 91 | 92 | [TestMethod] 93 | public void LeapYear_returns_false_for_2014() 94 | { 95 | bool result = leapYear.IsLeapYear(2014); 96 | Assert.IsFalse(result); 97 | } 98 | 99 | [TestMethod] 100 | public void LeapYear_returns_false_for_2050() 101 | { 102 | bool result = leapYear.IsLeapYear(2050); 103 | Assert.IsFalse(result); 104 | } 105 | 106 | /* 107 | //UNCOMMENT THIS SECTION FOR EXTRA CREDIT 108 | [TestMethod] 109 | public void LeapYear_returns_false_for_4AD() 110 | { 111 | bool result = leapYear.IsLeapYear(4); 112 | Assert.IsFalse(result); 113 | } 114 | 115 | [TestMethod] 116 | public void LeapYear_returns_false_for_0AD() 117 | { 118 | bool result = leapYear.IsLeapYear(0); 119 | Assert.IsFalse(result); 120 | } 121 | 122 | [TestMethod] 123 | public void LeapYear_returns_false_for_50BC() 124 | { 125 | bool result = leapYear.IsLeapYear(-50); 126 | Assert.IsFalse(result); 127 | } 128 | 129 | [TestMethod] 130 | public void LeapYear_returns_true_for_8AD() 131 | { 132 | bool result = leapYear.IsLeapYear(8); 133 | Assert.IsTrue(result); 134 | } 135 | 136 | [TestMethod] 137 | public void LeapYear_returns_true_for_30BC() 138 | { 139 | bool result = leapYear.IsLeapYear(-30); 140 | Assert.IsTrue(result); 141 | } 142 | 143 | [TestMethod] 144 | public void LeapYear_returns_true_for_45BC() 145 | { 146 | bool result = leapYear.IsLeapYear(-45); 147 | Assert.IsTrue(result); 148 | } 149 | */ 150 | } 151 | } -------------------------------------------------------------------------------- /src/LeapYear.Tests/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("LeapYear.Tests")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("")] 12 | [assembly: AssemblyProduct("LeapYear.Tests")] 13 | [assembly: AssemblyCopyright("Copyright © 2013")] 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("f075a46b-fc65-4d9d-a8c4-bbd1ffd96684")] 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 | -------------------------------------------------------------------------------- /src/LeapYear/LeapYear.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace LeapYear 4 | { 5 | public class LeapYear 6 | { 7 | public bool IsLeapYear(int i) 8 | { 9 | throw new NotImplementedException(); 10 | } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /src/LeapYear/LeapYear.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | Debug 6 | AnyCPU 7 | {DD7753CC-6401-4E8C-8B16-E4D3F82B2CEC} 8 | Library 9 | Properties 10 | LeapYear 11 | LeapYear 12 | v4.5 13 | 512 14 | 15 | 16 | true 17 | full 18 | false 19 | bin\Debug\ 20 | DEBUG;TRACE 21 | prompt 22 | 4 23 | 24 | 25 | pdbonly 26 | true 27 | bin\Release\ 28 | TRACE 29 | prompt 30 | 4 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 53 | -------------------------------------------------------------------------------- /src/LeapYear/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("LeapYear")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("")] 12 | [assembly: AssemblyProduct("LeapYear")] 13 | [assembly: AssemblyCopyright("Copyright © 2013")] 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("d302b0be-bf9d-4eeb-a8f8-66c3e38cc383")] 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 | -------------------------------------------------------------------------------- /src/LookAndSay.Tests/LookAndSay.Tests.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | Debug 5 | AnyCPU 6 | {708CD314-2DDD-4955-9EFE-69DDBF8149CF} 7 | Library 8 | Properties 9 | LookAndSay.Tests 10 | LookAndSay.Tests 11 | v4.5 12 | 512 13 | {3AC096D0-A1C2-E12C-1390-A8335801FDAB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} 14 | 10.0 15 | $(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion) 16 | $(ProgramFiles)\Common Files\microsoft shared\VSTT\$(VisualStudioVersion)\UITestExtensionPackages 17 | False 18 | UnitTest 19 | 20 | 21 | true 22 | full 23 | false 24 | bin\Debug\ 25 | DEBUG;TRACE 26 | prompt 27 | 4 28 | 29 | 30 | pdbonly 31 | true 32 | bin\Release\ 33 | TRACE 34 | prompt 35 | 4 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | {96ffc436-4f16-4b75-9ad1-d3ef09572f5c} 59 | LookAndSay 60 | 61 | 62 | 63 | 64 | 65 | 66 | False 67 | 68 | 69 | False 70 | 71 | 72 | False 73 | 74 | 75 | False 76 | 77 | 78 | 79 | 80 | 81 | 82 | 89 | -------------------------------------------------------------------------------- /src/LookAndSay.Tests/LookAndSayTests.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using Microsoft.VisualStudio.TestTools.UnitTesting; 3 | 4 | namespace LookAndSay.Tests 5 | { 6 | [TestClass] 7 | public class LookAndSayTests 8 | { 9 | private LookAndSay lookAndSay; 10 | 11 | [TestInitialize] 12 | public void TestInitialize() 13 | { 14 | lookAndSay = new LookAndSay(); 15 | } 16 | 17 | [TestCleanup] 18 | public void TestCleanup() 19 | { 20 | lookAndSay = null; 21 | } 22 | 23 | [TestMethod] 24 | public void LookAndSay_returns_empty_string_for_input_empty_string() 25 | { 26 | var result = lookAndSay.CalculateNextSequence(String.Empty); 27 | Assert.AreEqual(String.Empty, result); 28 | } 29 | 30 | [TestMethod] 31 | public void LookAndSay_returns_11_for_input_1() 32 | { 33 | var result = lookAndSay.CalculateNextSequence("1"); 34 | Assert.AreEqual("11", result); 35 | } 36 | 37 | [TestMethod] 38 | public void LookAndSay_returns_311221_for_input_111211() 39 | { 40 | var result = lookAndSay.CalculateNextSequence("111211"); 41 | Assert.AreEqual("311221", result); 42 | } 43 | 44 | [TestMethod] 45 | public void LookAndSay_returns_11121314151617181910_for_input_1234567890() 46 | { 47 | var result = lookAndSay.CalculateNextSequence("1234567890"); 48 | Assert.AreEqual("11121314151617181910", result); 49 | } 50 | 51 | [TestMethod] 52 | public void LookAndSay_returns_101_for_input_1111111111() 53 | { 54 | var result = lookAndSay.CalculateNextSequence("1111111111"); 55 | Assert.AreEqual("101", result); 56 | } 57 | 58 | [TestMethod] 59 | [ExpectedException(typeof(ArgumentException))] 60 | public void LookAndSay_throws_ArgumentException_exception_if_sequence_has_non_numeric_characters() 61 | { 62 | var result = lookAndSay.CalculateNextSequence("ABC"); 63 | } 64 | } 65 | } 66 | -------------------------------------------------------------------------------- /src/LookAndSay.Tests/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("LookAndSay.Tests")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("")] 12 | [assembly: AssemblyProduct("LookAndSay.Tests")] 13 | [assembly: AssemblyCopyright("Copyright © 2013")] 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("a1e4b4ef-c54f-44e8-a6a4-5d8654216698")] 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 | -------------------------------------------------------------------------------- /src/LookAndSay/LookAndSay.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace LookAndSay 4 | { 5 | public class LookAndSay 6 | { 7 | public string CalculateNextSequence(string s) 8 | { 9 | throw new NotImplementedException(); 10 | } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /src/LookAndSay/LookAndSay.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | Debug 6 | AnyCPU 7 | {96FFC436-4F16-4B75-9AD1-D3EF09572F5C} 8 | Library 9 | Properties 10 | LookAndSay 11 | LookAndSay 12 | v4.5 13 | 512 14 | 15 | 16 | true 17 | full 18 | false 19 | bin\Debug\ 20 | DEBUG;TRACE 21 | prompt 22 | 4 23 | 24 | 25 | pdbonly 26 | true 27 | bin\Release\ 28 | TRACE 29 | prompt 30 | 4 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 53 | -------------------------------------------------------------------------------- /src/LookAndSay/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("LookAndSay")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("")] 12 | [assembly: AssemblyProduct("LookAndSay")] 13 | [assembly: AssemblyCopyright("Copyright © 2013")] 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("e080ba02-e674-4b71-a81e-87e1cf8e9f93")] 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 | -------------------------------------------------------------------------------- /src/MortgageCalculator.Tests/MortgageCalculatorTestsPart1.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using Microsoft.VisualStudio.TestTools.UnitTesting; 3 | 4 | namespace MortgageCalculator.Tests 5 | { 6 | [TestClass] 7 | public class MortgageCalculatorTestsPart1 8 | { 9 | private MortgageCalculator mortgageCalculator; 10 | 11 | [TestInitialize] 12 | public void TestInitialize() 13 | { 14 | mortgageCalculator = new MortgageCalculator(); 15 | } 16 | 17 | [TestCleanup] 18 | public void TestCleanup() 19 | { 20 | mortgageCalculator = null; 21 | } 22 | 23 | [TestMethod] 24 | public void MortgageCalculator_CalculatePurchasePrice_1() 25 | { 26 | var result = mortgageCalculator.CalculatePurchasePrice(1, 1, 1, 1); 27 | Assert.AreEqual(12.95, result); 28 | } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /src/MortgageCalculator.Tests/MortgageCalculatorTestsPart2.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using Microsoft.VisualStudio.TestTools.UnitTesting; 3 | 4 | namespace MortgageCalculator.Tests 5 | { 6 | [TestClass] 7 | public class MortgageCalculatorTestsPart2 8 | { 9 | private MortgageCalculator mortgageCalculator; 10 | 11 | [TestInitialize] 12 | public void TestInitialize() 13 | { 14 | mortgageCalculator = new MortgageCalculator(); 15 | } 16 | 17 | [TestCleanup] 18 | public void TestCleanup() 19 | { 20 | mortgageCalculator = null; 21 | } 22 | 23 | [TestMethod] 24 | public void MortgageCalculator_CalculateMonthlyPayment_1() 25 | { 26 | var result = mortgageCalculator.CalculateMonthlyPayment(1, 0, 12, 0); 27 | Assert.AreEqual(1, result); 28 | } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /src/MortgageCalculator.Tests/MortgageCalculatorTestsPart3.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using Microsoft.VisualStudio.TestTools.UnitTesting; 3 | 4 | namespace MortgageCalculator.Tests 5 | { 6 | [TestClass] 7 | public class MortgageCalculatorTestsPart3 8 | { 9 | private MortgageCalculator mortgageCalculator; 10 | 11 | [TestInitialize] 12 | public void TestInitialize() 13 | { 14 | mortgageCalculator = new MortgageCalculator(); 15 | } 16 | 17 | [TestCleanup] 18 | public void TestCleanup() 19 | { 20 | mortgageCalculator = null; 21 | } 22 | 23 | [TestMethod] 24 | public void MortgageCalculator_CalculateDownPayment_1() 25 | { 26 | var result = mortgageCalculator.CalculateDownPayment(1, 0, 12, 1); 27 | Assert.AreEqual(0, result); 28 | } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /src/MortgageCalculator.Tests/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("MortgageCalculator.Tests")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("")] 12 | [assembly: AssemblyProduct("MortgageCalculator.Tests")] 13 | [assembly: AssemblyCopyright("Copyright © 2013")] 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("8feb59c0-7203-46f8-92d7-000e7b7310bb")] 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 | -------------------------------------------------------------------------------- /src/MortgageCalculator/MortgageCalculator.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 MortgageCalculator 8 | { 9 | public class MortgageCalculator 10 | { 11 | public decimal CalculatePurchasePrice(int term, decimal rate, decimal monthlyPayment, decimal downPayment) 12 | { 13 | throw new NotImplementedException(); 14 | } 15 | 16 | public decimal CalculateMonthlyPayment(int term, decimal rate, decimal purchasePrice, decimal downPayment) 17 | { 18 | throw new NotImplementedException(); 19 | } 20 | 21 | public decimal CalculateDownPayment(int term, decimal rate, decimal purchasePrice, decimal monthlyPayment) 22 | { 23 | throw new NotImplementedException(); 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /src/MortgageCalculator/MortgageCalculator.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | Debug 6 | AnyCPU 7 | {FD14661A-F55B-4E46-9C05-AD2C91A20F09} 8 | Library 9 | Properties 10 | MortgageCalculator 11 | MortgageCalculator 12 | v4.5 13 | 512 14 | 15 | 16 | true 17 | full 18 | false 19 | bin\Debug\ 20 | DEBUG;TRACE 21 | prompt 22 | 4 23 | 24 | 25 | pdbonly 26 | true 27 | bin\Release\ 28 | TRACE 29 | prompt 30 | 4 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 53 | -------------------------------------------------------------------------------- /src/MortgageCalculator/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("MortgageCalculator")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("")] 12 | [assembly: AssemblyProduct("MortgageCalculator")] 13 | [assembly: AssemblyCopyright("Copyright © 2013")] 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("377f972e-5c5f-4c3f-9417-a03127629976")] 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 | -------------------------------------------------------------------------------- /src/PalindromeChecker.Tests/PalindromeCheckerTests.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Runtime.InteropServices; 3 | using Microsoft.VisualStudio.TestTools.UnitTesting; 4 | 5 | namespace PalindromeChecker.Tests 6 | { 7 | [TestClass] 8 | public class PalindromeCheckerTests 9 | { 10 | private PalindromeChecker palindromeChecker; 11 | 12 | [TestInitialize] 13 | public void TestInitialize() 14 | { 15 | palindromeChecker = new PalindromeChecker(); 16 | } 17 | 18 | [TestCleanup] 19 | public void TestCleanup() 20 | { 21 | palindromeChecker = null; 22 | } 23 | 24 | [TestMethod] 25 | public void PalindromeChecker_returns_true_for_empty_string() 26 | { 27 | var result = palindromeChecker.IsPalindrome(String.Empty); 28 | Assert.AreEqual(true, result); 29 | } 30 | 31 | [TestMethod] 32 | public void PalindromeChecker_returns_true_for_null() 33 | { 34 | var result = palindromeChecker.IsPalindrome(null); 35 | Assert.AreEqual(true, result); 36 | } 37 | 38 | [TestMethod] 39 | public void PalindromeChecker_returns_true_for_input_ABBA() 40 | { 41 | var result = palindromeChecker.IsPalindrome("ABBA"); 42 | Assert.AreEqual(true, result); 43 | } 44 | 45 | [TestMethod] 46 | public void PalindromeChecker_returns_true_for_input_tattarrattat() 47 | { 48 | var result = palindromeChecker.IsPalindrome("tattarrattat"); 49 | Assert.AreEqual(true, result); 50 | } 51 | 52 | [TestMethod] 53 | public void PalindromeChecker_returns_false_for_input_ABCD() 54 | { 55 | var result = palindromeChecker.IsPalindrome("ABCD"); 56 | Assert.AreEqual(false, result); 57 | } 58 | 59 | [TestMethod] 60 | public void PalindromeChecker_returns_false_for_input_palindrome() 61 | { 62 | var result = palindromeChecker.IsPalindrome("palindrome"); 63 | Assert.AreEqual(false, result); 64 | } 65 | } 66 | } 67 | -------------------------------------------------------------------------------- /src/PalindromeChecker.Tests/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("PalindromeChecker.Tests")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("")] 12 | [assembly: AssemblyProduct("PalindromeChecker.Tests")] 13 | [assembly: AssemblyCopyright("Copyright © 2013")] 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("e58a93bb-0f07-4d3a-8450-6dfea46ced14")] 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 | -------------------------------------------------------------------------------- /src/PalindromeChecker/PalindromeChecker.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace PalindromeChecker 4 | { 5 | public class PalindromeChecker 6 | { 7 | public bool IsPalindrome(string s) 8 | { 9 | throw new NotImplementedException(); 10 | } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /src/PalindromeChecker/PalindromeChecker.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | Debug 6 | AnyCPU 7 | {52542219-DC08-4965-8773-FE5365A5F795} 8 | Library 9 | Properties 10 | PalindromeChecker 11 | PalindromeChecker 12 | v4.5 13 | 512 14 | 15 | 16 | true 17 | full 18 | false 19 | bin\Debug\ 20 | DEBUG;TRACE 21 | prompt 22 | 4 23 | 24 | 25 | pdbonly 26 | true 27 | bin\Release\ 28 | TRACE 29 | prompt 30 | 4 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 53 | -------------------------------------------------------------------------------- /src/PalindromeChecker/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("PalindromeChecker")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("")] 12 | [assembly: AssemblyProduct("PalindromeChecker")] 13 | [assembly: AssemblyCopyright("Copyright © 2013")] 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("11a495a9-5a22-48a8-94fc-544efa61a195")] 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 | -------------------------------------------------------------------------------- /src/PiCalculator.Tests/PiCalculatorTestsPart1.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using Microsoft.VisualStudio.TestTools.UnitTesting; 3 | 4 | namespace PiCalculator.Tests 5 | { 6 | [TestClass] 7 | public class PiCalculatorTestsPart1 8 | { 9 | private PiCalculator piCalculator; 10 | 11 | [TestInitialize] 12 | public void TestInitialize() 13 | { 14 | piCalculator = new PiCalculator(); 15 | } 16 | 17 | [TestCleanup] 18 | public void TestCleanup() 19 | { 20 | piCalculator = null; 21 | } 22 | 23 | [TestMethod] 24 | public void PiCalculator_GetPi_returns_314_for_input_2() 25 | { 26 | var result = piCalculator.GetPi(2); 27 | Assert.AreEqual("3.14", result); 28 | } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /src/PiCalculator.Tests/PiCalculatorTestsPart2.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using Microsoft.VisualStudio.TestTools.UnitTesting; 3 | 4 | namespace PiCalculator.Tests 5 | { 6 | [TestClass] 7 | public class PiCalculatorTestsPart2 8 | { 9 | private PiCalculator piCalculator; 10 | 11 | [TestInitialize] 12 | public void TestInitialize() 13 | { 14 | piCalculator = new PiCalculator(); 15 | } 16 | 17 | [TestCleanup] 18 | public void TestCleanup() 19 | { 20 | piCalculator = null; 21 | } 22 | 23 | [TestMethod] 24 | public void PiCalculator_GetPiDigit_returns_1_for_input_1() 25 | { 26 | var result = piCalculator.GetPiDigit(1); 27 | Assert.AreEqual(1, result); 28 | } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /src/PiCalculator.Tests/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("PiCalculator.Tests")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("")] 12 | [assembly: AssemblyProduct("PiCalculator.Tests")] 13 | [assembly: AssemblyCopyright("Copyright © 2013")] 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("eb533d78-074a-420f-a309-1eef54ec2326")] 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 | -------------------------------------------------------------------------------- /src/PiCalculator/PiCalculator.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace PiCalculator 4 | { 5 | public class PiCalculator 6 | { 7 | public string GetPi(int i) 8 | { 9 | throw new NotImplementedException(); 10 | } 11 | 12 | public int GetPiDigit(int i) 13 | { 14 | throw new NotImplementedException(); 15 | } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /src/PiCalculator/PiCalculator.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | Debug 6 | AnyCPU 7 | {3A6D48A9-0812-4478-9413-7B4829309CD0} 8 | Library 9 | Properties 10 | PiCalculator 11 | PiCalculator 12 | v4.5 13 | 512 14 | 15 | 16 | true 17 | full 18 | false 19 | bin\Debug\ 20 | DEBUG;TRACE 21 | prompt 22 | 4 23 | 24 | 25 | pdbonly 26 | true 27 | bin\Release\ 28 | TRACE 29 | prompt 30 | 4 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 53 | -------------------------------------------------------------------------------- /src/PiCalculator/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("PiCalculator")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("")] 12 | [assembly: AssemblyProduct("PiCalculator")] 13 | [assembly: AssemblyCopyright("Copyright © 2013")] 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("372ad0b6-6b81-49fc-9437-938df9c68f5e")] 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 | -------------------------------------------------------------------------------- /src/PigLatin.Tests/PigLatin.Tests.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | Debug 5 | AnyCPU 6 | {619782A7-90E6-4D97-A37A-66B01589D2C5} 7 | Library 8 | Properties 9 | PigLatin.Tests 10 | PigLatin.Tests 11 | v4.5 12 | 512 13 | {3AC096D0-A1C2-E12C-1390-A8335801FDAB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} 14 | 10.0 15 | $(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion) 16 | $(ProgramFiles)\Common Files\microsoft shared\VSTT\$(VisualStudioVersion)\UITestExtensionPackages 17 | False 18 | UnitTest 19 | 20 | 21 | true 22 | full 23 | false 24 | bin\Debug\ 25 | DEBUG;TRACE 26 | prompt 27 | 4 28 | 29 | 30 | pdbonly 31 | true 32 | bin\Release\ 33 | TRACE 34 | prompt 35 | 4 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | {8b644ba0-a108-45de-b238-aed8157f0b36} 60 | PigLatin 61 | 62 | 63 | 64 | 65 | 66 | 67 | False 68 | 69 | 70 | False 71 | 72 | 73 | False 74 | 75 | 76 | False 77 | 78 | 79 | 80 | 81 | 82 | 83 | 90 | -------------------------------------------------------------------------------- /src/PigLatin.Tests/PigLatinTestsPart1.cs: -------------------------------------------------------------------------------- 1 | using Microsoft.VisualStudio.TestTools.UnitTesting; 2 | 3 | namespace PigLatin.Tests 4 | { 5 | [TestClass] 6 | public class PigLatinTestsPart1 7 | { 8 | private PigLatin pigLatin; 9 | 10 | [TestInitialize] 11 | public void TestInitialize() 12 | { 13 | pigLatin = new PigLatin(); 14 | } 15 | 16 | [TestCleanup] 17 | public void TestCleanup() 18 | { 19 | pigLatin = null; 20 | } 21 | 22 | [TestMethod] 23 | public void PigLatin_returns_ellohay_for_input_hello() 24 | { 25 | string result = pigLatin.EnglishToPigLatin("hello"); 26 | Assert.AreEqual("ellohay", result); 27 | } 28 | 29 | [TestMethod] 30 | public void PigLatin_returns_iway_for_input_i() 31 | { 32 | string result = pigLatin.EnglishToPigLatin("i"); 33 | Assert.AreEqual("iway", result); 34 | } 35 | 36 | [TestMethod] 37 | public void PigLatin_returns_oveglay_for_input_glove() 38 | { 39 | string result = pigLatin.EnglishToPigLatin("glove"); 40 | Assert.AreEqual("oveglay", result); 41 | } 42 | 43 | /* Uncomment here for Extra Credit 44 | 45 | [TestMethod] 46 | public void PigLatin_returns_EthayIckquayOwnbrayOxfayOverwayEthayAzylayOgday_for_input_TheQuickBrownFoxJumpsOverTheLazyDog() 47 | { 48 | var result = pigLatin.EnglishToPigLatin("The quick, brown fox jumps over the lazy dog."); 49 | Assert.AreEqual("Ethay ickquay, ownbray oxfay umpsjay overway ethay azylay ogday.", result); 50 | } 51 | 52 | [TestMethod] 53 | public void PigLatin_returns_OdecayAtaskaArewayAwayOodgayAywayOtayOnehayOuryayIllsskay_for_input_ CodeKatasAreAGoodWayToHoneYourSkills() 54 | { 55 | var result = pigLatin.EnglishToPigLatin("Code Katas are a good way to hone your skills."); 56 | Assert.AreEqual("Odecay Ataskay areway away oodgay ayway otay onehay ouryay illsskay.",result); 57 | } 58 | */ 59 | } 60 | } -------------------------------------------------------------------------------- /src/PigLatin.Tests/PigLatinTestsPart2.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using Microsoft.VisualStudio.TestTools.UnitTesting; 3 | 4 | namespace PigLatin.Tests 5 | { 6 | [TestClass] 7 | public class PigLatinTestsPart2 8 | { 9 | private PigLatin pigLatin; 10 | 11 | [TestInitialize] 12 | public void TestInitialize() 13 | { 14 | pigLatin = new PigLatin(); 15 | } 16 | 17 | [TestCleanup] 18 | public void TestCleanup() 19 | { 20 | pigLatin = null; 21 | } 22 | 23 | [TestMethod] 24 | public void PigLatin_returns_hello_for_input_ellohay() 25 | { 26 | var result = pigLatin.PigLatinToEnglish("ellohay"); 27 | Assert.AreEqual("hello", result); 28 | } 29 | 30 | [TestMethod] 31 | public void PigLatin_returns_i_for_input_iway() 32 | { 33 | var result = pigLatin.PigLatinToEnglish("iway"); 34 | Assert.AreEqual("i", result); 35 | } 36 | 37 | [TestMethod] 38 | public void PigLatin_returns_glove_for_input_oveglay() 39 | { 40 | var result = pigLatin.PigLatinToEnglish("oveglay"); 41 | Assert.AreEqual("glove", result); 42 | } 43 | 44 | /* Uncomment here for Extra Credit 45 | 46 | [TestMethod] 47 | public void PigLatin_returns_TheQuickBrownFoxJumpsOverTheLazyDog_for_input_EthayIckquayOwnbrayOxfayOverwayEthayAzylayOgday() 48 | { 49 | var result = pigLatin.PigLatinToEnglish("Ethay ickquay, ownbray oxfay umpsjay overway ethay azylay ogday."); 50 | Assert.AreEqual("The quick, brown fox jumps over the lazy dog.", result); 51 | } 52 | 53 | [TestMethod] 54 | public void PigLatin_returns_CodeKatasAreAGoodWayToHoneYourSkills_for_input_OdecayAtaskaArewayAwayOodgayAywayOtayOnehayOuryayIllsskay() 55 | { 56 | var result = pigLatin.PigLatinToEnglish("Odecay Ataskay areway away oodgay ayway otay onehay ouryay illsskay."); 57 | Assert.AreEqual("Code Katas are a good way to hone your skills.",result); 58 | } 59 | 60 | */ 61 | } 62 | } 63 | -------------------------------------------------------------------------------- /src/PigLatin.Tests/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("PigLatin.Tests")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("")] 12 | [assembly: AssemblyProduct("PigLatin.Tests")] 13 | [assembly: AssemblyCopyright("Copyright © 2013")] 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("cb548d71-3c1b-4e3a-af57-87a4876e2857")] 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 | -------------------------------------------------------------------------------- /src/PigLatin/PigLatin.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace PigLatin 4 | { 5 | public class PigLatin 6 | { 7 | public string EnglishToPigLatin(string s) 8 | { 9 | throw new NotImplementedException(); 10 | } 11 | 12 | public string PigLatinToEnglish(string s) 13 | { 14 | throw new NotImplementedException(); 15 | } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /src/PigLatin/PigLatin.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | Debug 6 | AnyCPU 7 | {8B644BA0-A108-45DE-B238-AED8157F0B36} 8 | Library 9 | Properties 10 | PigLatin 11 | PigLatin 12 | v4.5 13 | 512 14 | 15 | 16 | true 17 | full 18 | false 19 | bin\Debug\ 20 | DEBUG;TRACE 21 | prompt 22 | 4 23 | 24 | 25 | pdbonly 26 | true 27 | bin\Release\ 28 | TRACE 29 | prompt 30 | 4 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 53 | -------------------------------------------------------------------------------- /src/PigLatin/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("PigLatin")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("")] 12 | [assembly: AssemblyProduct("PigLatin")] 13 | [assembly: AssemblyCopyright("Copyright © 2013")] 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("3909cb56-2527-4041-8855-960ebf4c167d")] 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 | -------------------------------------------------------------------------------- /src/PokerHandRanking.Tests/PokerHandRanking.Tests.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | Debug 5 | AnyCPU 6 | {B80FB155-4903-4A54-B16F-71E3C428E42C} 7 | Library 8 | Properties 9 | PokerHandRanking.Tests 10 | PokerHandRanking.Tests 11 | v4.5 12 | 512 13 | {3AC096D0-A1C2-E12C-1390-A8335801FDAB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} 14 | 10.0 15 | $(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion) 16 | $(ProgramFiles)\Common Files\microsoft shared\VSTT\$(VisualStudioVersion)\UITestExtensionPackages 17 | False 18 | UnitTest 19 | 20 | 21 | true 22 | full 23 | false 24 | bin\Debug\ 25 | DEBUG;TRACE 26 | prompt 27 | 4 28 | 29 | 30 | pdbonly 31 | true 32 | bin\Release\ 33 | TRACE 34 | prompt 35 | 4 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | {5dedd585-a2e3-4b1a-8a2d-ba5854fb8b8d} 59 | PokerHandRanking 60 | 61 | 62 | 63 | 64 | 65 | 66 | False 67 | 68 | 69 | False 70 | 71 | 72 | False 73 | 74 | 75 | False 76 | 77 | 78 | 79 | 80 | 81 | 82 | 89 | -------------------------------------------------------------------------------- /src/PokerHandRanking.Tests/PokerHandRankingTests.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using Microsoft.VisualStudio.TestTools.UnitTesting; 4 | 5 | namespace PokerHandRanking.Tests 6 | { 7 | [TestClass] 8 | public class PokerHandRankingTests 9 | { 10 | private PokerHandRanking pokerHandRanking; 11 | 12 | [TestInitialize] 13 | public void TestInitialize() 14 | { 15 | pokerHandRanking = new PokerHandRanking(); 16 | } 17 | 18 | [TestCleanup] 19 | public void TestCleanup() 20 | { 21 | pokerHandRanking = null; 22 | } 23 | 24 | [TestMethod] 25 | public void PokerHandRanking_returns_royal_flush() 26 | { 27 | var hand = new List() 28 | { 29 | new Card() { Rank = Rank.Ace, Suit = Suit.Club }, 30 | new Card() { Rank = Rank.King, Suit = Suit.Club }, 31 | new Card() { Rank = Rank.Queen, Suit = Suit.Club }, 32 | new Card() { Rank = Rank.Jack, Suit = Suit.Club }, 33 | new Card() { Rank = Rank.Ten, Suit = Suit.Club } 34 | }; 35 | 36 | var result = pokerHandRanking.RankHand(hand); 37 | 38 | Assert.AreEqual("Royal Flush", result); 39 | } 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /src/PokerHandRanking.Tests/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("PokerHandRanking.Tests")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("")] 12 | [assembly: AssemblyProduct("PokerHandRanking.Tests")] 13 | [assembly: AssemblyCopyright("Copyright © 2013")] 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("5c0b08ea-4782-477d-881f-ebd7543b567e")] 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 | -------------------------------------------------------------------------------- /src/PokerHandRanking/Card.cs: -------------------------------------------------------------------------------- 1 | namespace PokerHandRanking 2 | { 3 | public class Card 4 | { 5 | public Suit Suit; 6 | public Rank Rank; 7 | } 8 | } -------------------------------------------------------------------------------- /src/PokerHandRanking/PokerHandRanking.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | 4 | namespace PokerHandRanking 5 | { 6 | public class PokerHandRanking 7 | { 8 | public string RankHand(List hand) 9 | { 10 | throw new NotImplementedException(); 11 | } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /src/PokerHandRanking/PokerHandRanking.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | Debug 6 | AnyCPU 7 | {5DEDD585-A2E3-4B1A-8A2D-BA5854FB8B8D} 8 | Library 9 | Properties 10 | PokerHandRanking 11 | PokerHandRanking 12 | v4.5 13 | 512 14 | 15 | 16 | true 17 | full 18 | false 19 | bin\Debug\ 20 | DEBUG;TRACE 21 | prompt 22 | 4 23 | 24 | 25 | pdbonly 26 | true 27 | bin\Release\ 28 | TRACE 29 | prompt 30 | 4 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 56 | -------------------------------------------------------------------------------- /src/PokerHandRanking/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("PokerHandRanking")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("")] 12 | [assembly: AssemblyProduct("PokerHandRanking")] 13 | [assembly: AssemblyCopyright("Copyright © 2013")] 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("413e887c-b0b4-45dc-b449-32dc5f2f8c47")] 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 | -------------------------------------------------------------------------------- /src/PokerHandRanking/Rank.cs: -------------------------------------------------------------------------------- 1 | namespace PokerHandRanking 2 | { 3 | public enum Rank 4 | { 5 | Ace, 6 | Two, 7 | Three, 8 | Four, 9 | Five, 10 | Six, 11 | Seven, 12 | Eight, 13 | Nine, 14 | Ten, 15 | Jack, 16 | Queen, 17 | King 18 | } 19 | } -------------------------------------------------------------------------------- /src/PokerHandRanking/Suit.cs: -------------------------------------------------------------------------------- 1 | namespace PokerHandRanking 2 | { 3 | public enum Suit 4 | { 5 | Club, 6 | Diamond, 7 | Heart, 8 | Spade 9 | } 10 | } -------------------------------------------------------------------------------- /src/PrimeNumbers.Tests/PrimeNumbers.Tests.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | Debug 5 | AnyCPU 6 | {1F04E256-A1DC-42CE-A0BC-28B9287F22C8} 7 | Library 8 | Properties 9 | PrimeNumbers.Tests 10 | PrimeNumbers.Tests 11 | v4.5 12 | 512 13 | {3AC096D0-A1C2-E12C-1390-A8335801FDAB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} 14 | 10.0 15 | $(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion) 16 | $(ProgramFiles)\Common Files\microsoft shared\VSTT\$(VisualStudioVersion)\UITestExtensionPackages 17 | False 18 | UnitTest 19 | 20 | 21 | true 22 | full 23 | false 24 | bin\Debug\ 25 | DEBUG;TRACE 26 | prompt 27 | 4 28 | 29 | 30 | pdbonly 31 | true 32 | bin\Release\ 33 | TRACE 34 | prompt 35 | 4 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | {55914f25-ba45-4eee-9e31-3ee2ca1725c4} 59 | PrimeNumbers 60 | 61 | 62 | 63 | 64 | 65 | 66 | False 67 | 68 | 69 | False 70 | 71 | 72 | False 73 | 74 | 75 | False 76 | 77 | 78 | 79 | 80 | 81 | 82 | 89 | -------------------------------------------------------------------------------- /src/PrimeNumbers.Tests/PrimeNumbersTests.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using Microsoft.VisualStudio.TestTools.UnitTesting; 3 | 4 | namespace PrimeNumbers.Tests 5 | { 6 | [TestClass] 7 | public class PrimeNumbersTests 8 | { 9 | private PrimeNumbers primeNumbers; 10 | 11 | [TestInitialize] 12 | public void TestInitialize() 13 | { 14 | primeNumbers = new PrimeNumbers(); 15 | } 16 | 17 | [TestCleanup] 18 | public void TestCleanup() 19 | { 20 | primeNumbers = null; 21 | } 22 | 23 | [TestMethod] 24 | public void TestMethod1() 25 | { 26 | var result = primeNumbers.GetNextPrimeNumber(1); 27 | Assert.AreEqual(0, result); 28 | } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /src/PrimeNumbers.Tests/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("PrimeNumbers.Tests")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("")] 12 | [assembly: AssemblyProduct("PrimeNumbers.Tests")] 13 | [assembly: AssemblyCopyright("Copyright © 2013")] 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("411cac5c-a49f-41e8-bf1c-7b0326e67242")] 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 | -------------------------------------------------------------------------------- /src/PrimeNumbers/PrimeNumbers.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace PrimeNumbers 4 | { 5 | public class PrimeNumbers 6 | { 7 | public int GetNextPrimeNumber(int i) 8 | { 9 | throw new NotImplementedException(); 10 | } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /src/PrimeNumbers/PrimeNumbers.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | Debug 6 | AnyCPU 7 | {55914F25-BA45-4EEE-9E31-3EE2CA1725C4} 8 | Library 9 | Properties 10 | PrimeNumbers 11 | PrimeNumbers 12 | v4.5 13 | 512 14 | 15 | 16 | true 17 | full 18 | false 19 | bin\Debug\ 20 | DEBUG;TRACE 21 | prompt 22 | 4 23 | 24 | 25 | pdbonly 26 | true 27 | bin\Release\ 28 | TRACE 29 | prompt 30 | 4 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 53 | -------------------------------------------------------------------------------- /src/PrimeNumbers/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("PrimeNumbers")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("")] 12 | [assembly: AssemblyProduct("PrimeNumbers")] 13 | [assembly: AssemblyCopyright("Copyright © 2013")] 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("88489393-d306-439d-bca3-822abb64b8b3")] 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 | -------------------------------------------------------------------------------- /src/ReverseString.Tests/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("ReverseString.Tests")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("")] 12 | [assembly: AssemblyProduct("ReverseString.Tests")] 13 | [assembly: AssemblyCopyright("Copyright © 2013")] 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("704fe357-7e12-437b-adb8-d692bd101194")] 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 | -------------------------------------------------------------------------------- /src/ReverseString.Tests/ReverseString.Tests.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | Debug 5 | AnyCPU 6 | {E3130AA1-230B-40BC-848E-815493117874} 7 | Library 8 | Properties 9 | ReverseString.Tests 10 | ReverseString.Tests 11 | v4.5 12 | 512 13 | {3AC096D0-A1C2-E12C-1390-A8335801FDAB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} 14 | 10.0 15 | $(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion) 16 | $(ProgramFiles)\Common Files\microsoft shared\VSTT\$(VisualStudioVersion)\UITestExtensionPackages 17 | False 18 | UnitTest 19 | 20 | 21 | true 22 | full 23 | false 24 | bin\Debug\ 25 | DEBUG;TRACE 26 | prompt 27 | 4 28 | 29 | 30 | pdbonly 31 | true 32 | bin\Release\ 33 | TRACE 34 | prompt 35 | 4 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | {8017986d-bd6d-4688-a8b9-1ef39c990d09} 59 | ReverseString 60 | 61 | 62 | 63 | 64 | 65 | 66 | False 67 | 68 | 69 | False 70 | 71 | 72 | False 73 | 74 | 75 | False 76 | 77 | 78 | 79 | 80 | 81 | 82 | 89 | -------------------------------------------------------------------------------- /src/ReverseString.Tests/ReverseStringTests.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using Microsoft.VisualStudio.TestTools.UnitTesting; 3 | 4 | namespace ReverseString.Tests 5 | { 6 | [TestClass] 7 | public class ReverseStringTests 8 | { 9 | private ReverseString reverseString; 10 | 11 | [TestInitialize] 12 | public void TestInitialize() 13 | { 14 | reverseString = new ReverseString(); 15 | } 16 | 17 | [TestCleanup] 18 | public void TestCleanup() 19 | { 20 | reverseString = null; 21 | } 22 | 23 | [TestMethod] 24 | public void ReverseString_HelloWorld() 25 | { 26 | string result = reverseString.Reverse("Hello, World!"); 27 | Assert.AreEqual("!dlroW ,olleH", result); 28 | } 29 | 30 | [TestMethod] 31 | public void ReverseString_called_twice_returns_original_value() 32 | { 33 | const string expected = "Hello, World!"; 34 | string result = reverseString.Reverse(reverseString.Reverse(expected)); 35 | Assert.AreEqual(expected, result); 36 | } 37 | 38 | [TestMethod] 39 | public void ReverseString_returns_empty_string_for_input_of_empty_string() 40 | { 41 | string result = reverseString.Reverse(String.Empty); 42 | Assert.AreEqual(String.Empty, result); 43 | } 44 | } 45 | } 46 | -------------------------------------------------------------------------------- /src/ReverseString/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("ReverseString")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("")] 12 | [assembly: AssemblyProduct("ReverseString")] 13 | [assembly: AssemblyCopyright("Copyright © 2013")] 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("315eaf13-9d66-4882-a060-902b6cba127e")] 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 | -------------------------------------------------------------------------------- /src/ReverseString/ReverseString.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 ReverseString 8 | { 9 | public class ReverseString 10 | { 11 | public string Reverse(string s) 12 | { 13 | throw new NotImplementedException(); 14 | } 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /src/ReverseString/ReverseString.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | Debug 6 | AnyCPU 7 | {8017986D-BD6D-4688-A8B9-1EF39C990D09} 8 | Library 9 | Properties 10 | ReverseString 11 | ReverseString 12 | v4.5 13 | 512 14 | 15 | 16 | true 17 | full 18 | false 19 | bin\Debug\ 20 | DEBUG;TRACE 21 | prompt 22 | 4 23 | 24 | 25 | pdbonly 26 | true 27 | bin\Release\ 28 | TRACE 29 | prompt 30 | 4 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 53 | -------------------------------------------------------------------------------- /src/RomanNumerals.Tests/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("RomanNumerals.Tests")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("")] 12 | [assembly: AssemblyProduct("RomanNumerals.Tests")] 13 | [assembly: AssemblyCopyright("Copyright © 2013")] 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("2645d420-4d49-42ab-bad3-4ebb0e6e779b")] 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 | -------------------------------------------------------------------------------- /src/RomanNumerals.Tests/RomanNumeralsTestsPart1.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using Microsoft.VisualStudio.TestTools.UnitTesting; 3 | 4 | namespace RomanNumerals.Tests 5 | { 6 | [TestClass] 7 | public class RomanNumeralsTestsPart1 8 | { 9 | private RomanNumerals romanNumerals; 10 | 11 | [TestInitialize] 12 | public void TestInitialize() 13 | { 14 | romanNumerals = new RomanNumerals(); 15 | } 16 | 17 | [TestCleanup] 18 | public void TestCleanup() 19 | { 20 | romanNumerals = null; 21 | } 22 | 23 | [TestMethod] 24 | public void RomanNumerals_returns_empty_string_for_input_0() 25 | { 26 | var result = romanNumerals.ArabicToRomanNumeral(0); 27 | Assert.AreEqual(String.Empty, result); 28 | } 29 | 30 | [TestMethod] 31 | public void RomanNumerals_returns_I_for_input_1() 32 | { 33 | var result = romanNumerals.ArabicToRomanNumeral(1); 34 | Assert.AreEqual("I", result); 35 | } 36 | 37 | [TestMethod] 38 | public void RomanNumerals_returns_IV_for_input_4() 39 | { 40 | var result = romanNumerals.ArabicToRomanNumeral(4); 41 | Assert.AreEqual("IV", result); 42 | } 43 | 44 | [TestMethod] 45 | public void RomanNumerals_returns_V_for_input_5() 46 | { 47 | var result = romanNumerals.ArabicToRomanNumeral(5); 48 | Assert.AreEqual("V", result); 49 | } 50 | 51 | [TestMethod] 52 | public void RomanNumerals_returns_VI_for_input_6() 53 | { 54 | var result = romanNumerals.ArabicToRomanNumeral(6); 55 | Assert.AreEqual("VI", result); 56 | } 57 | 58 | [TestMethod] 59 | public void RomanNumerals_returns_I_for_input_9() 60 | { 61 | var result = romanNumerals.ArabicToRomanNumeral(9); 62 | Assert.AreEqual("IX", result); 63 | } 64 | 65 | [TestMethod] 66 | public void RomanNumerals_returns_I_for_input_10() 67 | { 68 | var result = romanNumerals.ArabicToRomanNumeral(10); 69 | Assert.AreEqual("X", result); 70 | } 71 | 72 | [TestMethod] 73 | public void RomanNumerals_returns_I_for_input_11() 74 | { 75 | var result = romanNumerals.ArabicToRomanNumeral(11); 76 | Assert.AreEqual("XI", result); 77 | } 78 | 79 | [TestMethod] 80 | public void RomanNumerals_returns_L_for_input_50() 81 | { 82 | var result = romanNumerals.ArabicToRomanNumeral(50); 83 | Assert.AreEqual("L", result); 84 | } 85 | 86 | [TestMethod] 87 | public void RomanNumerals_returns_C_for_input_100() 88 | { 89 | var result = romanNumerals.ArabicToRomanNumeral(100); 90 | Assert.AreEqual("C", result); 91 | } 92 | 93 | [TestMethod] 94 | public void RomanNumerals_returns_D_for_input_500() 95 | { 96 | var result = romanNumerals.ArabicToRomanNumeral(500); 97 | Assert.AreEqual("D", result); 98 | } 99 | 100 | [TestMethod] 101 | public void RomanNumerals_returns_M_for_input_1000() 102 | { 103 | var result = romanNumerals.ArabicToRomanNumeral(1000); 104 | Assert.AreEqual("M", result); 105 | } 106 | 107 | [TestMethod] 108 | public void RomanNumerals_returns_MCMXCIX_for_input_1999() 109 | { 110 | var result = romanNumerals.ArabicToRomanNumeral(1999); 111 | Assert.AreEqual("MCMXCIX", result); 112 | } 113 | 114 | [TestMethod] 115 | public void RomanNumerals_returns_MMMMCMXCIX_for_input_4999() 116 | { 117 | var result = romanNumerals.ArabicToRomanNumeral(4999); 118 | Assert.AreEqual("MMMMCMXCIX", result); 119 | } 120 | } 121 | } 122 | -------------------------------------------------------------------------------- /src/RomanNumerals.Tests/RomanNumeralsTestsPart2.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using Microsoft.VisualStudio.TestTools.UnitTesting; 3 | 4 | namespace RomanNumerals.Tests 5 | { 6 | [TestClass] 7 | public class RomanNumeralsTestsPart2 8 | { 9 | private RomanNumerals romanNumerals; 10 | 11 | [TestInitialize] 12 | public void TestInitialize() 13 | { 14 | romanNumerals = new RomanNumerals(); 15 | } 16 | 17 | [TestCleanup] 18 | public void TestCleanup() 19 | { 20 | romanNumerals = null; 21 | } 22 | 23 | [TestMethod] 24 | public void RomanNumerals_returns_1_for_input_I() 25 | { 26 | var result = romanNumerals.RomanNumeralToArabic("I"); 27 | Assert.AreEqual(1, result); 28 | } 29 | 30 | [TestMethod] 31 | public void RomanNumerals_returns_4_for_input_IV() 32 | { 33 | var result = romanNumerals.RomanNumeralToArabic("IV"); 34 | Assert.AreEqual(4, result); 35 | } 36 | 37 | [TestMethod] 38 | public void RomanNumerals_returns_5_for_input_V() 39 | { 40 | var result = romanNumerals.RomanNumeralToArabic("V"); 41 | Assert.AreEqual(5, result); 42 | } 43 | 44 | [TestMethod] 45 | public void RomanNumerals_returns_6_for_input_VI() 46 | { 47 | var result = romanNumerals.RomanNumeralToArabic("VI"); 48 | Assert.AreEqual(6, result); 49 | } 50 | 51 | [TestMethod] 52 | public void RomanNumerals_returns_9_for_input_IX() 53 | { 54 | var result = romanNumerals.RomanNumeralToArabic("IX"); 55 | Assert.AreEqual(9, result); 56 | } 57 | 58 | [TestMethod] 59 | public void RomanNumerals_returns_10_for_input_X() 60 | { 61 | var result = romanNumerals.RomanNumeralToArabic("X"); 62 | Assert.AreEqual(10, result); 63 | } 64 | 65 | [TestMethod] 66 | public void RomanNumerals_returns_11_for_input_XI() 67 | { 68 | var result = romanNumerals.RomanNumeralToArabic("XI"); 69 | Assert.AreEqual(11, result); 70 | } 71 | 72 | [TestMethod] 73 | public void RomanNumerals_returns_50_for_input_L() 74 | { 75 | var result = romanNumerals.RomanNumeralToArabic("L"); 76 | Assert.AreEqual(50, result); 77 | } 78 | 79 | [TestMethod] 80 | public void RomanNumerals_returns_100_for_input_C() 81 | { 82 | var result = romanNumerals.RomanNumeralToArabic("C"); 83 | Assert.AreEqual(100, result); 84 | } 85 | 86 | [TestMethod] 87 | public void RomanNumerals_returns_500_for_input_D() 88 | { 89 | var result = romanNumerals.RomanNumeralToArabic("D"); 90 | Assert.AreEqual(500, result); 91 | } 92 | 93 | [TestMethod] 94 | public void RomanNumerals_returns_1000_for_input_M() 95 | { 96 | var result = romanNumerals.RomanNumeralToArabic("M"); 97 | Assert.AreEqual(1000, result); 98 | } 99 | 100 | [TestMethod] 101 | public void RomanNumerals_returns_1999_for_input_MCMXCIX() 102 | { 103 | var result = romanNumerals.RomanNumeralToArabic("MCMXCIX"); 104 | Assert.AreEqual(1999, result); 105 | } 106 | 107 | [TestMethod] 108 | public void RomanNumerals_returns_4999_for_input_MMMMCMXCIX() 109 | { 110 | var result = romanNumerals.RomanNumeralToArabic("MMMMCMXCIX"); 111 | Assert.AreEqual(4999, result); 112 | } 113 | } 114 | } 115 | -------------------------------------------------------------------------------- /src/RomanNumerals/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("RomanNumerals")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("")] 12 | [assembly: AssemblyProduct("RomanNumerals")] 13 | [assembly: AssemblyCopyright("Copyright © 2013")] 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("d25e5364-c03c-448a-9482-272679a2b883")] 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 | -------------------------------------------------------------------------------- /src/RomanNumerals/RomanNumerals.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace RomanNumerals 4 | { 5 | public class RomanNumerals 6 | { 7 | public string ArabicToRomanNumeral(int i) 8 | { 9 | throw new NotImplementedException(); 10 | } 11 | 12 | public int RomanNumeralToArabic(string s) 13 | { 14 | throw new NotImplementedException(); 15 | } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /src/RomanNumerals/RomanNumerals.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | Debug 6 | AnyCPU 7 | {1F0E0D15-107A-41E7-A2A9-38AA27F646F1} 8 | Library 9 | Properties 10 | RomanNumerals 11 | RomanNumerals 12 | v4.5 13 | 512 14 | 15 | 16 | true 17 | full 18 | false 19 | bin\Debug\ 20 | DEBUG;TRACE 21 | prompt 22 | 4 23 | 24 | 25 | pdbonly 26 | true 27 | bin\Release\ 28 | TRACE 29 | prompt 30 | 4 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 53 | -------------------------------------------------------------------------------- /src/SudokuSolver.Tests/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("SudokuSolver.Tests")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("")] 12 | [assembly: AssemblyProduct("SudokuSolver.Tests")] 13 | [assembly: AssemblyCopyright("Copyright © 2013")] 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("72b98348-728b-4d50-9f84-69d40f5943c0")] 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 | -------------------------------------------------------------------------------- /src/SudokuSolver.Tests/SudokuSolver.Tests.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | Debug 5 | AnyCPU 6 | {BF4C49B7-0E1F-46A4-A8E9-356262F49FE9} 7 | Library 8 | Properties 9 | SudokuSolver.Tests 10 | SudokuSolver.Tests 11 | v4.5 12 | 512 13 | {3AC096D0-A1C2-E12C-1390-A8335801FDAB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} 14 | 10.0 15 | $(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion) 16 | $(ProgramFiles)\Common Files\microsoft shared\VSTT\$(VisualStudioVersion)\UITestExtensionPackages 17 | False 18 | UnitTest 19 | 20 | 21 | true 22 | full 23 | false 24 | bin\Debug\ 25 | DEBUG;TRACE 26 | prompt 27 | 4 28 | 29 | 30 | pdbonly 31 | true 32 | bin\Release\ 33 | TRACE 34 | prompt 35 | 4 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | {e18ae42a-76da-4f75-aef3-6f5f86638f4b} 59 | SudokuSolver 60 | 61 | 62 | 63 | 64 | 65 | 66 | False 67 | 68 | 69 | False 70 | 71 | 72 | False 73 | 74 | 75 | False 76 | 77 | 78 | 79 | 80 | 81 | 82 | 89 | -------------------------------------------------------------------------------- /src/SudokuSolver.Tests/SudokuSolverTests.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using Microsoft.VisualStudio.TestTools.UnitTesting; 3 | 4 | namespace SudokuSolver.Tests 5 | { 6 | [TestClass] 7 | public class SudokuSolverTests 8 | { 9 | private SudokuSolver sudokuSolver; 10 | 11 | [TestInitialize] 12 | public void TestInitialize() 13 | { 14 | sudokuSolver = new SudokuSolver(); 15 | } 16 | 17 | [TestCleanup] 18 | public void TestCleanup() 19 | { 20 | sudokuSolver = null; 21 | } 22 | 23 | [TestMethod] 24 | public void TestMethod1() 25 | { 26 | } 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /src/SudokuSolver/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("SudokuSolver")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("")] 12 | [assembly: AssemblyProduct("SudokuSolver")] 13 | [assembly: AssemblyCopyright("Copyright © 2013")] 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("bd0c88fd-46d2-4541-888d-5e6aa37d013e")] 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 | -------------------------------------------------------------------------------- /src/SudokuSolver/SudokuSolver.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace SudokuSolver 4 | { 5 | public class SudokuSolver 6 | { 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /src/SudokuSolver/SudokuSolver.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | Debug 6 | AnyCPU 7 | {E18AE42A-76DA-4F75-AEF3-6F5F86638F4B} 8 | Library 9 | Properties 10 | SudokuSolver 11 | SudokuSolver 12 | v4.5 13 | 512 14 | 15 | 16 | true 17 | full 18 | false 19 | bin\Debug\ 20 | DEBUG;TRACE 21 | prompt 22 | 4 23 | 24 | 25 | pdbonly 26 | true 27 | bin\Release\ 28 | TRACE 29 | prompt 30 | 4 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 53 | --------------------------------------------------------------------------------