public void Spec02()
            {
                using (var testable = new OnBuildProjectConfigBeginTestable())
                {
                    testable.Instance.Initialize();
                    testable.BuildEventsMock.Raise(x => x.OnBuildProjConfigBegin += null, "Not Found", string.Empty, string.Empty, string.Empty);

                    testable.EnvironmentMock.VerifyGet(x => x.Solution);
                    testable.Verify <IVisualStudioJSLintProvider>(x => x.LoadSettings(It.IsAny <Project>()), Times.Never());
                }
            }
            public void Spec01()
            {
                using (var testable = new OnBuildProjectConfigBeginTestable())
                {
                    testable.Instance.Initialize();
                    testable.BuildEventsMock.Raise(x => x.OnBuildBegin           += null, default(vsBuildScope), vsBuildAction.vsBuildActionClean);
                    testable.BuildEventsMock.Raise(x => x.OnBuildProjConfigBegin += null, "Some Name", string.Empty, string.Empty, string.Empty);

                    testable.EnvironmentMock.VerifyGet(x => x.Solution, Times.Never());
                }
            }
            public void Spec03()
            {
                using (var testable = new OnBuildProjectConfigBeginTestable())
                {
                    testable.Settings.RunOnBuild = false;

                    testable.Instance.Initialize();
                    testable.BuildEventsMock.Raise(x => x.OnBuildProjConfigBegin += null, testable.ProjectMock.Object.UniqueName, string.Empty, string.Empty, string.Empty);

                    testable.Verify <IVisualStudioJSLintProvider>(x => x.LoadSettings(testable.ProjectMock.Object));
                    testable.ProjectMock.VerifyGet(x => x.ProjectItems, Times.Never());
                }
            }
            public void Spec04()
            {
                using (var testable = new OnBuildProjectConfigBeginTestable())
                {
                    testable.Settings.RunOnBuild = true;

                    testable.Instance.Initialize();
                    testable.BuildEventsMock.Raise(x => x.OnBuildProjConfigBegin += null, testable.ProjectMock.Object.UniqueName, string.Empty, string.Empty, string.Empty);

                    I.Expect(testable.LastItemsLinted).Not.ToBeNull();
                    I.Expect(testable.LastItemsLinted.Count).ToBe(2);
                    testable.EnvironmentMock.Verify(x => x.ExecuteCommand("Build.Cancel", string.Empty), Times.Never());
                }
            }
            public void Spec05()
            {
                using (var testable = new OnBuildProjectConfigBeginTestable())
                {
                    testable.Settings.RunOnBuild  = true;
                    testable.Settings.CancelBuild = true;
                    testable.ErrorsFound          = 222;

                    testable.Instance.Initialize();
                    testable.BuildEventsMock.Raise(x => x.OnBuildProjConfigBegin += null, testable.ProjectMock.Object.UniqueName, string.Empty, string.Empty, string.Empty);

                    testable.EnvironmentMock.Verify(x => x.ExecuteCommand("Build.Cancel", string.Empty));
                    testable.Verify <IJSLintErrorListProvider>(x => x.AddCustomError(Resources.BuildCanceled));
                }
            }