Skip to content
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

Зиновьева Милана @xsitin #24

Open
wants to merge 3 commits into
base: master
Choose a base branch
from

Conversation

crycrash
Copy link

@crycrash crycrash commented Nov 5, 2024

No description provided.

actualTsar.Should().BeEquivalentTo(expectedTsar, options => options
.IncludingNestedObjects()
.Excluding(p => p.Id)
.Excluding(p => p.Parent.Id));
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

А что если наследников станет сильно больше? Посмотри перегрузки метода Exclude

@@ -36,6 +34,10 @@ public void CheckCurrentTsar_WithCustomEquality()

// Какие недостатки у такого подхода?
ClassicAssert.True(AreEqual(actualTsar, expectedTsar));

//-При появлении новых полей придется переписывать тест
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Есть ещё

//Тесты для проверки корректности инициализации

NumberValidator numberForCheck = new NumberValidator(4, 2, true);
numberForCheck.IsValidNumber("").Should().BeFalse();
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Добавь больше кейсов на невалидные случаи. Так же добавь кейсы для не арабских цифр, например цифр телугу

numberForCheck.IsValidNumber(null).Should().BeFalse(because: "Ввод пуст");

numberForCheck.IsValidNumber("a.sd").Should().BeFalse(because: "Используются не арабские цифры");
numberForCheck.IsValidNumber("సున్న.నాలుగు").Should().BeFalse(because: "Используются не арабские цифры");
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Это словва, а не числа, для телугу можно посмотреть табличку тут, числа то, что в скобках. Можно поискать ещё различные варианты

@@ -16,8 +16,7 @@ public void CheckCurrentTsar()
new Person("Vasili III of Russia", 28, 170, 60, null));
actualTsar.Should().BeEquivalentTo(expectedTsar, options => options
.IncludingNestedObjects()
.Excluding(p => p.Id)
.Excluding(p => p.Parent.Id));
.Excluding(p => p.Path.Contains("Id")));
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

При такой проверке, будут игнорироваться все поля в пути которых есть Id. Так мы можем пропустить что-то важно, если в классе появяться новые поля

ClassicAssert.AreEqual(expectedTsar.Parent.Parent, actualTsar.Parent.Parent);
actualTsar.Should().BeEquivalentTo(expectedTsar, options => options
.IncludingNestedObjects()
.Excluding(p => p.Name.Equals(nameof(Person.Id)) && p.DeclaringType == typeof(Person)));
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

В лямбдах тоже лучше давать понятные имена относящиеся к обьекту. Возможно, ты назвала в сокращении от Person, но аргумент MemberInfo

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants