public void RemoveWithOutDateTest() { var city1 = new City("Moscow"); City.AllCities.Add(city1); var client1 = new Client("Ivanov", "Ivan", 9271112233, city1, "Vernadskogo, 23"); Client.AllClients.Add(client1); var measLimit1 = new MeasurementLimit(8, 20, 2, city1); MeasurementLimit.AllMeasurementLimits.Add(measLimit1); var meas = new MeasurementViewModel(); meas.SelectedClient = meas.Clients.FirstOrDefault(c => c.Id == client1.Id); meas.SelectedLimit = meas.Limits.FirstOrDefault(l => l.Id == measLimit1.Id); meas.Add(); meas.SelectedMeasureWithoutDate = meas.MeasurementsWithoutDate.FirstOrDefault(); meas.RemoveWithOutDate(meas.SelectedMeasureWithoutDate); bool isRemoved = !meas.MeasurementsWithoutDate.Any() && !meas.MeasurementsWithDate.Any(); ClearData(); Assert.IsTrue(isRemoved); }
public void AddTest() { var city = new City("Moscow"); City.AllCities.Add(city); var meas = new MeasurementViewModel(); var client = new Client("Ivanov", "Ivan", 9271112233, city, "Vernadskogo, 23"); var measLimit = new MeasurementLimit(8, 20, 2, city); meas.Clients.Add(client); meas.Limits.Add(measLimit); meas.SelectedClient = meas.Clients.FirstOrDefault(c => c.Id == client.Id); meas.SelectedLimit = meas.Limits.FirstOrDefault(l => l.Id == measLimit.Id); meas.Add(); bool isMeasSave = meas.MeasurementsWithoutDate.FirstOrDefault(m => m.Client.Id == client.Id) != null; ClearData(); Assert.IsTrue(isMeasSave); }
public void IsSelectedMeasurementTest() { var city1 = new City("Moscow"); City.AllCities.Add(city1); var client1 = new Client("Ivanov", "Ivan", 9271112233, city1, "Vernadskogo, 23"); Client.AllClients.Add(client1); var measLimit1 = new MeasurementLimit(8, 20, 2, city1); MeasurementLimit.AllMeasurementLimits.Add(measLimit1); var meas = new MeasurementViewModel(); meas.SelectedClient = meas.Clients.FirstOrDefault(c => c.Id == client1.Id); meas.SelectedLimit = meas.Limits.FirstOrDefault(l => l.Id == measLimit1.Id); meas.Add(); meas.SelectedDate = DateTime.Today; meas.SelectedMeasureWithoutDate = meas.MeasurementsWithoutDate.FirstOrDefault(); meas.SetDate(); meas.SelectedMeasureWithDate = null; meas.SelectedMeasureWithDate = meas.MeasurementsWithDate.FirstOrDefault(); bool selected = meas.SelectedMeasureWithDate != null; ClearData(); Assert.IsTrue(selected); }
public void Remove(MeasurementLimit limit) { MeasurementLimits.Remove(limit); MeasurementLimit.AllMeasurementLimits.Remove(limit); SelectedItem = null; }
public void Add() { GetError("BeginHour", "EndHour", "Limit", "City"); if (Errors.Count < 1) { var limit = new MeasurementLimit(BeginHour, EndHour, Limit, City); MeasurementLimit.AllMeasurementLimits.Insert(0, limit); MeasurementLimits.Clear(); foreach (var c in MeasurementLimit.AllMeasurementLimits) { MeasurementLimits.Add(c); } SelectedItem = limit; } else { StringBuilder sb = new StringBuilder(); foreach (var k in Errors.Keys) { sb.Append($"Ошибка в поле {k}: {Errors[k]};"); } Errors.Clear(); MessageBox.Show(sb.ToString()); } }
public void FindTest() { var city1 = new City("Moscow"); var city2 = new City("NewYork"); City.AllCities.Add(city1); City.AllCities.Add(city2); var client1 = new Client("Ivanov", "Ivan", 9271112233, city1, "Vernadskogo, 23"); var client2 = new Client("Shevelev", "Alex", 9271112234, city1, "Vernadskogo, 24"); var client3 = new Client("Petrov", "Petr", 9271112235, city2, "Vernadskogo, 25"); Client.AllClients.Add(client1); Client.AllClients.Add(client2); Client.AllClients.Add(client3); var measLimit1 = new MeasurementLimit(8, 20, 2, city1); var measLimit2 = new MeasurementLimit(8, 20, 2, city2); MeasurementLimit.AllMeasurementLimits.Add(measLimit1); MeasurementLimit.AllMeasurementLimits.Add(measLimit2); var meas = new MeasurementViewModel(); meas.CityForFind = city1; meas.LastName = ""; meas.Find(); bool isFindedTwoClientsOneLimit = meas.Clients.Count() == 2 && meas.Limits.Count() == 1; meas.LastName = "Ivan"; meas.Find(); bool isFindedOneClientOneLimit = meas.Clients.Count() == 1 && meas.Limits.Count() == 1; meas.CityForFind = meas.AllCity; meas.LastName = ""; meas.Find(); bool isFindedThreeClientTwoLimit = meas.Clients.Count() == 3 && meas.Limits.Count() == 2; ClearData(); Assert.IsTrue(isFindedTwoClientsOneLimit && isFindedOneClientOneLimit && isFindedThreeClientTwoLimit); }
public void SetDateForMeasurementTest() { var city1 = new City("Moscow"); City.AllCities.Add(city1); var client1 = new Client("Ivanov", "Ivan", 9271112233, city1, "Vernadskogo, 23"); var client2 = new Client("Petrov", "Petr", 9271112232, city1, "Vernadskogo, 24"); var client3 = new Client("Alexandrov", "Alex", 9271112231, city1, "Vernadskogo, 25"); var client4 = new Client("Shevelev", "Turk", 9271112230, city1, "Vernadskogo, 26"); Client.AllClients.Add(client1); Client.AllClients.Add(client2); Client.AllClients.Add(client3); Client.AllClients.Add(client4); //три лимита на данный период var measLimit1 = new MeasurementLimit(8, 20, 3, city1); MeasurementLimit.AllMeasurementLimits.Add(measLimit1); //устанавливаю заявки на замеры в городе var meas1 = new Measurement(measLimit1, client1, null); var meas2 = new Measurement(measLimit1, client2, null); var meas3 = new Measurement(measLimit1, client3, null); var meas4 = new Measurement(measLimit1, client4, null); Measurement.AllMeasurements.Add(meas1); Measurement.AllMeasurements.Add(meas2); Measurement.AllMeasurements.Add(meas3); Measurement.AllMeasurements.Add(meas4); //устанавливаю даты на замер bool isGoodInstance1 = meas1.SetDateForMeasurement(DateTime.Today, false); bool isGoodInstance2 = meas2.SetDateForMeasurement(DateTime.Today, false); bool isGoodInstance3 = meas3.SetDateForMeasurement(DateTime.Today, false); //лимиты исчерпаны на данную дату в данном городе - следующая установка даты не пройдет bool isBadInstance1 = !meas4.SetDateForMeasurement(DateTime.Today, false); ClearData(); Assert.IsTrue(isGoodInstance1 && isGoodInstance2 && isGoodInstance3 && isBadInstance1); }
public void SetDateTest() { var city1 = new City("Moscow"); City.AllCities.Add(city1); var client1 = new Client("Ivanov", "Ivan", 9271112233, city1, "Vernadskogo, 23"); Client.AllClients.Add(client1); var measLimit1 = new MeasurementLimit(8, 20, 2, city1); MeasurementLimit.AllMeasurementLimits.Add(measLimit1); var meas = new MeasurementViewModel(); meas.SelectedClient = meas.Clients.FirstOrDefault(c => c.Id == client1.Id); meas.SelectedLimit = meas.Limits.FirstOrDefault(l => l.Id == measLimit1.Id); meas.Add(); bool isNoDate = meas.MeasurementsWithoutDate .FirstOrDefault(m => m.Client.Id == client1.Id && (m.MeasurementDate == null || m.MeasurementDate == DateTime.MinValue)) != null && !meas.MeasurementsWithDate.Any(); var date = DateTime.Today; meas.SelectedDate = date; meas.SelectedMeasureWithoutDate = meas.MeasurementsWithoutDate.FirstOrDefault(); meas.SetDate(); bool isYesDate = meas.MeasurementsWithDate .FirstOrDefault(m => m.Client.Id == client1.Id && m.MeasurementDate == date) != null && !meas.MeasurementsWithoutDate.Any(); ClearData(); Assert.IsTrue(isNoDate && isYesDate); }
public void SetDateWithLimitsTest() { var city1 = new City("Moscow"); City.AllCities.Add(city1); var client1 = new Client("Ivanov", "Ivan", 9271112233, city1, "Vernadskogo, 23"); var client2 = new Client("Petrov", "Petr", 9271112232, city1, "Vernadskogo, 24"); var client3 = new Client("Alexandrov", "Alex", 9271112231, city1, "Vernadskogo, 25"); var client4 = new Client("Shevelev", "Turk", 9271112230, city1, "Vernadskogo, 26"); Client.AllClients.Add(client1); Client.AllClients.Add(client2); Client.AllClients.Add(client3); Client.AllClients.Add(client4); //три лимита на данный период var measLimit1 = new MeasurementLimit(8, 20, 3, city1); MeasurementLimit.AllMeasurementLimits.Add(measLimit1); //устанавливаю заявки на замеры в городе var meas1 = new Measurement(measLimit1, client1, null); var meas2 = new Measurement(measLimit1, client2, null); var meas3 = new Measurement(measLimit1, client3, null); var meas4 = new Measurement(measLimit1, client4, null); Measurement.AllMeasurements.Add(meas1); Measurement.AllMeasurements.Add(meas2); Measurement.AllMeasurements.Add(meas3); Measurement.AllMeasurements.Add(meas4); var meas = new MeasurementViewModel(); //при инициализации должно быть 4 записи в нераспределенных заказах bool isFourMeasurementWithoutDates = meas.MeasurementsWithoutDate.Count() == 4; var date = DateTime.Today; meas.SelectedDate = date; //устанавливаю дату для первой заявки meas.SelectedMeasureWithoutDate = meas.MeasurementsWithoutDate.FirstOrDefault(m => m.Id == meas1.Id); meas.SetDate(false); //устанавливаю дату для второй заявки meas.SelectedMeasureWithoutDate = meas.MeasurementsWithoutDate.FirstOrDefault(m => m.Id == meas2.Id); meas.SetDate(false); //устанавливаю дату для третьей заявки meas.SelectedMeasureWithoutDate = meas.MeasurementsWithoutDate.FirstOrDefault(m => m.Id == meas3.Id); meas.SetDate(false); bool isThreeMeasurementWithDatesOneWithout1 = meas.MeasurementsWithoutDate.Count() == 1 && meas.MeasurementsWithDate.Count() == 3; //устанавливаю дату для третьей заявки meas.SelectedMeasureWithoutDate = meas.MeasurementsWithoutDate.FirstOrDefault(m => m.Id == meas4.Id); meas.SetDate(false); bool isThreeMeasurementWithDatesOneWithout2 = meas.MeasurementsWithoutDate.Count() == 1 && meas.MeasurementsWithDate.Count() == 3; ClearData(); Assert.IsTrue(isFourMeasurementWithoutDates && isThreeMeasurementWithDatesOneWithout1 && isThreeMeasurementWithDatesOneWithout2); }