public static LotStat?GetHoldLotStat(LotHoldType?hold, LotProductionStatus productionStatus) { switch (hold) { case LotHoldType.HoldForCustomer: return(LotStat.Completed_Hold); case LotHoldType.HoldForAdditionalTesting: return(productionStatus == LotProductionStatus.Produced ? LotStat._09Hold : LotStat.InProcess_Hold); case LotHoldType.HoldForTreatment: return(LotStat.TBT); default: return(null); } }
public static string GetDescription(this LotProductionStatus status) { switch (status) { case LotProductionStatus.Produced: return("Produced"); case LotProductionStatus.Batched: return("Batched"); } throw new InvalidOperationException("The GetDescription method does not support the LotProductionStatus \"{0}\"."); }
public void Returns_PickedInventoryItems_with_Lot_status_properties_as_expected_on_success() { //Arrange StartStopwatch(); const LotQualityStatus lotStatus0 = LotQualityStatus.Contaminated; const bool onHold0 = false; const LotProductionStatus productionStatus0 = LotProductionStatus.Batched; const LotQualityStatus lotStatus1 = LotQualityStatus.Pending; const bool onHold1 = true; const LotProductionStatus status1 = LotProductionStatus.Produced; var lotKey0 = new LotKey(TestHelper.CreateObjectGraphAndInsertIntoDatabase <Lot>(l => l.EmptyLot(), l => l.QualityStatus = lotStatus0, l => l.ProductionStatus = productionStatus0, l => l.Hold = null)); var lotKey1 = new LotKey(TestHelper.CreateObjectGraphAndInsertIntoDatabase <Lot>(l => l.EmptyLot(), l => l.QualityStatus = lotStatus1, l => l.ProductionStatus = status1, l => l.Hold = LotHoldType.HoldForAdditionalTesting)); var parentRecord = CreateParentRecord(); var pickedInventory = GetPickedInventoryRecordFromParent(parentRecord); var pickedKey0 = new PickedInventoryItemKey(TestHelper.CreateObjectGraphAndInsertIntoDatabase <PickedInventoryItem>(i => i.ConstrainByKeys(pickedInventory, lotKey0))); var pickedKey1 = new PickedInventoryItemKey(TestHelper.CreateObjectGraphAndInsertIntoDatabase <PickedInventoryItem>(i => i.ConstrainByKeys(pickedInventory, lotKey1))); StopWatchAndWriteTime("Arrange"); //Act var result = TimedExecution(() => MethodUnderTest(parentRecord)); //Assert result.AssertSuccess(); var items = GetPickedInventoryItemsFromResult(result.ResultingObject); var inventory = items.Single(r => r.PickedInventoryItemKey == pickedKey0.KeyValue); Assert.AreEqual(lotStatus0, inventory.QualityStatus); Assert.AreEqual(onHold0, inventory.HoldType != null); Assert.AreEqual(productionStatus0, inventory.ProductionStatus); inventory = items.Single(r => r.PickedInventoryItemKey == pickedKey1.KeyValue); Assert.AreEqual(lotStatus1, inventory.QualityStatus); Assert.AreEqual(onHold1, inventory.HoldType != null); Assert.AreEqual(status1, inventory.ProductionStatus); }
public void CreatesFilterLotParameterObjectCorrectly() { // Arrange const LotTypeEnum expectedLotType = LotTypeEnum.GRP; const LotProductionStatus expectedStatus = LotProductionStatus.Produced; FilterLotParameters actualParameters = null; MockLotService .Setup(m => m.GetLotSummaries(It.IsAny <FilterLotParameters>())) .Callback((FilterLotParameters param) => actualParameters = param) .Returns(new SuccessResult <ILotQualitySummariesReturn>(Fixture.Create <ILotQualitySummariesReturn>())); // Act LotsControler.Get(expectedLotType, expectedStatus); // Assert Assert.IsNotNull(actualParameters); Assert.AreEqual(expectedLotType, actualParameters.LotType); Assert.AreEqual(expectedStatus, actualParameters.ProductionStatus); }
internal static Expression <Func <Lot, bool> > FilterByProductionStatus(LotProductionStatus productionStatus) { return(l => l.ProductionStatus == productionStatus); }