• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

HicServices / RDMP / 6237307473

19 Sep 2023 04:02PM UTC coverage: 57.015% (-0.4%) from 57.44%
6237307473

push

github

web-flow
Feature/rc4 (#1570)

* Syntax tidying
* Dependency updates
* Event handling singletons (ThrowImmediately and co)

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: James A Sutherland <>
Co-authored-by: James Friel <jfriel001@dundee.ac.uk>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

10734 of 20259 branches covered (0.0%)

Branch coverage included in aggregate %.

5922 of 5922 new or added lines in 565 files covered. (100.0%)

30687 of 52390 relevant lines covered (58.57%)

7361.8 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

0.0
/Rdmp.Core/ReusableLibraryCode/DirectoryInfoComparer.cs
1
// Copyright (c) The University of Dundee 2018-2019
2
// This file is part of the Research Data Management Platform (RDMP).
3
// RDMP is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
4
// RDMP is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
5
// You should have received a copy of the GNU General Public License along with RDMP. If not, see <https://www.gnu.org/licenses/>.
6

7
using System;
8
using System.Collections.Generic;
9
using System.IO;
10

11
namespace Rdmp.Core.ReusableLibraryCode;
12

13
/// <summary>
14
/// Checks whether two DirectoryInfo objects are the same based on FullName
15
/// </summary>
16
internal sealed class DirectoryInfoComparer : IEqualityComparer<DirectoryInfo>
17
{
18
    public bool Equals(DirectoryInfo x, DirectoryInfo y) => ReferenceEquals(x, y) || x?.FullName == y?.FullName;
×
19
    public int GetHashCode(DirectoryInfo obj) => obj.FullName.GetHashCode();
×
20
}
21

22
internal static class DirectoryInfoExtensions
23
{
24
    public static void CopyAll(this DirectoryInfo source, DirectoryInfo target)
25
    {
26
        if (string.Equals(source.FullName, target.FullName, StringComparison.InvariantCultureIgnoreCase)) return;
×
27

28
        // Check if the target directory exists, if not, create it.
29
        if (Directory.Exists(target.FullName) == false) Directory.CreateDirectory(target.FullName);
×
30

31
        // Copy each file into its new directory.
32
        foreach (var fi in source.GetFiles()) fi.CopyTo(Path.Combine(target.ToString(), fi.Name), true);
×
33

34
        // Copy each subdirectory using recursion.
35
        foreach (var diSourceSubDir in source.GetDirectories())
×
36
        {
37
            var nextTargetSubDir = target.CreateSubdirectory(diSourceSubDir.Name);
×
38
            diSourceSubDir.CopyAll(nextTargetSubDir);
×
39
        }
40
    }
×
41
}
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc