public void It_Should_Be_Possible_To_Connect_An_Athlete_To_A_Startnumber() { Given("we have an athlete and a startnumber registrert", () => { athlete.ConnectToRace(race.RaceId); timer = CreateNewTimerModelWithCheckpoints(race); checkpointOrder = new CheckpointOrderModel(); checkpointOrder.AddCheckpointOrderDB(timer.CurrentCheckpointId, 1); timer.Start(); timer.AddRuntime(400, timer.GetFirstCheckpointId()); intermediate = new RaceIntermediateModel(timer.CurrentCheckpointId, checkpointOrder.ID, timer.CheckpointRuntimes[timer.CurrentCheckpointId].First().Key); intermediate.Save(); }); When("we want to connect athletes to startnumbers", () => { RaceIntermediateModel.MergeAthletes(race.RaceId); }); Then("athletes should be connected to raceintermediate", () => { RaceIntermediateModel.GetRaceintermediatesForRace(race.RaceId).First().AthleteId.ShouldNotBeNull(); }); }
public void Get_Next_OrderNumber_In_Ascending_Order_After_Inserting_StartNumber() { CheckpointOrderModel testCheckpointOrder = null; int ordernum1 = 0, ordernum2 = 0; int checkpointId = 1; Entities context = new Entities(); Given("We have a CheckpointOrder", () => { testCheckpointOrder = new CheckpointOrderModel(); }); When("We insert start number", () => { testCheckpointOrder.AddCheckpointOrderDB(checkpointId, 2); ordernum1 = (int)(context.CheckpointOrders.OrderByDescending(ordnum => ordnum.OrderNumber).First().OrderNumber); }); Then("We should have next order number in ascending order in database", () => { testCheckpointOrder.AddCheckpointOrderDB(checkpointId, 3); ordernum2 = (int)(context.CheckpointOrders.OrderByDescending(ordnum => ordnum.OrderNumber).First().OrderNumber); ordernum2.ShouldBe(ordernum1 + 1); }); }
public void TestSetup() { timeMerger = new TimeMergerModel(); timer = new TimerModel(); checkpoint1 = new CheckpointModel("Checkpoint1", timer, 1); checkpoint2 = new CheckpointModel("Checkpoint2", timer, 2); timer.CurrentCheckpointId = timer.GetFirstCheckpointId(); timer.CheckpointRuntimes.Add(timer.CurrentCheckpointId, new Dictionary<int, int>()); checkpointOrderModel = new CheckpointOrderModel(); }
public static CheckpointOrderModel GetCheckpointOrderById(int id) { using (var ctx = new Entities()) { var checkpointOrder = ctx.CheckpointOrders.Single(chkpnt => chkpnt.ID == id); var checkpointModel = new CheckpointOrderModel() { ID = checkpointOrder.ID, CheckpointID = (int)checkpointOrder.CheckpointID, StartingNumber = (int)checkpointOrder.StartingNumber, OrderNumber = (int)checkpointOrder.OrderNumber }; return checkpointModel; } }
public void TestSetup() { club = new ClubModel("Test IK"); eventModel = new EventModel("TestEvent", DateTime.Today); eventModel.Save(); athlete = new AthleteModel("Tester", "Test"); athlete.StartNumber = 1; athlete.Club = club; athlete.SaveToDb(); race = new RaceModel("TestRace", DateTime.Today); race.EventId = eventModel.EventId; race.Save(); checkpointOrder = null; intermediate = null; checkpoint = null; }
public static CheckpointOrderModel Create(int checkpointId, int startingNumber, int orderNumber) { CheckpointOrderModel checkpointOrderModel = new CheckpointOrderModel(); using (var ctx = new Entities()) { CheckpointOrder checkpointOrder = new CheckpointOrder(); checkpointOrder.CheckpointID = checkpointId; checkpointOrder.StartingNumber = startingNumber; checkpointOrder.StartingNumber = (ctx.CheckpointOrders.OrderByDescending(chkpnt => chkpnt.CheckpointID).First().CheckpointID) + 1; ctx.CheckpointOrders.AddObject(checkpointOrder); ctx.SaveChanges(); checkpointOrder.ID = (int)ctx.CheckpointOrders.OrderByDescending(chkpnt => chkpnt.CheckpointID).First().CheckpointID; } return checkpointOrderModel; }
public void Get_Next_OrderNumber_In_Ascending_Order_After_Inserting_StartNumber() { CheckpointOrderModel testCheckpointOrder = null; int ordernum1 = 0, ordernum2 = 0; int checkpointId = 1; int startnum1 = 4, startnum2 = 5; Entities context = new Entities(); Given("We have a CheckpointOrder", () => { testCheckpointOrder = new CheckpointOrderModel(); }); When("We insert start number", () => { using (var ctxTest = new Entities()) { if (ctxTest.CheckpointOrders.Any(chkpnt => (chkpnt.StartingNumber == startnum1 && chkpnt.CheckpointID == checkpointId))) { var checkpointOrderToDelete = ctxTest.CheckpointOrders.Where(checkpointOrder => (checkpointOrder.StartingNumber == startnum1 && checkpointOrder.CheckpointID == checkpointId)).Single(); ctxTest.CheckpointOrders.DeleteObject(checkpointOrderToDelete); ctxTest.SaveChanges(); } } testCheckpointOrder.AddCheckpointOrderDB(checkpointId, startnum1); ordernum1 = (int)(context.CheckpointOrders.Where(chkpnt => chkpnt.CheckpointID == checkpointId).OrderByDescending(ordnum => ordnum.OrderNumber).First().OrderNumber); }); Then("We should have next order number in ascending order in database", () => { using (var ctxTest = new Entities()) { if (ctxTest.CheckpointOrders.Any(chkpnt => (chkpnt.StartingNumber == startnum2 && chkpnt.CheckpointID == checkpointId))) { var checkpointOrderToDelete = ctxTest.CheckpointOrders.Where(checkpointOrder => (checkpointOrder.StartingNumber == startnum2 && checkpointOrder.CheckpointID == checkpointId)).Single(); ctxTest.CheckpointOrders.DeleteObject(checkpointOrderToDelete); ctxTest.SaveChanges(); } } testCheckpointOrder.AddCheckpointOrderDB(checkpointId, startnum2); ordernum2 = (int)(context.CheckpointOrders.Where(chkpnt => chkpnt.CheckpointID == checkpointId).OrderByDescending(ordnum => ordnum.OrderNumber).First().OrderNumber); ordernum2.ShouldBe(ordernum1 + 1); }); }
/// <summary> /// Creates the new timer model with checkpoints. /// </summary> /// <returns></returns> private void Setup() { eventModel = new EventModel("Testevent", DateTime.Today); eventModel.Save(); race = new RaceModel("Testrace", DateTime.Today); race.EventId = eventModel.EventId; race.Save(); timer = new TimerModel(); timer.RaceID = race.RaceId; checkpoint = new CheckpointModel("Checkpoint1", timer, race, 1); checkpoint.SaveToDb(); checkpointorder = new CheckpointOrderModel(); checkpointorder.AddCheckpointOrderDB(checkpoint.Id, 12); checkpointorder.StartingNumber = 12; timer.CurrentCheckpointId = timer.GetFirstCheckpointId(); timer.CheckpointRuntimes.Add(timer.CurrentCheckpointId, new Dictionary<int, int>()); timer.SaveToDb(); timestart = new TimeStartnumberModel(timer); timestart.CheckpointOrder = checkpointorder; //timestart.AddStartnumber(checkpoint.Id, checkpointorder.StartingNumber, 500); }
// // GET: /CheckpointOrder/ public ActionResult Index(int raceId) { var checkpoint = new CheckpointOrderModel(); Session["checkpoint"] = checkpoint; ViewBag.RaceId = raceId; var race = RaceModel.GetById(raceId); ViewBag.RaceName = race.Name; ViewBag.Checkpoints = CheckpointModel.GetCheckpoints(raceId); return View(checkpoint); }
public void StartNumber_Should_Be_Added_In_Database() { CheckpointOrderModel testCheckpointOrder = null; int checkpointId = 1; int startingNumber = 4; Given("We have CheckpointOrder model ", () => { testCheckpointOrder = new CheckpointOrderModel(); }); When("We insert a new start number", () => { testCheckpointOrder.AddCheckpointOrderDB(checkpointId, startingNumber); }); Then("Start Number should be saved in database", () => { Entities contextDB = new Entities(); var startNum = contextDB.CheckpointOrders.Where (chkpntid => (chkpntid.CheckpointID == checkpointId && chkpntid.StartingNumber == startingNumber)). Select(startnum => startnum.StartingNumber); startNum.ShouldBe(startingNumber); }); }
public void TestSetup() { timeMerger = new TimeMergerModel(); timer = new TimerModel(); eventModel = new EventModel("TestEvent", DateTime.Today); eventModel.Save(); race = new RaceModel("SomeRace", new DateTime(2007, 10, 3)); race.EventId = eventModel.EventId; race.Save(); checkpoint1 = new CheckpointModel("Checkpoint1", timer, race, 1); checkpoint2 = new CheckpointModel("Checkpoint2", timer, race, 2); timer.CurrentCheckpointId = timer.GetFirstCheckpointId(); timer.CheckpointRuntimes.Add(timer.CurrentCheckpointId, new Dictionary<int, int>()); checkpointOrderModel = new CheckpointOrderModel(); }
public void StartNumber_Should_Be_Added_In_Database() { CheckpointOrderModel testCheckpointOrder = null; int checkpointId = 1; int startingNumber = 100; using (var ctxTest = new Entities()) { if (ctxTest.CheckpointOrders.Any(chkpnt => (chkpnt.StartingNumber == startingNumber && chkpnt.CheckpointID == checkpointId))) { var checkpointOrderToDelete = ctxTest.CheckpointOrders.Where(checkpointOrder => (checkpointOrder.StartingNumber == startingNumber && checkpointOrder.CheckpointID == checkpointId)).Single(); ctxTest.CheckpointOrders.DeleteObject(checkpointOrderToDelete); ctxTest.SaveChanges(); } } Given("We have CheckpointOrder model ", () => { testCheckpointOrder = new CheckpointOrderModel(); }); When("We insert a new start number", () => { testCheckpointOrder.AddCheckpointOrderDB(checkpointId, startingNumber); }); Then("Start Number should be saved in database", () => { //Entities contextDB = new Entities(); //var startNum = contextDB.CheckpointOrders.Where // (chkpntid => (chkpntid.CheckpointID == checkpointId && chkpntid.StartingNumber == startingNumber)). // Select(startnum => startnum.StartingNumber); //startNum.ShouldBe(startingNumber); Entities contextDB = new Entities(); int startNum = (int) (contextDB.CheckpointOrders. Where(chkpntid => (chkpntid.CheckpointID == checkpointId && chkpntid.StartingNumber == startingNumber)). Single().StartingNumber); startNum.ShouldBe(startingNumber); }); }
public ActionResult Index(int raceId) { var race = RaceModel.GetById(raceId); TimerModel timer; if (race.GetTimerId().HasValue) timer = TimerModel.GetTimerById(race.GetTimerId().Value); else { timer = new TimerModel(); timer.RaceID = raceId; } timer.SaveToDb(); TimeStartnumberModel timeStartnumberModel; timeStartnumberModel = new TimeStartnumberModel(timer); var checkpointOrder = new CheckpointOrderModel(); ViewBag.Checkpoints = CheckpointModel.GetCheckpoints(raceId); ViewBag.RaceId = raceId; ViewBag.RaceName = race.Name; timeStartnumberModel.ChangeCheckpoint(timer.GetFirstCheckpointId()); timeStartnumberModel.CheckpointOrder = checkpointOrder; Session["TimeStartnumber"] = timeStartnumberModel; return View("Index", timeStartnumberModel); }
public static CheckpointOrderModel GetById(int id) { CheckpointOrder checkpointOrder = new Entities().CheckpointOrders.Where(chkpnt => chkpnt.ID == id).SingleOrDefault(); var checkpointOrderModel = new CheckpointOrderModel() { CheckpointID = checkpointOrder.CheckpointID.HasValue ? checkpointOrder.CheckpointID.Value : 0, ID = checkpointOrder.ID, OrderNumber = checkpointOrder.OrderNumber.HasValue ? checkpointOrder.OrderNumber.Value : 0, StartingNumber = checkpointOrder.StartingNumber.HasValue ? checkpointOrder.StartingNumber.Value : 0, CheckpointOrderDic = new Dictionary<int, int>() }; return checkpointOrderModel; }