![]() |
|
Модераторы: Partizan, gambit |
![]()
|
|
| karabickay |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 22.1.2014 Репутация: нет Всего: нет |
Подключить к консольному приложению созданную библиотеку классов.
Разместить в консольном приложении код, позволяющий осуществить тестирование класса из созданной библиотеки классов Как сделать? Код я написала. using System; class program { static void Main() { Triangle tr1 = new Triangle(new Point(0, 0), new Point(0, 3), new Point(3, 0)), tr2 = new Triangle(new Point(0, 0), new Point(0, 3), new Point(10, 1)); Console.WriteLine("Треугольник 1: {0}, P = {1}, S = {2}, Прямоугольный = {3}", tr1, tr1.P(), tr1.S(), tr1.IsRightAngled()); Console.WriteLine("Треугольник 2: {0}, P = {1}, S = {2}, Прямоугольный = {3}", tr2, tr2.P(), tr2.S(), tr2.IsRightAngled()); switch (tr1.CompareTo(tr2)) { case 1: Console.WriteLine("Треугольник 1 больше"); break; case -1: Console.WriteLine("Треугольник 2 больше"); break; case 0: Console.WriteLine("Треугольники равны"); break; } Console.WriteLine("Типы треугольников {0}", tr1.Equals(tr2) ? "совпадают" : "различны"); Console.Read(); } struct Point : IEquatable<Point> { int x, y; public int X { get { return x; } } public int Y { get { return y; } } public Point(int x, int y) { this.x = x; this.y = y; } public bool Equals(Point other) { return this.x == other.x && this.y == other.y; } public static double Length(Point a, Point b) { return Math.Sqrt(Math.Pow(b.x - a.x, 2) + Math.Pow(b.y - a.y, 2)); } public override string ToString() { return string.Format("(x:{0}, y:{1})", this.x, this.y); } } class Triangle : IComparable<Triangle>, IEquatable<Triangle> { Point A, B, C; public Triangle(Point a, Point b, Point c) { if (a.Equals(b) || a.Equals© || b.Equals©) throw new ArgumentException("Это не треугольник"); this.A = a; this.B = b; this.C = c; } public Triangle(Triangle triangle) : this(triangle.A, triangle.B, triangle.C) { } public double S() { return 0.5 * Math.Abs(((A.X - C.X) * (B.Y - C.Y) - (B.X - C.X) * (A.Y - C.Y))); } public double P() { return Point.Length(this.A, this.B) + Point.Length(this.A, this.C) + Point.Length(this.B, this.C); } public bool IsRightAngled() { return (this.B.X - this.A.X) * (this.C.X - this.A.X) + (this.B.Y - this.A.Y) * (this.C.Y - this.A.Y) == 0 || (this.A.X - this.B.X) * (this.C.X - this.B.X) + (this.A.Y - this.B.Y) * (this.C.Y - this.B.Y) == 0 || (this.B.X - this.C.X) * (this.A.X - this.C.X) + (this.B.Y - this.C.Y) * (this.A.Y - this.C.Y) == 0; } public int CompareTo(Triangle other) { return this.S().CompareTo(other.S()); } public bool Equals(Triangle other) { return this.IsRightAngled() == other.IsRightAngled(); } public override string ToString() { return string.Format("A:{0}, B:{1}, C:{2}", this.A, this.B, this.C); } } } |
|||
|
||||
| Certain |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 235 Регистрация: 18.6.2008 Где: Moscow Репутация: 1 Всего: 4 |
Перечитал раза 3 шапку сообщения и не могу понять в чем вопрос.
Что именно не получается? Подключить библиотеку к консольному проекту? Выделить классы в отдельную библиотеку? --------------------
Работа программиста и шамана имеет много общего - оба боpмочyт непонятные слова, совершают непонятные действия и не могут объяснить, как оно работает. |
|||
|
||||
| karabickay |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 22.1.2014 Репутация: нет Всего: нет |
Разместить в консольном приложении код тестирующий работу библиотеки
|
|||
|
||||
| dzaraev |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 149 Регистрация: 12.1.2013 Репутация: нет Всего: 1 |
Студентка хочет, чтобы за неё сделали лабу, что тут непонятного? karabickay, Создавайте новый проект (консольное приложение), подключайте к ней библиотеку с вашим кодом (который вы выложили в топике) и пишите программу, которая будет тестировать ваш код. Можете начать с простых unit-тестов, протестировать ваши классы Triangle и Point. Чтобы научиться составлять тесты - поможет гугл и форум типа такого: http://software-testing.ru/forum/index.php...7-testirovanie/ Сам код писать вы умете. Могу еще посоветовать фреймворки для юнит-тестирования в .NET: это конечно же NUnit или стандартный майкрософтский MSTest. Хотя скорее всего от вас просто требуется набросать простой тестирующий код безо всяких фреймворков. Просто определитесь - как должен работать класс Triangle например, и в консольном приложении напишите код, который будет вызывать его методы и проверять - адекватно ли класс реагирует на входные данные (параметры методов) - правильное ли у него после вызова метода состояние, правильный ли (ожидаемый) результат возвращает метод и т.д. и т.п. Грубо говоря это и есть юнит-тест или модульное тестирование. Это сообщение отредактировал(а) dzaraev - 23.1.2014, 10:19 --------------------
Если вопрос решён - помечайте тему. |
|||
|
||||
![]()
|
| Прежде чем создать тему, посмотрите сюда: | |
|
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :) Так же не забывайте отмечать свой вопрос решенным, если он таковым является :) Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |