TestResults.xml

<?xml version="1.0" encoding="utf-8" standalone="no"?>
<test-results xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="nunit_schema_2.5.xsd" name="Pester" total="80" errors="0" failures="0" not-run="0" inconclusive="0" ignored="0" skipped="0" invalid="0" date="2017-06-04" time="15:26:53">
  <environment user="appveyor" machine-name="APPVEYOR-VM" cwd="C:\projects\psadsync" user-domain="APPVEYOR-VM" platform="Microsoft Windows Server 2012 R2 Datacenter|C:\windows|\Device\Harddisk0\Partition1" nunit-version="2.5.8.0" os-version="6.3.9600" clr-version="4.0.30319.42000" />
  <culture-info current-culture="en-US" current-uiculture="en-US" />
  <test-suite type="TestFixture" name="Pester" executed="True" result="Success" success="True" time="9.5864" asserts="0" description="Pester">
    <results>
      <test-suite type="TestFixture" name="C:\projects\psadsync\PSADSync.Tests.ps1" executed="True" result="Success" success="True" time="9.5864" asserts="0" description="C:\projects\psadsync\PSADSync.Tests.ps1">
        <results>
          <test-suite type="TestFixture" name="Module-level tests" executed="True" result="Success" success="True" time="1.016" asserts="0" description="Module-level tests">
            <results>
              <test-case description="should validate the module manifest" name="Module-level tests.should validate the module manifest" time="0.536" asserts="0" success="True" result="Success" executed="True" />
              <test-case description="should pass all error-level script analyzer rules" name="Module-level tests.should pass all error-level script analyzer rules" time="0.48" asserts="0" success="True" result="Success" executed="True" />
            </results>
          </test-suite>
          <test-suite type="TestFixture" name="Get-CompanyCsvUser" executed="True" result="Success" success="True" time="1.0954" asserts="0" description="Get-CompanyCsvUser">
            <results>
              <test-suite type="TestFixture" name="when at least one column is excluded" executed="True" result="Success" success="True" time="0.8576" asserts="0" description="when at least one column is excluded">
                <results>
                  <test-suite type="ParameterizedTest" name="Get-CompanyCsvUser.when at least one column is excluded.should create the expected where filter: &lt;TestName&gt;" executed="True" result="Success" success="True" time="0.8576" asserts="0" description="should create the expected where filter: &lt;TestName&gt;">
                    <results>
                      <test-case description="should create the expected where filter: Exclude 1 col" name="Get-CompanyCsvUser.when at least one column is excluded.should create the expected where filter: Exclude 1 col" time="0.771" asserts="0" success="True" result="Success" executed="True" />
                      <test-case description="should create the expected where filter: Exclude 2 cols" name="Get-CompanyCsvUser.when at least one column is excluded.should create the expected where filter: Exclude 2 cols" time="0.0866" asserts="0" success="True" result="Success" executed="True" />
                    </results>
                  </test-suite>
                </results>
              </test-suite>
              <test-suite type="ParameterizedTest" name="Get-CompanyCsvUser.when excluding no cols, should return all expected users: &lt;TestName&gt;" executed="True" result="Success" success="True" time="0.1285" asserts="0" description="when excluding no cols, should return all expected users: &lt;TestName&gt;">
                <results>
                  <test-case description="when excluding no cols, should return all expected users: All users" name="Get-CompanyCsvUser.when excluding no cols, should return all expected users: All users" time="0.1285" asserts="0" success="True" result="Success" executed="True" />
                </results>
              </test-suite>
              <test-suite type="ParameterizedTest" name="Get-CompanyCsvUser.when excluding 1 col, should return all expected users: &lt;TestName&gt;" executed="True" result="Success" success="True" time="0.0248" asserts="0" description="when excluding 1 col, should return all expected users: &lt;TestName&gt;">
                <results>
                  <test-case description="when excluding 1 col, should return all expected users: Exclude 1 col" name="Get-CompanyCsvUser.when excluding 1 col, should return all expected users: Exclude 1 col" time="0.0248" asserts="0" success="True" result="Success" executed="True" />
                </results>
              </test-suite>
              <test-suite type="ParameterizedTest" name="Get-CompanyCsvUser.when excluding 2 cols, should return all expected users: &lt;TestName&gt;" executed="True" result="Success" success="True" time="0.0846" asserts="0" description="when excluding 2 cols, should return all expected users: &lt;TestName&gt;">
                <results>
                  <test-case description="when excluding 2 cols, should return all expected users: Exclude 2 cols" name="Get-CompanyCsvUser.when excluding 2 cols, should return all expected users: Exclude 2 cols" time="0.0846" asserts="0" success="True" result="Success" executed="True" />
                </results>
              </test-suite>
            </results>
          </test-suite>
          <test-suite type="TestFixture" name="GetCsvColumnHeaders" executed="True" result="Success" success="True" time="0.0895" asserts="0" description="GetCsvColumnHeaders">
            <results>
              <test-case description="should return expected headers" name="GetCsvColumnHeaders.should return expected headers" time="0.0895" asserts="0" success="True" result="Success" executed="True" />
            </results>
          </test-suite>
          <test-suite type="TestFixture" name="TestCsvHeaderExists" executed="True" result="Success" success="True" time="0.1553" asserts="0" description="TestCsvHeaderExists">
            <results>
              <test-suite type="TestFixture" name="when a header is not in the CSV" executed="True" result="Success" success="True" time="0.0959" asserts="0" description="when a header is not in the CSV">
                <results>
                  <test-case description="should return $false" name="TestCsvHeaderExists.when a header is not in the CSV.should return $false" time="0.0959" asserts="0" success="True" result="Success" executed="True" />
                </results>
              </test-suite>
              <test-suite type="TestFixture" name="when all headers are in the CSV" executed="True" result="Success" success="True" time="0.0244" asserts="0" description="when all headers are in the CSV">
                <results>
                  <test-case description="should return $true" name="TestCsvHeaderExists.when all headers are in the CSV.should return $true" time="0.0244" asserts="0" success="True" result="Success" executed="True" />
                </results>
              </test-suite>
              <test-suite type="TestFixture" name="when one header is in the CSV" executed="True" result="Success" success="True" time="0.035" asserts="0" description="when one header is in the CSV">
                <results>
                  <test-case description="should return $true" name="TestCsvHeaderExists.when one header is in the CSV.should return $true" time="0.035" asserts="0" success="True" result="Success" executed="True" />
                </results>
              </test-suite>
            </results>
          </test-suite>
          <test-suite type="TestFixture" name="Get-CompanyAdUser" executed="True" result="Success" success="True" time="0.0602" asserts="0" description="Get-CompanyAdUser">
            <results>
              <test-suite type="ParameterizedTest" name="Get-CompanyAdUser.should return all users: &lt;TestName&gt;" executed="True" result="Success" success="True" time="0.0602" asserts="0" description="should return all users: &lt;TestName&gt;">
                <results>
                  <test-case description="should return all users: All users" name="Get-CompanyAdUser.should return all users: All users" time="0.0602" asserts="0" success="True" result="Success" executed="True" />
                </results>
              </test-suite>
            </results>
          </test-suite>
          <test-suite type="TestFixture" name="FindUserMatch" executed="True" result="Success" success="True" time="0.7666" asserts="0" description="FindUserMatch">
            <results>
              <test-suite type="TestFixture" name="When no matches could be found" executed="True" result="Success" success="True" time="0.154" asserts="0" description="When no matches could be found">
                <results>
                  <test-suite type="ParameterizedTest" name="FindUserMatch.When no matches could be found.should return the expected number of objects: &lt;TestName&gt;" executed="True" result="Success" success="True" time="0.154" asserts="0" description="should return the expected number of objects: &lt;TestName&gt;">
                    <results>
                      <test-case description="should return the expected number of objects: No Match" name="FindUserMatch.When no matches could be found.should return the expected number of objects: No Match" time="0.154" asserts="0" success="True" result="Success" executed="True" />
                    </results>
                  </test-suite>
                </results>
              </test-suite>
              <test-suite type="TestFixture" name="When one match can be found" executed="True" result="Success" success="True" time="0.0816" asserts="0" description="When one match can be found">
                <results>
                  <test-suite type="ParameterizedTest" name="FindUserMatch.When one match can be found.should return the expected number of objects: &lt;TestName&gt;" executed="True" result="Success" success="True" time="0.0447" asserts="0" description="should return the expected number of objects: &lt;TestName&gt;">
                    <results>
                      <test-case description="should return the expected number of objects: Match on 1 ID" name="FindUserMatch.When one match can be found.should return the expected number of objects: Match on 1 ID" time="0.0447" asserts="0" success="True" result="Success" executed="True" />
                    </results>
                  </test-suite>
                  <test-suite type="ParameterizedTest" name="FindUserMatch.When one match can be found.should find matches as expected and return the expected property values: &lt;TestName&gt;" executed="True" result="Success" success="True" time="0.0369" asserts="0" description="should find matches as expected and return the expected property values: &lt;TestName&gt;">
                    <results>
                      <test-case description="should find matches as expected and return the expected property values: Match on 1 ID" name="FindUserMatch.When one match can be found.should find matches as expected and return the expected property values: Match on 1 ID" time="0.0369" asserts="0" success="True" result="Success" executed="True" />
                    </results>
                  </test-suite>
                </results>
              </test-suite>
              <test-suite type="TestFixture" name="When multiple matches could be found" executed="True" result="Success" success="True" time="0.1023" asserts="0" description="When multiple matches could be found">
                <results>
                  <test-suite type="ParameterizedTest" name="FindUserMatch.When multiple matches could be found.should return the expected number of objects: &lt;TestName&gt;" executed="True" result="Success" success="True" time="0.0569" asserts="0" description="should return the expected number of objects: &lt;TestName&gt;">
                    <results>
                      <test-case description="should return the expected number of objects: Match on all IDs" name="FindUserMatch.When multiple matches could be found.should return the expected number of objects: Match on all IDs" time="0.0569" asserts="0" success="True" result="Success" executed="True" />
                    </results>
                  </test-suite>
                  <test-suite type="ParameterizedTest" name="FindUserMatch.When multiple matches could be found.should find matches as expected and return the expected property values: &lt;TestName&gt;" executed="True" result="Success" success="True" time="0.0454" asserts="0" description="should find matches as expected and return the expected property values: &lt;TestName&gt;">
                    <results>
                      <test-case description="should find matches as expected and return the expected property values: Match on all IDs" name="FindUserMatch.When multiple matches could be found.should find matches as expected and return the expected property values: Match on all IDs" time="0.0454" asserts="0" success="True" result="Success" executed="True" />
                    </results>
                  </test-suite>
                </results>
              </test-suite>
              <test-suite type="TestFixture" name="when a blank identifier is queried before finding a match" executed="True" result="Success" success="True" time="0.2622" asserts="0" description="when a blank identifier is queried before finding a match">
                <results>
                  <test-suite type="ParameterizedTest" name="FindUserMatch.when a blank identifier is queried before finding a match.should do nothing: &lt;TestName&gt;" executed="True" result="Success" success="True" time="0.1835" asserts="0" description="should do nothing: &lt;TestName&gt;">
                    <results>
                      <test-case description="should do nothing: One Blank ID" name="FindUserMatch.when a blank identifier is queried before finding a match.should do nothing: One Blank ID" time="0.1835" asserts="0" success="True" result="Success" executed="True" />
                    </results>
                  </test-suite>
                  <test-suite type="ParameterizedTest" name="FindUserMatch.when a blank identifier is queried before finding a match.should return the expected object properties: &lt;TestName&gt;" executed="True" result="Success" success="True" time="0.0788" asserts="0" description="should return the expected object properties: &lt;TestName&gt;">
                    <results>
                      <test-case description="should return the expected object properties: One Blank ID" name="FindUserMatch.when a blank identifier is queried before finding a match.should return the expected object properties: One Blank ID" time="0.0788" asserts="0" success="True" result="Success" executed="True" />
                    </results>
                  </test-suite>
                </results>
              </test-suite>
              <test-suite type="TestFixture" name="when all identifers are blank" executed="True" result="Success" success="True" time="0.0804" asserts="0" description="when all identifers are blank">
                <results>
                  <test-suite type="ParameterizedTest" name="FindUserMatch.when all identifers are blank.should do nothing: &lt;TestName&gt;" executed="True" result="Success" success="True" time="0.0804" asserts="0" description="should do nothing: &lt;TestName&gt;">
                    <results>
                      <test-case description="should do nothing: All Blank IDs" name="FindUserMatch.when all identifers are blank.should do nothing: All Blank IDs" time="0.0804" asserts="0" success="True" result="Success" executed="True" />
                    </results>
                  </test-suite>
                </results>
              </test-suite>
              <test-suite type="TestFixture" name="when all identifiers are valid" executed="True" result="Success" success="True" time="0.0861" asserts="0" description="when all identifiers are valid">
                <results>
                  <test-suite type="ParameterizedTest" name="FindUserMatch.when all identifiers are valid.should return the expected object properties: &lt;TestName&gt;" executed="True" result="Success" success="True" time="0.0861" asserts="0" description="should return the expected object properties: &lt;TestName&gt;">
                    <results>
                      <test-case description="should return the expected object properties: Match on all IDs" name="FindUserMatch.when all identifiers are valid.should return the expected object properties: Match on all IDs" time="0.0861" asserts="0" success="True" result="Success" executed="True" />
                    </results>
                  </test-suite>
                </results>
              </test-suite>
            </results>
          </test-suite>
          <test-suite type="TestFixture" name="FindAttributeMismatch" executed="True" result="Success" success="True" time="0.9533" asserts="0" description="FindAttributeMismatch">
            <results>
              <test-suite type="TestFixture" name="when a mismatch is found" executed="True" result="Success" success="True" time="0.0927" asserts="0" description="when a mismatch is found">
                <results>
                  <test-suite type="ParameterizedTest" name="FindAttributeMismatch.when a mismatch is found.should return the expected objects: &lt;TestName&gt;" executed="True" result="Success" success="True" time="0.0927" asserts="0" description="should return the expected objects: &lt;TestName&gt;">
                    <results>
                      <test-case description="should return the expected objects: Mismatch" name="FindAttributeMismatch.when a mismatch is found.should return the expected objects: Mismatch" time="0.0927" asserts="0" success="True" result="Success" executed="True" />
                    </results>
                  </test-suite>
                </results>
              </test-suite>
              <test-suite type="TestFixture" name="when no mismatches are found" executed="True" result="Success" success="True" time="0.0555" asserts="0" description="when no mismatches are found">
                <results>
                  <test-suite type="ParameterizedTest" name="FindAttributeMismatch.when no mismatches are found.should return nothing: &lt;TestName&gt;" executed="True" result="Success" success="True" time="0.0555" asserts="0" description="should return nothing: &lt;TestName&gt;">
                    <results>
                      <test-case description="should return nothing: No Mismatch" name="FindAttributeMismatch.when no mismatches are found.should return nothing: No Mismatch" time="0.0555" asserts="0" success="True" result="Success" executed="True" />
                    </results>
                  </test-suite>
                </results>
              </test-suite>
              <test-suite type="TestFixture" name="when a non-terminating error occurs in the function" executed="True" result="Success" success="True" time="0.094" asserts="0" description="when a non-terminating error occurs in the function">
                <results>
                  <test-suite type="ParameterizedTest" name="FindAttributeMismatch.when a non-terminating error occurs in the function.should throw an exception: &lt;TestName&gt;" executed="True" result="Success" success="True" time="0.094" asserts="0" description="should throw an exception: &lt;TestName&gt;">
                    <results>
                      <test-case description="should throw an exception: Mismatch" name="FindAttributeMismatch.when a non-terminating error occurs in the function.should throw an exception: Mismatch" time="0.0717" asserts="0" success="True" result="Success" executed="True" />
                      <test-case description="should throw an exception: No Mismatch" name="FindAttributeMismatch.when a non-terminating error occurs in the function.should throw an exception: No Mismatch" time="0.0223" asserts="0" success="True" result="Success" executed="True" />
                    </results>
                  </test-suite>
                </results>
              </test-suite>
              <test-suite type="ParameterizedTest" name="FindAttributeMismatch.should find the correct AD property names: &lt;TestName&gt;" executed="True" result="Success" success="True" time="0.4604" asserts="0" description="should find the correct AD property names: &lt;TestName&gt;">
                <results>
                  <test-case description="should find the correct AD property names: Mismatch" name="FindAttributeMismatch.should find the correct AD property names: Mismatch" time="0.3833" asserts="0" success="True" result="Success" executed="True" />
                  <test-case description="should find the correct AD property names: No Mismatch" name="FindAttributeMismatch.should find the correct AD property names: No Mismatch" time="0.0771" asserts="0" success="True" result="Success" executed="True" />
                </results>
              </test-suite>
              <test-suite type="ParameterizedTest" name="FindAttributeMismatch.should find the correct CSV property names: &lt;TestName&gt;" executed="True" result="Success" success="True" time="0.2507" asserts="0" description="should find the correct CSV property names: &lt;TestName&gt;">
                <results>
                  <test-case description="should find the correct CSV property names: Mismatch" name="FindAttributeMismatch.should find the correct CSV property names: Mismatch" time="0.085" asserts="0" success="True" result="Success" executed="True" />
                  <test-case description="should find the correct CSV property names: No Mismatch" name="FindAttributeMismatch.should find the correct CSV property names: No Mismatch" time="0.1656" asserts="0" success="True" result="Success" executed="True" />
                </results>
              </test-suite>
            </results>
          </test-suite>
          <test-suite type="TestFixture" name="SetAduser" executed="True" result="Success" success="True" time="0.3154" asserts="0" description="SetAduser">
            <results>
              <test-suite type="ParameterizedTest" name="SetAduser.returns nothing" executed="True" result="Success" success="True" time="0.1922" asserts="0" description="returns nothing">
                <results>
                  <test-case description="returns nothing" name="SetAduser.returns nothing(System.Collections.Hashtable,System.Collections.Hashtable)" time="0.17" asserts="0" success="True" result="Success" executed="True" />
                  <test-case description="returns nothing" name="SetAduser.returns nothing(System.Collections.Hashtable,System.Collections.Hashtable)" time="0.0222" asserts="0" success="True" result="Success" executed="True" />
                </results>
              </test-suite>
              <test-suite type="ParameterizedTest" name="SetAduser.should save the expected attribute" executed="True" result="Success" success="True" time="0.0538" asserts="0" description="should save the expected attribute">
                <results>
                  <test-case description="should save the expected attribute" name="SetAduser.should save the expected attribute(System.Collections.Hashtable,System.Collections.Hashtable)" time="0.0237" asserts="0" success="True" result="Success" executed="True" />
                  <test-case description="should save the expected attribute" name="SetAduser.should save the expected attribute(System.Collections.Hashtable,System.Collections.Hashtable)" time="0.0302" asserts="0" success="True" result="Success" executed="True" />
                </results>
              </test-suite>
              <test-suite type="ParameterizedTest" name="SetAduser.should save on the expected identity" executed="True" result="Success" success="True" time="0.0694" asserts="0" description="should save on the expected identity">
                <results>
                  <test-case description="should save on the expected identity" name="SetAduser.should save on the expected identity(System.Collections.Hashtable,System.Collections.Hashtable)" time="0.0358" asserts="0" success="True" result="Success" executed="True" />
                  <test-case description="should save on the expected identity" name="SetAduser.should save on the expected identity(System.Collections.Hashtable,System.Collections.Hashtable)" time="0.0336" asserts="0" success="True" result="Success" executed="True" />
                </results>
              </test-suite>
            </results>
          </test-suite>
          <test-suite type="TestFixture" name="SyncCompanyUser" executed="True" result="Success" success="True" time="0.6706" asserts="0" description="SyncCompanyUser">
            <results>
              <test-suite type="TestFixture" name="SamAccountName Identifier, 1 Attributes hashtable" executed="True" result="Success" success="True" time="0.2616" asserts="0" description="SamAccountName Identifier, 1 Attributes hashtable">
                <results>
                  <test-suite type="TestFixture" name="when a non-terminating error occurs in the function" executed="True" result="Success" success="True" time="0.0789" asserts="0" description="when a non-terminating error occurs in the function">
                    <results>
                      <test-case description="should throw an exception" name="SyncCompanyUser.SamAccountName Identifier, 1 Attributes hashtable.when a non-terminating error occurs in the function.should throw an exception" time="0.0789" asserts="0" success="True" result="Success" executed="True" />
                    </results>
                  </test-suite>
                  <test-case description="should return nothing" name="SyncCompanyUser.SamAccountName Identifier, 1 Attributes hashtable.should return nothing" time="0.1127" asserts="0" success="True" result="Success" executed="True" />
                  <test-case description="should change only those attributes in the Attributes parameter" name="SyncCompanyUser.SamAccountName Identifier, 1 Attributes hashtable.should change only those attributes in the Attributes parameter" time="0.0393" asserts="0" success="True" result="Success" executed="True" />
                  <test-case description="should change attributes on the expected user account" name="SyncCompanyUser.SamAccountName Identifier, 1 Attributes hashtable.should change attributes on the expected user account" time="0.0307" asserts="0" success="True" result="Success" executed="True" />
                </results>
              </test-suite>
              <test-suite type="TestFixture" name="EmployeeId Identifier, 2 Attributes hashtable" executed="True" result="Success" success="True" time="0.409" asserts="0" description="EmployeeId Identifier, 2 Attributes hashtable">
                <results>
                  <test-suite type="TestFixture" name="when a non-terminating error occurs in the function" executed="True" result="Success" success="True" time="0.0799" asserts="0" description="when a non-terminating error occurs in the function">
                    <results>
                      <test-case description="should throw an exception" name="SyncCompanyUser.EmployeeId Identifier, 2 Attributes hashtable.when a non-terminating error occurs in the function.should throw an exception" time="0.0799" asserts="0" success="True" result="Success" executed="True" />
                    </results>
                  </test-suite>
                  <test-case description="should return nothing" name="SyncCompanyUser.EmployeeId Identifier, 2 Attributes hashtable.should return nothing" time="0.2976" asserts="0" success="True" result="Success" executed="True" />
                  <test-case description="should change only those attributes in the Attributes parameter" name="SyncCompanyUser.EmployeeId Identifier, 2 Attributes hashtable.should change only those attributes in the Attributes parameter" time="0.0134" asserts="0" success="True" result="Success" executed="True" />
                  <test-case description="should change attributes on the expected user account" name="SyncCompanyUser.EmployeeId Identifier, 2 Attributes hashtable.should change attributes on the expected user account" time="0.0181" asserts="0" success="True" result="Success" executed="True" />
                </results>
              </test-suite>
            </results>
          </test-suite>
          <test-suite type="TestFixture" name="WriteLog" executed="True" result="Success" success="True" time="0.1558" asserts="0" description="WriteLog">
            <results>
              <test-suite type="ParameterizedTest" name="WriteLog.should export a CSV to the expected path: &lt;TestName&gt;" executed="True" result="Success" success="True" time="0.1016" asserts="0" description="should export a CSV to the expected path: &lt;TestName&gt;">
                <results>
                  <test-case description="should export a CSV to the expected path: Standard" name="WriteLog.should export a CSV to the expected path: Standard" time="0.1016" asserts="0" success="True" result="Success" executed="True" />
                </results>
              </test-suite>
              <test-suite type="ParameterizedTest" name="WriteLog.should appends to the CSV: &lt;TestName&gt;" executed="True" result="Success" success="True" time="0.0249" asserts="0" description="should appends to the CSV: &lt;TestName&gt;">
                <results>
                  <test-case description="should appends to the CSV: Standard" name="WriteLog.should appends to the CSV: Standard" time="0.0249" asserts="0" success="True" result="Success" executed="True" />
                </results>
              </test-suite>
              <test-suite type="ParameterizedTest" name="WriteLog.should export as CSV with the expected values: &lt;TestName&gt;" executed="True" result="Success" success="True" time="0.0293" asserts="0" description="should export as CSV with the expected values: &lt;TestName&gt;">
                <results>
                  <test-case description="should export as CSV with the expected values: Standard" name="WriteLog.should export as CSV with the expected values: Standard" time="0.0293" asserts="0" success="True" result="Success" executed="True" />
                </results>
              </test-suite>
            </results>
          </test-suite>
          <test-suite type="TestFixture" name="Invoke-AdSync" executed="True" result="Success" success="True" time="4.3084" asserts="0" description="Invoke-AdSync">
            <results>
              <test-suite type="TestFixture" name="ReportOnly" executed="True" result="Success" success="True" time="1.3024" asserts="0" description="ReportOnly">
                <results>
                  <test-suite type="TestFixture" name="when no AD users are found" executed="True" result="Success" success="True" time="0.2551" asserts="0" description="when no AD users are found">
                    <results>
                      <test-case description="should throw an exception" name="Invoke-AdSync.ReportOnly.when no AD users are found.should throw an exception" time="0.2551" asserts="0" success="True" result="Success" executed="True" />
                    </results>
                  </test-suite>
                  <test-suite type="TestFixture" name="when no CSV users are found" executed="True" result="Success" success="True" time="0.0861" asserts="0" description="when no CSV users are found">
                    <results>
                      <test-case description="should throw an exception" name="Invoke-AdSync.ReportOnly.when no CSV users are found.should throw an exception" time="0.0861" asserts="0" success="True" result="Success" executed="True" />
                    </results>
                  </test-suite>
                  <test-suite type="TestFixture" name="when at least one AD user and one CSV user is found" executed="True" result="Success" success="True" time="0.9611" asserts="0" description="when at least one AD user and one CSV user is found">
                    <results>
                      <test-suite type="TestFixture" name="when a user match cannot be found" executed="True" result="Success" success="True" time="0.5427" asserts="0" description="when a user match cannot be found">
                        <results>
                          <test-suite type="TestFixture" name="when no CSV ID fields can be found" executed="True" result="Success" success="True" time="0.166" asserts="0" description="when no CSV ID fields can be found">
                            <results>
                              <test-case description="should throw an exception" name="Invoke-AdSync.ReportOnly.when at least one AD user and one CSV user is found.when a user match cannot be found.when no CSV ID fields can be found.should throw an exception" time="0.166" asserts="0" success="True" result="Success" executed="True" />
                            </results>
                          </test-suite>
                          <test-suite type="TestFixture" name="when at least one CSV ID field can be found" executed="True" result="Success" success="True" time="0.3767" asserts="0" description="when at least one CSV ID field can be found">
                            <results>
                              <test-suite type="TestFixture" name="when a populated CSV ID field exists" executed="True" result="Success" success="True" time="0.2629" asserts="0" description="when a populated CSV ID field exists">
                                <results>
                                  <test-case description="should pass the ID as the CSV id field for WriteLog" name="Invoke-AdSync.ReportOnly.when at least one AD user and one CSV user is found.when a user match cannot be found.when at least one CSV ID field can be found.when a populated CSV ID field exists.should pass the ID as the CSV id field for WriteLog" time="0.2629" asserts="0" success="True" result="Success" executed="True" />
                                </results>
                              </test-suite>
                              <test-suite type="TestFixture" name="when no CSV ID fields are populated" executed="True" result="Success" success="True" time="0.1138" asserts="0" description="when no CSV ID fields are populated">
                                <results>
                                  <test-case description="should pass N/A as the CSV id field for WriteLog" name="Invoke-AdSync.ReportOnly.when at least one AD user and one CSV user is found.when a user match cannot be found.when at least one CSV ID field can be found.when no CSV ID fields are populated.should pass N/A as the CSV id field for WriteLog" time="0.1138" asserts="0" success="True" result="Success" executed="True" />
                                </results>
                              </test-suite>
                            </results>
                          </test-suite>
                        </results>
                      </test-suite>
                      <test-suite type="TestFixture" name="when a user match can be found" executed="True" result="Success" success="True" time="0.3157" asserts="0" description="when a user match can be found">
                        <results>
                          <test-suite type="TestFixture" name="when an attribute mismatch is found" executed="True" result="Success" success="True" time="0.2145" asserts="0" description="when an attribute mismatch is found">
                            <results>
                              <test-suite type="TestFixture" name="when only reporting" executed="True" result="Success" success="True" time="0.2145" asserts="0" description="when only reporting">
                                <results>
                                  <test-case description="should not attempt to sync the user" name="Invoke-AdSync.ReportOnly.when at least one AD user and one CSV user is found.when a user match can be found.when an attribute mismatch is found.when only reporting.should not attempt to sync the user" time="0.2145" asserts="0" success="True" result="Success" executed="True" />
                                </results>
                              </test-suite>
                            </results>
                          </test-suite>
                          <test-suite type="TestFixture" name="when all attributes are in sync" executed="True" result="Success" success="True" time="0.1013" asserts="0" description="when all attributes are in sync">
                            <results>
                              <test-case description="should pass the expected attributes to WriteLog" name="Invoke-AdSync.ReportOnly.when at least one AD user and one CSV user is found.when a user match can be found.when all attributes are in sync.should pass the expected attributes to WriteLog" time="0.1013" asserts="0" success="True" result="Success" executed="True" />
                            </results>
                          </test-suite>
                        </results>
                      </test-suite>
                      <test-case description="should return nothing" name="Invoke-AdSync.ReportOnly.when at least one AD user and one CSV user is found.should return nothing" time="0.1027" asserts="0" success="True" result="Success" executed="True" />
                    </results>
                  </test-suite>
                </results>
              </test-suite>
              <test-suite type="TestFixture" name="Single sync /single match field" executed="True" result="Success" success="True" time="0.8013" asserts="0" description="Single sync /single match field">
                <results>
                  <test-suite type="TestFixture" name="when no AD users are found" executed="True" result="Success" success="True" time="0.128" asserts="0" description="when no AD users are found">
                    <results>
                      <test-case description="should throw an exception" name="Invoke-AdSync.Single sync /single match field.when no AD users are found.should throw an exception" time="0.128" asserts="0" success="True" result="Success" executed="True" />
                    </results>
                  </test-suite>
                  <test-suite type="TestFixture" name="when no CSV users are found" executed="True" result="Success" success="True" time="0.0857" asserts="0" description="when no CSV users are found">
                    <results>
                      <test-case description="should throw an exception" name="Invoke-AdSync.Single sync /single match field.when no CSV users are found.should throw an exception" time="0.0857" asserts="0" success="True" result="Success" executed="True" />
                    </results>
                  </test-suite>
                  <test-suite type="TestFixture" name="when at least one AD user and one CSV user is found" executed="True" result="Success" success="True" time="0.5875" asserts="0" description="when at least one AD user and one CSV user is found">
                    <results>
                      <test-suite type="TestFixture" name="when a user match cannot be found" executed="True" result="Success" success="True" time="0.2411" asserts="0" description="when a user match cannot be found">
                        <results>
                          <test-suite type="TestFixture" name="when no CSV ID fields can be found" executed="True" result="Success" success="True" time="0.0656" asserts="0" description="when no CSV ID fields can be found">
                            <results>
                              <test-case description="should throw an exception" name="Invoke-AdSync.Single sync /single match field.when at least one AD user and one CSV user is found.when a user match cannot be found.when no CSV ID fields can be found.should throw an exception" time="0.0656" asserts="0" success="True" result="Success" executed="True" />
                            </results>
                          </test-suite>
                          <test-suite type="TestFixture" name="when at least one CSV ID field can be found" executed="True" result="Success" success="True" time="0.1755" asserts="0" description="when at least one CSV ID field can be found">
                            <results>
                              <test-suite type="TestFixture" name="when a populated CSV ID field exists" executed="True" result="Success" success="True" time="0.098" asserts="0" description="when a populated CSV ID field exists">
                                <results>
                                  <test-case description="should pass the ID as the CSV id field for WriteLog" name="Invoke-AdSync.Single sync /single match field.when at least one AD user and one CSV user is found.when a user match cannot be found.when at least one CSV ID field can be found.when a populated CSV ID field exists.should pass the ID as the CSV id field for WriteLog" time="0.098" asserts="0" success="True" result="Success" executed="True" />
                                </results>
                              </test-suite>
                              <test-suite type="TestFixture" name="when no CSV ID fields are populated" executed="True" result="Success" success="True" time="0.0776" asserts="0" description="when no CSV ID fields are populated">
                                <results>
                                  <test-case description="should pass N/A as the CSV id field for WriteLog" name="Invoke-AdSync.Single sync /single match field.when at least one AD user and one CSV user is found.when a user match cannot be found.when at least one CSV ID field can be found.when no CSV ID fields are populated.should pass N/A as the CSV id field for WriteLog" time="0.0776" asserts="0" success="True" result="Success" executed="True" />
                                </results>
                              </test-suite>
                            </results>
                          </test-suite>
                        </results>
                      </test-suite>
                      <test-suite type="TestFixture" name="when a user match can be found" executed="True" result="Success" success="True" time="0.281" asserts="0" description="when a user match can be found">
                        <results>
                          <test-suite type="TestFixture" name="when an attribute mismatch is found" executed="True" result="Success" success="True" time="0.1597" asserts="0" description="when an attribute mismatch is found">
                            <results>
                              <test-suite type="TestFixture" name="when syncing" executed="True" result="Success" success="True" time="0.1597" asserts="0" description="when syncing">
                                <results>
                                  <test-case description="should sync the expected user" name="Invoke-AdSync.Single sync /single match field.when at least one AD user and one CSV user is found.when a user match can be found.when an attribute mismatch is found.when syncing.should sync the expected user" time="0.1597" asserts="0" success="True" result="Success" executed="True" />
                                </results>
                              </test-suite>
                            </results>
                          </test-suite>
                          <test-suite type="TestFixture" name="when all attributes are in sync" executed="True" result="Success" success="True" time="0.1213" asserts="0" description="when all attributes are in sync">
                            <results>
                              <test-case description="should pass the expected attributes to WriteLog" name="Invoke-AdSync.Single sync /single match field.when at least one AD user and one CSV user is found.when a user match can be found.when all attributes are in sync.should pass the expected attributes to WriteLog" time="0.1213" asserts="0" success="True" result="Success" executed="True" />
                            </results>
                          </test-suite>
                        </results>
                      </test-suite>
                      <test-case description="should return nothing" name="Invoke-AdSync.Single sync /single match field.when at least one AD user and one CSV user is found.should return nothing" time="0.0654" asserts="0" success="True" result="Success" executed="True" />
                    </results>
                  </test-suite>
                </results>
              </test-suite>
              <test-suite type="TestFixture" name="Multi sync/Multi match field" executed="True" result="Success" success="True" time="0.7478" asserts="0" description="Multi sync/Multi match field">
                <results>
                  <test-suite type="TestFixture" name="when no AD users are found" executed="True" result="Success" success="True" time="0.1837" asserts="0" description="when no AD users are found">
                    <results>
                      <test-case description="should throw an exception" name="Invoke-AdSync.Multi sync/Multi match field.when no AD users are found.should throw an exception" time="0.1837" asserts="0" success="True" result="Success" executed="True" />
                    </results>
                  </test-suite>
                  <test-suite type="TestFixture" name="when no CSV users are found" executed="True" result="Success" success="True" time="0.053" asserts="0" description="when no CSV users are found">
                    <results>
                      <test-case description="should throw an exception" name="Invoke-AdSync.Multi sync/Multi match field.when no CSV users are found.should throw an exception" time="0.053" asserts="0" success="True" result="Success" executed="True" />
                    </results>
                  </test-suite>
                  <test-suite type="TestFixture" name="when at least one AD user and one CSV user is found" executed="True" result="Success" success="True" time="0.5111" asserts="0" description="when at least one AD user and one CSV user is found">
                    <results>
                      <test-suite type="TestFixture" name="when a user match cannot be found" executed="True" result="Success" success="True" time="0.224" asserts="0" description="when a user match cannot be found">
                        <results>
                          <test-suite type="TestFixture" name="when no CSV ID fields can be found" executed="True" result="Success" success="True" time="0.0651" asserts="0" description="when no CSV ID fields can be found">
                            <results>
                              <test-case description="should throw an exception" name="Invoke-AdSync.Multi sync/Multi match field.when at least one AD user and one CSV user is found.when a user match cannot be found.when no CSV ID fields can be found.should throw an exception" time="0.0651" asserts="0" success="True" result="Success" executed="True" />
                            </results>
                          </test-suite>
                          <test-suite type="TestFixture" name="when at least one CSV ID field can be found" executed="True" result="Success" success="True" time="0.1589" asserts="0" description="when at least one CSV ID field can be found">
                            <results>
                              <test-suite type="TestFixture" name="when a populated CSV ID field exists" executed="True" result="Success" success="True" time="0.0815" asserts="0" description="when a populated CSV ID field exists">
                                <results>
                                  <test-case description="should pass the ID as the CSV id field for WriteLog" name="Invoke-AdSync.Multi sync/Multi match field.when at least one AD user and one CSV user is found.when a user match cannot be found.when at least one CSV ID field can be found.when a populated CSV ID field exists.should pass the ID as the CSV id field for WriteLog" time="0.0815" asserts="0" success="True" result="Success" executed="True" />
                                </results>
                              </test-suite>
                              <test-suite type="TestFixture" name="when no CSV ID fields are populated" executed="True" result="Success" success="True" time="0.0774" asserts="0" description="when no CSV ID fields are populated">
                                <results>
                                  <test-case description="should pass N/A as the CSV id field for WriteLog" name="Invoke-AdSync.Multi sync/Multi match field.when at least one AD user and one CSV user is found.when a user match cannot be found.when at least one CSV ID field can be found.when no CSV ID fields are populated.should pass N/A as the CSV id field for WriteLog" time="0.0774" asserts="0" success="True" result="Success" executed="True" />
                                </results>
                              </test-suite>
                            </results>
                          </test-suite>
                        </results>
                      </test-suite>
                      <test-suite type="TestFixture" name="when a user match can be found" executed="True" result="Success" success="True" time="0.2281" asserts="0" description="when a user match can be found">
                        <results>
                          <test-suite type="TestFixture" name="when an attribute mismatch is found" executed="True" result="Success" success="True" time="0.1115" asserts="0" description="when an attribute mismatch is found">
                            <results>
                              <test-suite type="TestFixture" name="when syncing" executed="True" result="Success" success="True" time="0.1115" asserts="0" description="when syncing">
                                <results>
                                  <test-case description="should sync the expected user" name="Invoke-AdSync.Multi sync/Multi match field.when at least one AD user and one CSV user is found.when a user match can be found.when an attribute mismatch is found.when syncing.should sync the expected user" time="0.1115" asserts="0" success="True" result="Success" executed="True" />
                                </results>
                              </test-suite>
                            </results>
                          </test-suite>
                          <test-suite type="TestFixture" name="when all attributes are in sync" executed="True" result="Success" success="True" time="0.1166" asserts="0" description="when all attributes are in sync">
                            <results>
                              <test-case description="should pass the expected attributes to WriteLog" name="Invoke-AdSync.Multi sync/Multi match field.when at least one AD user and one CSV user is found.when a user match can be found.when all attributes are in sync.should pass the expected attributes to WriteLog" time="0.1166" asserts="0" success="True" result="Success" executed="True" />
                            </results>
                          </test-suite>
                        </results>
                      </test-suite>
                      <test-case description="should return nothing" name="Invoke-AdSync.Multi sync/Multi match field.when at least one AD user and one CSV user is found.should return nothing" time="0.059" asserts="0" success="True" result="Success" executed="True" />
                    </results>
                  </test-suite>
                </results>
              </test-suite>
              <test-suite type="TestFixture" name="Exclude" executed="True" result="Success" success="True" time="1.4569" asserts="0" description="Exclude">
                <results>
                  <test-suite type="TestFixture" name="when excluding a CSV column" executed="True" result="Success" success="True" time="0.2752" asserts="0" description="when excluding a CSV column">
                    <results>
                      <test-suite type="TestFixture" name="when a header does not exist" executed="True" result="Success" success="True" time="0.1795" asserts="0" description="when a header does not exist">
                        <results>
                          <test-case description="should throw an exception" name="Invoke-AdSync.Exclude.when excluding a CSV column.when a header does not exist.should throw an exception" time="0.1795" asserts="0" success="True" result="Success" executed="True" />
                        </results>
                      </test-suite>
                      <test-suite type="TestFixture" name="when all headers exist" executed="True" result="Success" success="True" time="0.0957" asserts="0" description="when all headers exist">
                        <results>
                          <test-case description="should pass Exclude to Get-CompanyCsvUser" name="Invoke-AdSync.Exclude.when excluding a CSV column.when all headers exist.should pass Exclude to Get-CompanyCsvUser" time="0.0957" asserts="0" success="True" result="Success" executed="True" />
                        </results>
                      </test-suite>
                    </results>
                  </test-suite>
                  <test-suite type="TestFixture" name="when no AD users are found" executed="True" result="Success" success="True" time="0.0828" asserts="0" description="when no AD users are found">
                    <results>
                      <test-case description="should throw an exception" name="Invoke-AdSync.Exclude.when no AD users are found.should throw an exception" time="0.0828" asserts="0" success="True" result="Success" executed="True" />
                    </results>
                  </test-suite>
                  <test-suite type="TestFixture" name="when no CSV users are found" executed="True" result="Success" success="True" time="0.0887" asserts="0" description="when no CSV users are found">
                    <results>
                      <test-case description="should throw an exception" name="Invoke-AdSync.Exclude.when no CSV users are found.should throw an exception" time="0.0887" asserts="0" success="True" result="Success" executed="True" />
                    </results>
                  </test-suite>
                  <test-suite type="TestFixture" name="when at least one AD user and one CSV user is found" executed="True" result="Success" success="True" time="1.0102" asserts="0" description="when at least one AD user and one CSV user is found">
                    <results>
                      <test-suite type="TestFixture" name="when a user match cannot be found" executed="True" result="Success" success="True" time="0.5097" asserts="0" description="when a user match cannot be found">
                        <results>
                          <test-suite type="TestFixture" name="when no CSV ID fields can be found" executed="True" result="Success" success="True" time="0.1202" asserts="0" description="when no CSV ID fields can be found">
                            <results>
                              <test-case description="should throw an exception" name="Invoke-AdSync.Exclude.when at least one AD user and one CSV user is found.when a user match cannot be found.when no CSV ID fields can be found.should throw an exception" time="0.1202" asserts="0" success="True" result="Success" executed="True" />
                            </results>
                          </test-suite>
                          <test-suite type="TestFixture" name="when at least one CSV ID field can be found" executed="True" result="Success" success="True" time="0.3895" asserts="0" description="when at least one CSV ID field can be found">
                            <results>
                              <test-suite type="TestFixture" name="when a populated CSV ID field exists" executed="True" result="Success" success="True" time="0.2574" asserts="0" description="when a populated CSV ID field exists">
                                <results>
                                  <test-case description="should pass the ID as the CSV id field for WriteLog" name="Invoke-AdSync.Exclude.when at least one AD user and one CSV user is found.when a user match cannot be found.when at least one CSV ID field can be found.when a populated CSV ID field exists.should pass the ID as the CSV id field for WriteLog" time="0.2574" asserts="0" success="True" result="Success" executed="True" />
                                </results>
                              </test-suite>
                              <test-suite type="TestFixture" name="when no CSV ID fields are populated" executed="True" result="Success" success="True" time="0.1321" asserts="0" description="when no CSV ID fields are populated">
                                <results>
                                  <test-case description="should pass N/A as the CSV id field for WriteLog" name="Invoke-AdSync.Exclude.when at least one AD user and one CSV user is found.when a user match cannot be found.when at least one CSV ID field can be found.when no CSV ID fields are populated.should pass N/A as the CSV id field for WriteLog" time="0.1321" asserts="0" success="True" result="Success" executed="True" />
                                </results>
                              </test-suite>
                            </results>
                          </test-suite>
                        </results>
                      </test-suite>
                      <test-suite type="TestFixture" name="when a user match can be found" executed="True" result="Success" success="True" time="0.3878" asserts="0" description="when a user match can be found">
                        <results>
                          <test-suite type="TestFixture" name="when an attribute mismatch is found" executed="True" result="Success" success="True" time="0.2263" asserts="0" description="when an attribute mismatch is found">
                            <results>
                              <test-suite type="TestFixture" name="when syncing" executed="True" result="Success" success="True" time="0.2263" asserts="0" description="when syncing">
                                <results>
                                  <test-case description="should sync the expected user" name="Invoke-AdSync.Exclude.when at least one AD user and one CSV user is found.when a user match can be found.when an attribute mismatch is found.when syncing.should sync the expected user" time="0.2263" asserts="0" success="True" result="Success" executed="True" />
                                </results>
                              </test-suite>
                            </results>
                          </test-suite>
                          <test-suite type="TestFixture" name="when all attributes are in sync" executed="True" result="Success" success="True" time="0.1615" asserts="0" description="when all attributes are in sync">
                            <results>
                              <test-case description="should pass the expected attributes to WriteLog" name="Invoke-AdSync.Exclude.when at least one AD user and one CSV user is found.when a user match can be found.when all attributes are in sync.should pass the expected attributes to WriteLog" time="0.1615" asserts="0" success="True" result="Success" executed="True" />
                            </results>
                          </test-suite>
                        </results>
                      </test-suite>
                      <test-case description="should return nothing" name="Invoke-AdSync.Exclude.when at least one AD user and one CSV user is found.should return nothing" time="0.1127" asserts="0" success="True" result="Success" executed="True" />
                    </results>
                  </test-suite>
                </results>
              </test-suite>
            </results>
          </test-suite>
        </results>
      </test-suite>
    </results>
  </test-suite>
</test-results>