Skip to content

Commit 8b18f6f

Browse files
committed
Fixed sorting and tests
1 parent 454c9e7 commit 8b18f6f

4 files changed

Lines changed: 61 additions & 85 deletions

File tree

Homework1/Sort/Sort/BubbleSort.cs

Lines changed: 24 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -1,43 +1,38 @@
11
using System;
22

3-
namespace Sort
3+
namespace Sort;
4+
public class BubbleSort
45
{
5-
public class BubbleSort
6+
public static void BubbleSortArray(int[] arrayOfNumbers)
67
{
7-
public void BubbleSortArray(int[] arrayOfNumbers)
8+
for (int i = 0; i < arrayOfNumbers.Length - 1; i++)
89
{
9-
for (int i = 0; i < arrayOfNumbers.Length - 1; i++)
10+
for (int j = arrayOfNumbers.Length - 1; j > i; j--)
1011
{
11-
for (int j = arrayOfNumbers.Length - 1; j > i; j--)
12+
if (arrayOfNumbers[j - 1] > arrayOfNumbers[j])
1213
{
13-
if (arrayOfNumbers[j - 1] > arrayOfNumbers[j])
14-
{
15-
int temporary = arrayOfNumbers[j];
16-
arrayOfNumbers[j] = arrayOfNumbers[j - 1];
17-
arrayOfNumbers[j - 1] = temporary;
18-
}
14+
(arrayOfNumbers[j - 1], arrayOfNumbers[j]) = (arrayOfNumbers[j], arrayOfNumbers[j - 1]);
1915
}
2016
}
2117
}
22-
static void Main(string[] args)
18+
}
19+
public static void Main(string[] args)
20+
{
21+
Console.WriteLine("Введите количество элементов в массиве");
22+
var inputString = Console.ReadLine();
23+
int numberOfElementsInArray = int.Parse(inputString);
24+
var random = new Random();
25+
var arrayOfNumbers = new int[numberOfElementsInArray];
26+
for (int i = 0; i < arrayOfNumbers.Length; i++)
2327
{
24-
Console.WriteLine("Введите количество элементов в массиве");
25-
var inputString = Console.ReadLine();
26-
int numberOFElementsInArray = int.Parse(inputString);
27-
int[] arrayOfNumbers = new int[numberOFElementsInArray];
28-
for(int i = 0; i < arrayOfNumbers.Length; i++)
29-
{
30-
Random random = new Random();
31-
arrayOfNumbers[i] = random.Next() % 15;
32-
Console.Write("{0} ", arrayOfNumbers[i]);
33-
}
34-
BubbleSort array = new BubbleSort();
35-
array.BubbleSortArray(arrayOfNumbers);
36-
Console.WriteLine();
37-
for (int i = 0; i < arrayOfNumbers.Length; i++)
38-
{
39-
Console.Write("{0} ", arrayOfNumbers[i]);
40-
}
28+
arrayOfNumbers[i] = random.Next(15);
29+
Console.Write($"{arrayOfNumbers[i]} ");
30+
}
31+
BubbleSortArray(arrayOfNumbers);
32+
Console.WriteLine();
33+
for (int i = 0; i < arrayOfNumbers.Length; i++)
34+
{
35+
Console.Write($"{arrayOfNumbers[i]} ");
4136
}
4237
}
4338
}

Homework1/Sort/Sort/Sort.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
<PropertyGroup>
44
<OutputType>Exe</OutputType>
5-
<TargetFramework>net5.0</TargetFramework>
5+
<TargetFramework>net6.0</TargetFramework>
66
</PropertyGroup>
77

88
</Project>
Lines changed: 35 additions & 54 deletions
Original file line numberDiff line numberDiff line change
@@ -1,70 +1,51 @@
11
using Microsoft.VisualStudio.TestTools.UnitTesting;
22
using Sort;
33
using System;
4+
namespace SortTest;
45

