Skip to content

[REFACTOR] directory hierarchy now matches package structure. #181

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 3 commits into from
Feb 17, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
22 changes: 11 additions & 11 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -15,9 +15,9 @@ WORKDIR ${WORKDIR}

COPY ./Makefile ${WORKDIR}/
COPY ./algorithm_exercises_csharp.sln ${WORKDIR}/algorithm_exercises_csharp.sln
COPY ./algorithm_exercises_csharp/algorithm_exercises_csharp.csproj ${WORKDIR}/algorithm_exercises_csharp/algorithm_exercises_csharp.csproj
COPY ./algorithm_exercises_csharp_base/algorithm_exercises_csharp_base.csproj ${WORKDIR}/algorithm_exercises_csharp_base/algorithm_exercises_csharp_base.csproj
COPY ./algorithm_exercises_csharp_test/algorithm_exercises_csharp_test.csproj ${WORKDIR}/algorithm_exercises_csharp_test/algorithm_exercises_csharp_test.csproj
COPY ./src/algorithm_exercises_csharp/algorithm_exercises_csharp.csproj ${WORKDIR}/src/algorithm_exercises_csharp/algorithm_exercises_csharp.csproj
COPY ./src/algorithm_exercises_csharp_base/algorithm_exercises_csharp_base.csproj ${WORKDIR}/src/algorithm_exercises_csharp_base/algorithm_exercises_csharp_base.csproj
COPY ./src/algorithm_exercises_csharp_test/algorithm_exercises_csharp_test.csproj ${WORKDIR}/src/algorithm_exercises_csharp_test/algorithm_exercises_csharp_test.csproj

RUN make dependencies

Expand Down Expand Up @@ -46,9 +46,9 @@ COPY ./CODE_OF_CONDUCT.md ${WORKDIR}/

# Code source
COPY ./algorithm_exercises_csharp.sln ${WORKDIR}/algorithm_exercises_csharp.sln
COPY ./algorithm_exercises_csharp ${WORKDIR}/algorithm_exercises_csharp
COPY ./algorithm_exercises_csharp_base ${WORKDIR}/algorithm_exercises_csharp_base
COPY ./algorithm_exercises_csharp_test ${WORKDIR}/algorithm_exercises_csharp_test
COPY ./src/algorithm_exercises_csharp ${WORKDIR}/src/algorithm_exercises_csharp
COPY ./src/algorithm_exercises_csharp_base ${WORKDIR}/src/algorithm_exercises_csharp_base
COPY ./src/algorithm_exercises_csharp_test ${WORKDIR}/src/algorithm_exercises_csharp_test

# code linting conf
COPY ./.editorconfig ${WORKDIR}/
Expand All @@ -66,9 +66,9 @@ CMD ["make", "lint"]
FROM base AS development

COPY ./algorithm_exercises_csharp.sln ${WORKDIR}/algorithm_exercises_csharp.sln
COPY ./algorithm_exercises_csharp ${WORKDIR}/algorithm_exercises_csharp
COPY ./algorithm_exercises_csharp_base ${WORKDIR}/algorithm_exercises_csharp_base
COPY ./algorithm_exercises_csharp_test ${WORKDIR}/algorithm_exercises_csharp_test
COPY ./src/algorithm_exercises_csharp ${WORKDIR}/src/algorithm_exercises_csharp
COPY ./src/algorithm_exercises_csharp_base ${WORKDIR}/src/algorithm_exercises_csharp_base
COPY ./src/algorithm_exercises_csharp_test ${WORKDIR}/src/algorithm_exercises_csharp_test

RUN make build \
&& ls -alh
Expand Down Expand Up @@ -119,8 +119,8 @@ RUN adduser -D worker \
&& chown worker:worker /app

COPY ./Makefile ${WORKDIR}/
COPY --from=builder /app/algorithm_exercises_csharp/bin/Release/net8.0/algorithm_exercises_csharp.dll ${WORKDIR}/
COPY --from=builder /app/algorithm_exercises_csharp/bin/Release/net8.0/algorithm_exercises_csharp.runtimeconfig.json ${WORKDIR}/
COPY --from=builder /app/src/algorithm_exercises_csharp/bin/Release/net8.0/algorithm_exercises_csharp.dll ${WORKDIR}/
COPY --from=builder /app/src/algorithm_exercises_csharp/bin/Release/net8.0/algorithm_exercises_csharp.runtimeconfig.json ${WORKDIR}/

