├── _config.yml ├── _NCrunch_Interview └── Interview.crunchsolution.cache ├── packages └── repositories.config ├── ConsoleApplication1 ├── App.config ├── packages.config ├── Interfaces.cs ├── Range.cs ├── OddNumberGenerator.cs ├── Extensions.cs ├── FizzBuzzGenerator.cs ├── Class1.cs ├── AppInstaller.cs ├── Program.cs ├── ConsoleApplication1.ncrunchproject ├── ConsoleApplication1.v2.ncrunchproject ├── ReverseEvenNumberGenerator.cs ├── Properties │ └── AssemblyInfo.cs └── ConsoleApplication1.csproj ├── .gitignore ├── Interview.ncrunchsolution ├── Interview.v2.ncrunchsolution ├── UnitTestProject1 ├── UnitTestProject1.ncrunchproject ├── UnitTestProject1.v2.ncrunchproject ├── Properties │ └── AssemblyInfo.cs ├── UnitTests.cs └── UnitTestProject1.csproj ├── Interview.sln └── readme.md /_config.yml: -------------------------------------------------------------------------------- 1 | theme: jekyll-theme-tactile -------------------------------------------------------------------------------- /_NCrunch_Interview/Interview.crunchsolution.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SpazDude/Interview/HEAD/_NCrunch_Interview/Interview.crunchsolution.cache -------------------------------------------------------------------------------- /packages/repositories.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /ConsoleApplication1/App.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /ConsoleApplication1/packages.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /ConsoleApplication1/Interfaces.cs: -------------------------------------------------------------------------------- 1 | namespace ConsoleApplication1 2 | { 3 | public interface IOutputGenerator 4 | { 5 | string GenerateOutput(); 6 | } 7 | 8 | public interface IRange 9 | { 10 | int Lower { get; } 11 | int Upper { get; } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | ################################################################################ 2 | # This .gitignore file was automatically created by Microsoft(R) Visual Studio. 3 | ################################################################################ 4 | 5 | /ConsoleApplication1/bin/Debug 6 | /ConsoleApplication1/obj/Debug 7 | /UnitTestProject1/obj/Debug 8 | /Packages 9 | *.user 10 | *.suo 11 | */bin 12 | *.crunchsolution.cache 13 | */*.crunchsolution.cache 14 | */bin 15 | -------------------------------------------------------------------------------- /ConsoleApplication1/Range.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace ConsoleApplication1 4 | { 5 | public class Range : IRange 6 | { 7 | public int Lower { get; private set; } 8 | public int Upper { get; private set; } 9 | 10 | public Range(int lower, int upper) 11 | { 12 | if (lower <= upper) 13 | { 14 | Lower = lower; 15 | Upper = upper; 16 | } 17 | else 18 | { 19 | throw new ArgumentException("The lower value should be less than the upper value."); 20 | } 21 | } 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /Interview.ncrunchsolution: -------------------------------------------------------------------------------- 1 | 2 | 1 3 | True 4 | true 5 | true 6 | UseDynamicAnalysis 7 | UseStaticAnalysis 8 | UseStaticAnalysis 9 | UseStaticAnalysis 10 | 11 | 12 | -------------------------------------------------------------------------------- /Interview.v2.ncrunchsolution: -------------------------------------------------------------------------------- 1 | 2 | 1 3 | True 4 | true 5 | true 6 | UseDynamicAnalysis 7 | UseStaticAnalysis 8 | UseStaticAnalysis 9 | UseStaticAnalysis 10 | 11 | 12 | -------------------------------------------------------------------------------- /ConsoleApplication1/OddNumberGenerator.cs: -------------------------------------------------------------------------------- 1 | using System.Text; 2 | 3 | namespace ConsoleApplication1 4 | { 5 | /// 6 | /// generate odd numbers in ascending order within a range 7 | /// 8 | public class OddNumberGenerator : IOutputGenerator 9 | { 10 | public IRange Range { get; set; } 11 | 12 | public string GenerateOutput() 13 | { 14 | var builder = new StringBuilder(); 15 | var min = Range.Lower.IsOdd() ? Range.Lower : Range.Lower + 1; 16 | var max = Range.Upper.IsOdd() ? Range.Upper : Range.Upper - 1; 17 | for (var i = min; i <= max; i++) 18 | { 19 | builder.Append(i.IsOdd() ? i.ToString() : ", "); 20 | } 21 | return builder.ToString(); 22 | } 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /ConsoleApplication1/Extensions.cs: -------------------------------------------------------------------------------- 1 | namespace ConsoleApplication1 2 | { 3 | public interface IIntExtensions 4 | { 5 | bool IsEven(int value); 6 | bool IsOdd(int value); 7 | } 8 | 9 | public static class IntExtensions 10 | { 11 | public static bool IsEven(this int value) 12 | { 13 | return value % 2 == 0; 14 | } 15 | 16 | public static bool IsOdd(this int value) 17 | { 18 | return value % 2 == 1; 19 | } 20 | } 21 | 22 | #region Alternate Implementation 23 | public class IntExtensions2 : IIntExtensions 24 | { 25 | public bool IsEven(int value) 26 | { 27 | return (value & 0x1) == 0; 28 | } 29 | 30 | public bool IsOdd(int value) 31 | { 32 | return (value & 0x1) == 1; 33 | } 34 | } 35 | #endregion 36 | } 37 | -------------------------------------------------------------------------------- /ConsoleApplication1/FizzBuzzGenerator.cs: -------------------------------------------------------------------------------- 1 | using System.Text; 2 | 3 | namespace ConsoleApplication1 4 | { 5 | /// 6 | /// fizz-buzz generator 7 | /// 8 | public class FizzBuzzGenerator : IOutputGenerator 9 | { 10 | private readonly IRange _range; 11 | 12 | public FizzBuzzGenerator(IRange range) 13 | { 14 | _range = range; 15 | } 16 | 17 | public string GenerateOutput() 18 | { 19 | var builder = new StringBuilder(); 20 | for (var i = _range.Lower; i < _range.Upper; i++) 21 | { 22 | if (i % 6 == 0) builder.Append("fizzbuzz "); 23 | else if (i % 3 == 0) builder.Append("buzz "); 24 | else if (i % 2 == 0) builder.Append("fizz "); 25 | else builder.AppendFormat("{0} ", i); 26 | } 27 | return builder.ToString(); 28 | } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /ConsoleApplication1/Class1.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | 4 | namespace ConsoleApplication1 5 | { 6 | /// 7 | /// generate a comma delimited list of numbers with a provided range 8 | /// 9 | public class Class1: IOutputGenerator 10 | { 11 | private int _upper; 12 | private int _lower; 13 | 14 | public void SetRange(int lower, int upper) 15 | { 16 | if (lower >= upper) throw new ArgumentOutOfRangeException("lower", lower, "The lower value should be less than the upper value."); 17 | _lower = lower; 18 | _upper = upper; 19 | } 20 | 21 | public string GenerateOutput() 22 | { 23 | var results = new List(); 24 | for (var i = _lower; i <= _upper; i++) 25 | { 26 | results.Add(i); 27 | } 28 | return string.Join(", ", results); 29 | } 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /ConsoleApplication1/AppInstaller.cs: -------------------------------------------------------------------------------- 1 | using Castle.MicroKernel.Registration; 2 | using Castle.MicroKernel.SubSystems.Configuration; 3 | using Castle.Windsor; 4 | 5 | namespace ConsoleApplication1 6 | { 7 | /// 8 | /// The registration details of this example are not significant to the solution 9 | /// 10 | public class AppInstaller : IWindsorInstaller 11 | { 12 | public void Install(IWindsorContainer container, IConfigurationStore store) 13 | { 14 | container.Register( 15 | Component.For().UsingFactoryMethod(() => new Range(0, 100)), 16 | 17 | Component.For() 18 | .ImplementedBy(), 19 | 20 | Component.For() 21 | .ImplementedBy() 22 | .OnCreate((kernel, instance) => ((Class1)instance).SetRange(0, 100)), 23 | 24 | Component.For() 25 | .ImplementedBy() 26 | ); 27 | } 28 | } 29 | } -------------------------------------------------------------------------------- /ConsoleApplication1/Program.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using Castle.Windsor; 3 | 4 | namespace ConsoleApplication1 5 | { 6 | class Program 7 | { 8 | private static void Main(string[] args) 9 | { 10 | using (var container = new WindsorContainer()) 11 | { 12 | container.Install(new AppInstaller()); 13 | do 14 | { 15 | IOutputGenerator myClass; 16 | switch (Console.ReadLine()) 17 | { 18 | case "1": 19 | myClass = container.Resolve(); 20 | break; 21 | case "2": 22 | myClass = container.Resolve(); 23 | break; 24 | case "3": 25 | myClass = container.Resolve(); 26 | break; 27 | default: 28 | return; 29 | } 30 | Console.WriteLine(myClass.GenerateOutput()); 31 | } while (true); 32 | } 33 | } 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /UnitTestProject1/UnitTestProject1.ncrunchproject: -------------------------------------------------------------------------------- 1 | 2 | false 3 | false 4 | false 5 | true 6 | false 7 | false 8 | false 9 | false 10 | true 11 | true 12 | false 13 | true 14 | true 15 | 60000 16 | 17 | 18 | 19 | AutoDetect 20 | STA 21 | x86 22 | -------------------------------------------------------------------------------- /ConsoleApplication1/ConsoleApplication1.ncrunchproject: -------------------------------------------------------------------------------- 1 | 2 | false 3 | false 4 | false 5 | true 6 | false 7 | false 8 | false 9 | false 10 | true 11 | true 12 | false 13 | true 14 | true 15 | 60000 16 | 17 | 18 | 19 | AutoDetect 20 | STA 21 | x86 22 | -------------------------------------------------------------------------------- /UnitTestProject1/UnitTestProject1.v2.ncrunchproject: -------------------------------------------------------------------------------- 1 | 2 | false 3 | false 4 | false 5 | true 6 | false 7 | false 8 | false 9 | false 10 | true 11 | true 12 | false 13 | true 14 | true 15 | 60000 16 | 17 | 18 | 19 | AutoDetect 20 | STA 21 | x86 22 | -------------------------------------------------------------------------------- /ConsoleApplication1/ConsoleApplication1.v2.ncrunchproject: -------------------------------------------------------------------------------- 1 | 2 | false 3 | false 4 | false 5 | true 6 | false 7 | false 8 | false 9 | false 10 | true 11 | true 12 | false 13 | true 14 | true 15 | 60000 16 | 17 | 18 | 19 | AutoDetect 20 | STA 21 | x86 22 | -------------------------------------------------------------------------------- /ConsoleApplication1/ReverseEvenNumberGenerator.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Text; 6 | using Castle.Core.Internal; 7 | 8 | namespace ConsoleApplication1 9 | { 10 | /// 11 | /// Generates a reverse-ordered, comma delimited 12 | /// list of even numbers from 100 to 0 inclusive 13 | /// 14 | public class ReverseEvenNumberGenerator : IOutputGenerator 15 | { 16 | /// 17 | /// Use this class to provide a stream of values to Generate Output 18 | /// 19 | /// integers 0 to 100 inclusive 20 | private static IEnumerable GetStream() 21 | { 22 | return Enumerable.Range(0, 101); 23 | } 24 | 25 | /// 26 | /// Make changes to this method 27 | /// See for the Unit Test. 28 | /// 29 | /// reverse-ordered, comma delimited list of even numbers from 100 to 0 inclusive 30 | public string GenerateOutput() 31 | { 32 | // use GetStream() for the input range 33 | return "Not Implemented."; 34 | } 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /UnitTestProject1/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 © 2015")] 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("aec6dea8-c158-4900-9fb9-aaba410da1f9")] 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 | -------------------------------------------------------------------------------- /ConsoleApplication1/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("ConsoleApplication1")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("")] 12 | [assembly: AssemblyProduct("ConsoleApplication1")] 13 | [assembly: AssemblyCopyright("Copyright © 2015")] 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("c8ff3cf7-843e-4729-9e5c-04ab567f7a2d")] 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 | -------------------------------------------------------------------------------- /UnitTestProject1/UnitTests.cs: -------------------------------------------------------------------------------- 1 | using ConsoleApplication1; 2 | using Microsoft.VisualStudio.TestTools.UnitTesting; 3 | 4 | namespace UnitTestProject1 5 | { 6 | [TestClass] 7 | public class UnitTests 8 | { 9 | #region Test ReverseEvenNumberGenerator 10 | [TestMethod] 11 | public void TestReverseEvenNumberGenerator() 12 | { 13 | const string expected = 14 | "100, 98, 96, 94, 92, 90, 88, 86, 84, 82, 80, 78, 76, 74, 72, 70, 68, 66, 64, 62, 60, 58, 56, 54, 52, 50, 48, 46, 44, 42, 40, 38, 36, 34, 32, 30, 28, 26, 24, 22, 20, 18, 16, 14, 12, 10, 8, 6, 4, 2, 0"; 15 | var generator = new ReverseEvenNumberGenerator(); 16 | var result = generator.GenerateOutput(); 17 | Assert.AreEqual(expected, result); 18 | } 19 | #endregion 20 | 21 | #region Test Class1 22 | [TestMethod] 23 | public void TestClass1() 24 | { 25 | const string expected = "1, 2, 3, 4, 5"; 26 | var generator = new Class1(); 27 | generator.SetRange(1, 5); 28 | var result = generator.GenerateOutput(); 29 | Assert.AreEqual(expected, result); 30 | } 31 | #endregion 32 | 33 | #region Test OddNumberGenerator 34 | private class Range0To10 : IRange 35 | { 36 | public int Lower => 0; 37 | public int Upper => 10; 38 | } 39 | 40 | [TestMethod] 41 | public void TestOddNumberGenerator() 42 | { 43 | const string expected = "1, 3, 5, 7, 9"; 44 | var generator = new OddNumberGenerator {Range = new Range0To10()}; 45 | var result = generator.GenerateOutput(); 46 | Assert.AreEqual(expected, result); 47 | } 48 | #endregion 49 | } 50 | } 51 | -------------------------------------------------------------------------------- /Interview.sln: -------------------------------------------------------------------------------- 1 | 2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio 2013 4 | VisualStudioVersion = 12.0.40629.0 5 | MinimumVisualStudioVersion = 10.0.40219.1 6 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ConsoleApplication1", "ConsoleApplication1\ConsoleApplication1.csproj", "{AC06D957-0223-433B-9D8D-9008E82B7AC6}" 7 | EndProject 8 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UnitTestProject1", "UnitTestProject1\UnitTestProject1.csproj", "{F5050A30-BA63-4EFE-BD10-2BB71B358214}" 9 | EndProject 10 | Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{7AAB804C-1B0A-4E0F-8B54-A3A004BF7DE8}" 11 | ProjectSection(SolutionItems) = preProject 12 | readme.md = readme.md 13 | EndProjectSection 14 | EndProject 15 | Global 16 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 17 | Debug|Any CPU = Debug|Any CPU 18 | Release|Any CPU = Release|Any CPU 19 | EndGlobalSection 20 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 21 | {AC06D957-0223-433B-9D8D-9008E82B7AC6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 22 | {AC06D957-0223-433B-9D8D-9008E82B7AC6}.Debug|Any CPU.Build.0 = Debug|Any CPU 23 | {AC06D957-0223-433B-9D8D-9008E82B7AC6}.Release|Any CPU.ActiveCfg = Release|Any CPU 24 | {AC06D957-0223-433B-9D8D-9008E82B7AC6}.Release|Any CPU.Build.0 = Release|Any CPU 25 | {F5050A30-BA63-4EFE-BD10-2BB71B358214}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 26 | {F5050A30-BA63-4EFE-BD10-2BB71B358214}.Debug|Any CPU.Build.0 = Debug|Any CPU 27 | {F5050A30-BA63-4EFE-BD10-2BB71B358214}.Release|Any CPU.ActiveCfg = Release|Any CPU 28 | {F5050A30-BA63-4EFE-BD10-2BB71B358214}.Release|Any CPU.Build.0 = Release|Any CPU 29 | EndGlobalSection 30 | GlobalSection(SolutionProperties) = preSolution 31 | HideSolutionNode = FALSE 32 | EndGlobalSection 33 | EndGlobal 34 | -------------------------------------------------------------------------------- /readme.md: -------------------------------------------------------------------------------- 1 | Administering the Interview 2 | =========================== 3 | ###30 minutes, 50 possible points 4 | 5 | --- 6 | Before beginning, make sure they understand that you assume from their resume that they are proficient in .NET, C#, SOLID design principles, 7 | unit testing, and at least one IoC Container 8 | 9 | Scenario: A junior programmer created the following application, it needs to be finished and code reviewed. 10 | 11 | 1. Show the candidate ReverseEvenNumberGenerator and its unit test 12 | They may not change the for loop 13 | * (5 points) Have them finish the class so that the unit tests pass 14 | * (2 points) Single if-then-else statement 15 | * (2 points) don't concatenate strings to produce the result (string builder or string.Join) 16 | * (1 point) No extraneous lists or processing 17 | * (1 point) Style & readability 18 | 2. Have them perform a code review on Class1 19 | * (2 points) Identifies "SetRange" method as Sequential Coupling issue (must call as dependency initializer) 20 | * (2 points) Recommends Constructor Injection 21 | * (2 points) name the class something meaningful 22 | * (2 points) Recommends putting the range elements into another class 23 | * (2 points) Justifies another class because it can be injected by IoC container whereas integer primitives cannot. 24 | * (2 points) Recognizes extraneous loop in Generate Output based on putting items in a list and calling string.join 25 | 3. Show them OddNumberGenerator and the Extensions file. 26 | * Ask them how they would apply the provided interface and introduce a second implementation 27 | * (2 points) Make the class non-static 28 | * (2 points) Remove the "this" keyword from each method 29 | * (2 points) Remove the "static" keyword from each method 30 | * (2 points) Change the existing calls to be made from an instance of the object 31 | * Ask them what they would need to change to make the library a pluggable dependency 32 | * (2 points) Register the desired class in the IoC container & provide as dependency 33 | 4. Add the FizzBuzzGenerator to the program 34 | * Show them the program wrapper (program.cs) 35 | * Show them the FizzBuzzGenerator class, ask them what they need to do to add FizzBuzzGenerator functionality to the application and suggest improvements 36 | * (4 points) The switch statement used to create different classes is a code smell because it requrires changing every time a new class is registered or removed from IoC 37 | * (2 points) They suggest refactoring the switch statment using either an array of IGenerateOutput, or named registrations 38 | * Based on the different Generator classes dependency injection methods, describe how these classes would be registered using their IoC of choice, and suggest improvements 39 | * (2 points) Factory Methods and Create registrations are a code smell that means the classes themselves should be refactored 40 | * (2 points) Registrations should be performed by convention or automatically 41 | 5. Ask them to finish the code review by commenting on the unit tests 42 | * (1 point) Split tests into classes to mirror the classes being tested and common test setup conditions "When..." 43 | * (1 point) Rename test methods to follow a "Should..." 44 | * (2 points) Use a stub rather than private class 45 | * (2 points) Missing unit tests for FizzBuzzGenerator 46 | * (2 points) Missing unit tests for Range 47 | -------------------------------------------------------------------------------- /ConsoleApplication1/ConsoleApplication1.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Debug 6 | AnyCPU 7 | {AC06D957-0223-433B-9D8D-9008E82B7AC6} 8 | Exe 9 | Properties 10 | ConsoleApplication1 11 | ConsoleApplication1 12 | v4.6.1 13 | 512 14 | 15 | 16 | 17 | AnyCPU 18 | true 19 | full 20 | false 21 | bin\Debug\ 22 | DEBUG;TRACE 23 | prompt 24 | 4 25 | 26 | 27 | AnyCPU 28 | pdbonly 29 | true 30 | bin\Release\ 31 | TRACE 32 | prompt 33 | 4 34 | 35 | 36 | 37 | ..\packages\Castle.Core.3.3.0\lib\net45\Castle.Core.dll 38 | True 39 | 40 | 41 | ..\packages\Castle.Windsor.3.4.0\lib\net45\Castle.Windsor.dll 42 | True 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 76 | -------------------------------------------------------------------------------- /UnitTestProject1/UnitTestProject1.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Debug 5 | AnyCPU 6 | {F5050A30-BA63-4EFE-BD10-2BB71B358214} 7 | Library 8 | Properties 9 | UnitTestProject1 10 | UnitTestProject1 11 | v4.6.1 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 | 22 | true 23 | full 24 | false 25 | bin\Debug\ 26 | DEBUG;TRACE 27 | prompt 28 | 4 29 | 30 | 31 | pdbonly 32 | true 33 | bin\Release\ 34 | TRACE 35 | prompt 36 | 4 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | {ac06d957-0223-433b-9d8d-9008e82b7ac6} 60 | ConsoleApplication1 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 | --------------------------------------------------------------------------------