5-
namespace SortTest
6+
[TestClass]
7+
public class BubbleSortTest
68
{
7-
[TestClass]
8-
public class BubbleSortTest
9+
private static void CheckSort(int[] arrayOfNumbers)
910
{
10-
[TestMethod]
11-
public void CheckSortArrayofEqualNumbers()
11+
BubbleSort.BubbleSortArray(arrayOfNumbers);
12+
for (int i = 1; i < arrayOfNumbers.Length; i++)
1213
{
13-
int[] arrayOfNumbers = new int[100];
14-
for (int i = 1; i < arrayOfNumbers.Length; i++)
14+
if (arrayOfNumbers[i] < arrayOfNumbers[i - 1])
1515
{
16-
arrayOfNumbers[i] = 12;
16+
Assert.Fail();
1717
}
18-
BubbleSort array = new BubbleSort();
19-
array.BubbleSortArray(arrayOfNumbers);
20-
int flag = 1;
21-
for (int i = 1; i < arrayOfNumbers.Length; i++)
22-
{
23-
if(arrayOfNumbers[i] < arrayOfNumbers[i - 1])
24-
{
25-
flag = 0;
26-
break;
27-
}
28-
}
29-
Assert.AreEqual(flag, 1);
3018
}
31-
[TestMethod]
32-
public void CheckSortOfSortedArray()
19+
}
20+
21+
[TestMethod]
22+
public void CheckSortArrayOfEqualNumbers()
23+
{
24+
int[] arrayOfNumbers = new int[100];
25+
for (int i = 1; i < arrayOfNumbers.Length; i++)
3326
{
34-
int[] arrayOfNumbers = new int[100];
35-
for (int i = 1; i < arrayOfNumbers.Length; i++)
36-
{
37-
arrayOfNumbers[i] = i;
38-
}
39-
BubbleSort array = new BubbleSort();
40-
array.BubbleSortArray(arrayOfNumbers);
41-
int flag = 1;
42-
for (int i = 1; i < arrayOfNumbers.Length; i++)
43-
{
44-
if (arrayOfNumbers[i] < arrayOfNumbers[i - 1])
45-
{
46-
flag = 0;
47-
break;
48-
}
49-
}
50-
Assert.AreEqual(flag, 1);
27+
arrayOfNumbers[i] = 12;
5128
}
52-
[TestMethod]
53-
public void CheckSortOfEmptyArray()
29+
BubbleSort.BubbleSortArray(arrayOfNumbers);
30+
CheckSort(arrayOfNumbers);
31+
}
32+
33+
[TestMethod]
34+
public void CheckSortOfSortedArray()
35+
{
36+
int[] arrayOfNumbers = new int[100];
37+
for (int i = 1; i < arrayOfNumbers.Length; i++)
5438
{
55-
int[] arrayOfNumbers = Array.Empty<int>();
56-
BubbleSort array = new BubbleSort();
57-
array.BubbleSortArray(arrayOfNumbers);
58-
int flag = 1;
59-
for (int i = 1; i < arrayOfNumbers.Length; i++)
60-
{
61-
if (arrayOfNumbers[i] < arrayOfNumbers[i - 1])
62-
{
63-
flag = 0;
64-
break;
65-
}
66-
}
67-
Assert.AreEqual(flag, 1);
39+
arrayOfNumbers[i] = i;
6840
}
41+
CheckSort(arrayOfNumbers);
42+
}
43+
44+
[TestMethod]
45+
public void CheckSortOfEmptyArray()
46+
{
47+
int[] arrayOfNumbers = Array.Empty<int>();
48+
CheckSort(arrayOfNumbers);
6949
}
7050
}
51+

Homework1/Sort/SortTest/SortTest.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<Project Sdk="Microsoft.NET.Sdk">
22

33
<PropertyGroup>
4-
<TargetFramework>net5.0</TargetFramework>
4+
<TargetFramework>net6.0</TargetFramework>
55

66
<IsPackable>false</IsPackable>
77
</PropertyGroup>

0 commit comments

Comments
 (0)