RUN ls -alh

Expand Down
21 changes: 5 additions & 16 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -33,10 +33,6 @@ RUNTIME_TOOL=dotnet
PACKAGE_TOOL=dotnet
VERBOSITY_LEVEL=normal

MAIN_PROJECT_DIRECTORY=algorithm_exercises_csharp
BASE_PROJECT_DIRECTORY=algorithm_exercises_csharp_base
TEST_PROJECT_DIRECTORY=algorithm_exercises_csharp_test

help: list
@echo ""
@echo "Note: create and activate the environment in your local shell type (example):"
Expand Down Expand Up @@ -114,18 +110,11 @@ clean:

rm -vfr .mono/ || true
rm -vfr coverage-report/ || true
find ${MAIN_PROJECT_DIRECTORY} -path "*/TestResults/*" -type d -print -exec rm -vfr {} ';' || true
find ${MAIN_PROJECT_DIRECTORY} -path "*/bin/*" -print -exec rm -vfr {} ';' || true
find ${MAIN_PROJECT_DIRECTORY} -path "*/obj/*" -print -exec rm -vfr {} ';' || true

find ${BASE_PROJECT_DIRECTORY} -path "*/TestResults/*" -type d -print -exec rm -vfr {} ';' || true
find ${BASE_PROJECT_DIRECTORY} -path "*/bin/*" -print -exec rm -vfr {} ';' || true
find ${BASE_PROJECT_DIRECTORY} -path "*/obj/*" -print -exec rm -vfr {} ';' || true

find ${TEST_PROJECT_DIRECTORY} -path "*/coverage*" -print -exec rm -vfr {} ';' || true
find ${TEST_PROJECT_DIRECTORY} -path "*/TestResults/*" -type d -print -exec rm -vfr {} ';' || true
find ${TEST_PROJECT_DIRECTORY} -path "*/bin/*" -print -exec rm -vfr {} ';' || true
find ${TEST_PROJECT_DIRECTORY} -path "*/obj/*" -print -exec rm -vfr {} ';' || true
find ./src/ -path "*/TestResults/*" -type d -print -exec rm -vfr {} ';' || true
find ./src/ -path "*/bin/*" -print -exec rm -vfr {} ';' || true
find ./src/ -path "*/obj/*" -print -exec rm -vfr {} ';' || true
find ./src/ -path "*/coverage*" -print -exec rm -vfr {} ';' || true
find . -type d -print -empty -delete || true

compose/build: env
${DOCKER_COMPOSE} --profile lint build
Expand Down
6 changes: 3 additions & 3 deletions algorithm_exercises_csharp.sln
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,11 @@ Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 17
VisualStudioVersion = 17.0.31903.59
MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "algorithm_exercises_csharp_test", "algorithm_exercises_csharp_test\algorithm_exercises_csharp_test.csproj", "{817BA968-9A1F-4DDB-8A96-657DCA862227}"
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "algorithm_exercises_csharp_test", "src\algorithm_exercises_csharp_test\algorithm_exercises_csharp_test.csproj", "{817BA968-9A1F-4DDB-8A96-657DCA862227}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "algorithm_exercises_csharp", "algorithm_exercises_csharp\algorithm_exercises_csharp.csproj", "{B162EE62-90C6-4871-B278-390804615987}"
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "algorithm_exercises_csharp", "src\algorithm_exercises_csharp\algorithm_exercises_csharp.csproj", "{B162EE62-90C6-4871-B278-390804615987}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "algorithm_exercises_csharp_base", "algorithm_exercises_csharp_base\algorithm_exercises_csharp_base.csproj", "{1BC65C42-83A6-486D-84DB-0DC63002FA24}"
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "algorithm_exercises_csharp_base", "src\algorithm_exercises_csharp_base\algorithm_exercises_csharp_base.csproj", "{1BC65C42-83A6-486D-84DB-0DC63002FA24}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Expand Down
Original file line number Diff line number Diff line change
@@ -1,10 +1,9 @@
namespace algorithm_exercises_csharp.hackerrank.interview_preparation_kit;
// @link Problem definition [[docs/hackerrank/interview_preparation_kit/arrays/ctci_array_left_rotation.md]]

namespace algorithm_exercises_csharp.hackerrank.interview_preparation_kit.arrays;

using System.Diagnostics.CodeAnalysis;

/**
* @link Problem definition [[docs/hackerrank/interview_preparation_kit/arrays/ctci_array_left_rotation.md]]
*/
public class ArraysLeftRotation
{
[ExcludeFromCodeCoverage]
Expand Down
Original file line number Diff line number Diff line change
@@ -1,13 +1,10 @@
namespace algorithm_exercises_csharp.hackerrank.interview_preparation_kit;
// @link Problem definition [[docs/hackerrank/interview_preparation_kit/arrays/crush.md]]
// @link Solution notes [[docs/hackerrank/interview_preparation_kit/arrays/crush_optimized-solution-notes.md]]

namespace algorithm_exercises_csharp.hackerrank.interview_preparation_kit.arrays;

using System.Diagnostics.CodeAnalysis;

/**
* Crush (Brute Force).
*
* @link Problem definition [[docs/hackerrank/interview_preparation_kit/arrays/crush.md]]
* @link Solution notes [[docs/hackerrank/interview_preparation_kit/arrays/crush_optimized-solution-notes.md]]
*/
public class CrushBruteForce
{
[ExcludeFromCodeCoverage]
Expand Down
Original file line number Diff line number Diff line change
@@ -1,21 +1,17 @@
namespace algorithm_exercises_csharp.hackerrank.interview_preparation_kit;
// @link Problem definition [[docs/hackerrank/interview_preparation_kit/arrays/crush.md]]
// @link Solution notes [[docs/hackerrank/interview_preparation_kit/arrays/crush_optimized-solution-notes.md]]

using System.Diagnostics.CodeAnalysis;
namespace algorithm_exercises_csharp.hackerrank.interview_preparation_kit.arrays;

/**
* Crush (Optimized).
*
* @link Problem definition [[docs/hackerrank/interview_preparation_kit/arrays/crush.md]]
* @link Solution notes [[docs/hackerrank/interview_preparation_kit/arrays/crush_optimized-solution-notes.md]]
*/
using System.Diagnostics.CodeAnalysis;

public class CrushOptimized
{
[ExcludeFromCodeCoverage]
private CrushOptimized() { }

/**
* arrayManipulation.
// arrayManipulation.
*/
public static long arrayManipulation(int n, List<List<int>> queries)
{
Expand Down
Original file line number Diff line number Diff line change
@@ -1,13 +1,9 @@
namespace algorithm_exercises_csharp.hackerrank.interview_preparation_kit;
// @link Problem definition [[docs/hackerrank/interview_preparation_kit/arrays/new_year_chaos.md]]

using System.Diagnostics.CodeAnalysis;
namespace algorithm_exercises_csharp.hackerrank.interview_preparation_kit.arrays;

using System.Diagnostics.CodeAnalysis;

/**
* New Year Chaos.
*
* @link Problem definition [[docs/hackerrank/interview_preparation_kit/arrays/new_year_chaos.md]]
*/
public class NewYearChaos
{
[ExcludeFromCodeCoverage]
Expand Down
Original file line number Diff line number Diff line change
@@ -1,12 +1,8 @@
namespace algorithm_exercises_csharp.hackerrank.interview_preparation_kit;
// @link Problem definition [[docs/hackerrank/interview_preparation_kit/arrays/2d_array.md]]

using System.Diagnostics.CodeAnalysis;
namespace algorithm_exercises_csharp.hackerrank.interview_preparation_kit.arrays;

/**
* 2D Array - DS.
*
* @link Problem definition [[docs/hackerrank/interview_preparation_kit/arrays/2d_array.md]]
*/
using System.Diagnostics.CodeAnalysis;

public class TwoDArray
{
Expand Down
Original file line number Diff line number Diff line change
@@ -1,12 +1,10 @@
// @link Problem definition [[docs/hackerrank/interview_preparation_kit/dictionaries_and_hashmaps/ctci-ransom-note.md]]

namespace algorithm_exercises_csharp.hackerrank.interview_preparation_kit;
namespace algorithm_exercises_csharp.hackerrank.interview_preparation_kit.dictionaries_and_hashmaps;

using System.Diagnostics.CodeAnalysis;
using System.Collections.Generic;

/**
* @link Problem definition [[docs/hackerrank/interview_preparation_kit/dictionaries_and_hashmaps/ctci-ransom-note.md]]
*/
public class RansomNote
{
public class InvalidValueException : Exception
Expand Down
Original file line number Diff line number Diff line change
@@ -1,10 +1,9 @@
namespace algorithm_exercises_csharp.hackerrank.interview_preparation_kit;
// @link Problem definition [[docs/hackerrank/interview_preparation_kit/dictionaries_and_hashmaps/two-strings.md]]

namespace algorithm_exercises_csharp.hackerrank.interview_preparation_kit.dictionaries_and_hashmaps;

using System.Diagnostics.CodeAnalysis;

/**
* @link Problem definition [[docs/hackerrank/interview_preparation_kit/dictionaries_and_hashmaps/two-strings.md]]
*/
public class TwoStrings
{
[ExcludeFromCodeCoverage]
Expand Down
Original file line number Diff line number Diff line change
@@ -1,11 +1,9 @@
// @link Problem definition [[docs/hackerrank/interview_preparation_kit/greedy_algorithms/luck-balance.md]]

namespace algorithm_exercises_csharp.hackerrank.interview_preparation_kit;
namespace algorithm_exercises_csharp.hackerrank.interview_preparation_kit.greedy_algorithms;

using System.Diagnostics.CodeAnalysis;

/**
* @link Problem definition [[docs/hackerrank/interview_preparation_kit/greedy_algorithms/luck-balance.md]]
*/
public class LuckBalance
{
public class Competition(int _luck, int _important)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
namespace algorithm_exercises_csharp.hackerrank.interview_preparation_kit;
// @link Problem definition [[docs/hackerrank/interview_preparation_kit/linked_lists/find-the-merge-point-of-two-joined-linked-lists.md]]

namespace algorithm_exercises_csharp.hackerrank.interview_preparation_kit.linked_list;
using algorithm_exercises_csharp.hackerrank.interview_preparation_kit.linked_list.lib;

using System.Diagnostics.CodeAnalysis;

/**
* @link Problem definition [[docs/hackerrank/interview_preparation_kit/linked_lists/find-the-merge-point-of-two-joined-linked-lists.md]]
*/
public class FindMergeNode
{
[ExcludeFromCodeCoverage]
Expand Down
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
namespace algorithm_exercises_csharp.hackerrank.interview_preparation_kit;
// @link Problem definition [[docs/hackerrank/interview_preparation_kit/linked_lists/ctci_linked_list_cycle.md]]

namespace algorithm_exercises_csharp.hackerrank.interview_preparation_kit.linked_list;
using algorithm_exercises_csharp.hackerrank.interview_preparation_kit.linked_list.lib;

using System.Diagnostics.CodeAnalysis;

/**
* @link Problem definition [[docs/hackerrank/interview_preparation_kit/linked_lists/ctci_linked_list_cycle.md]]
*/
public class LinkedListCycle
{
[ExcludeFromCodeCoverage]
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
namespace algorithm_exercises_csharp.hackerrank.interview_preparation_kit;
namespace algorithm_exercises_csharp.hackerrank.interview_preparation_kit.linked_list.lib;

public class LinkedList<T>
{
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
// @link Problem definition [[docs/hackerrank/projecteuler/euler003.md]]
// Notes about final solution please see:
// @link [[docs/hackerrank/projecteuler/euler003-solution-notes.md]]

namespace algorithm_exercises_csharp.hackerrank.projecteuler;

Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
// @link Problem definition [[docs/hackerrank/warmup/a_very_big_sum.md]]

namespace algorithm_exercises_csharp.hackerrank;
namespace algorithm_exercises_csharp.hackerrank.warmup;

using System.Diagnostics.CodeAnalysis;

Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,8 @@
// @link Problem definition [[docs/hackerrank/warmup/birthday_cake_candles.md]]

namespace algorithm_exercises_csharp.hackerrank;
namespace algorithm_exercises_csharp.hackerrank.warmup;

using System.Diagnostics.CodeAnalysis;
using System.Linq.Expressions;

public class BirthdayCakeCandles
{
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
// @link Problem definition [[docs/hackerrank/warmup/compare_triplets.md]]

namespace algorithm_exercises_csharp.hackerrank;
namespace algorithm_exercises_csharp.hackerrank.warmup;

using System.Diagnostics.CodeAnalysis;

Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
// @link Problem definition [[docs/hackerrank/warmup/diagonal_difference.md]]

namespace algorithm_exercises_csharp.hackerrank;
namespace algorithm_exercises_csharp.hackerrank.warmup;

using System.Diagnostics.CodeAnalysis;

Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,8 @@
// @link Problem definition [[docs/hackerrank/warmup/solve_me_first.md]]

namespace algorithm_exercises_csharp.hackerrank;
namespace algorithm_exercises_csharp.hackerrank.warmup;

using System.Diagnostics.CodeAnalysis;
using System.Text;

public class MiniMaxSum
{
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
// @link Problem definition [[docs/hackerrank/warmup/plus_minus.md]]

namespace algorithm_exercises_csharp.hackerrank;
namespace algorithm_exercises_csharp.hackerrank.warmup;

using System.Globalization;
using System.Diagnostics.CodeAnalysis;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
// @link Problem definition [[docs/hackerrank/warmup/simple_array_sum.md]]

namespace algorithm_exercises_csharp.hackerrank;
namespace algorithm_exercises_csharp.hackerrank.warmup;

using System.Diagnostics.CodeAnalysis;

Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
// @link Problem definition [[docs/hackerrank/warmup/solve_me_first.md]]

namespace algorithm_exercises_csharp.hackerrank;
namespace algorithm_exercises_csharp.hackerrank.warmup;

using System.Diagnostics.CodeAnalysis;

Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
// @link Problem definition [[docs/hackerrank/warmup/staircase.md]]

namespace algorithm_exercises_csharp.hackerrank;
namespace algorithm_exercises_csharp.hackerrank.warmup;

using System.Text;
using System.Diagnostics.CodeAnalysis;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
// @link Problem definition [[docs/hackerrank/warmup/time_conversion.md]]

namespace algorithm_exercises_csharp.hackerrank;
namespace algorithm_exercises_csharp.hackerrank.warmup;

using System.Diagnostics.CodeAnalysis;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@
</ItemGroup>

<Target Name="GenerateHtmlCoverageReport" AfterTargets="GenerateCoverageResultAfterTest">
<ReportGenerator ReportFiles="@(CoverletReport)" TargetDirectory="../coverage-report" ReportTypes="TextSummary;Html" />
<ReportGenerator ReportFiles="@(CoverletReport)" TargetDirectory="../../coverage-report" ReportTypes="TextSummary;Html" />
</Target>

<ItemGroup>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
namespace algorithm_exercises_csharp.hackerrank.interview_preparation_kit;
namespace algorithm_exercises_csharp_test.hackerrank.interview_preparation_kit.arrays;
using algorithm_exercises_csharp_test.lib;
using algorithm_exercises_csharp.hackerrank.interview_preparation_kit.arrays;

[TestClass]
public class ArraysLeftRotationTest
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
namespace algorithm_exercises_csharp.hackerrank.interview_preparation_kit;
namespace algorithm_exercises_csharp_test.hackerrank.interview_preparation_kit.arrays;
using algorithm_exercises_csharp_test.lib;
using algorithm_exercises_csharp.hackerrank.interview_preparation_kit.arrays;

[TestClass]
public class CrushBruteForceTest
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
namespace algorithm_exercises_csharp.hackerrank.interview_preparation_kit;
namespace algorithm_exercises_csharp_test.hackerrank.interview_preparation_kit.arrays;
using algorithm_exercises_csharp_test.lib;
using algorithm_exercises_csharp.hackerrank.interview_preparation_kit.arrays;

[TestClass]
public class CrushOptimizedTest
Expand Down
Loading
Loading