private static (Item originalItem, Item expectedItem, Item itemToPut) CreateOriginalExpectedAndItemToPut()
        {
            const string lastUpdateTime = "2018-12-24";
            const string id             = "00000000-0000-0000-0000-000000000005";
            var          originalItem   = ItemsCreator.CreateItem(id: id, text: "text");
            var          itemToPut      = ItemsCreator.CreateItem(id, "new text");
            var          expectedItem   = ItemsCreator.CreateItem(id, itemToPut.Text, lastUpdateTime: lastUpdateTime);

            return(originalItem, expectedItem, itemToPut);
        }
        private static (Item item, RetrievedItem <Item> retrievedItem) GetExpectedItem()
        {
            const string creationTime = "2000-12-20";
            var          expectedItem = ItemsCreator.CreateItemAndRetrievedItem(
                id: "00000000-0000-0000-0000-000000000006",
                text: "text",
                creationTime: creationTime,
                lastUpdateTime: creationTime);

            return(expectedItem);
        }
        public async Task UpdateItemAsync_WithItemNotFromDb_ReturnsRetrievedItemEmpty()
        {
            var item = ItemsCreator
                       .CreateItem(id: "00000000-0000-0000-0000-000000000007", text: "different text");

            _getItemService.GetItemAsync(item.Id).Returns(Task.FromResult(RetrievedItem <Item> .Empty));

            var result = await _updateItemService.UpdateItemAsync(item);

            Assert.That(result, Is.EqualTo(RetrievedItem <Item> .Empty));
        }
        public async Task CreateItemAsync_WithValidItem_ReturnsItemWithIdAndCreationAndLastUpdate()
        {
            var expectedItem = GetExpectedItem();

            ArrangeTestAccordingToItem(expectedItem);
            var postItem = ItemsCreator.CreateItem(text: "text");

            var result = await _createItemService.CreateItemAsync(postItem);

            Assert.That(result, Is.EqualTo(expectedItem).UsingItemComparer());
        }
        private static Item GetExpectedItem()
        {
            const string creationTime = "1999-9-9";
            var          expectedItem = ItemsCreator.CreateItem(
                id: "00000000-0000-0000-0000-000000000006",
                text: "text",
                creationTime: creationTime,
                lastUpdateTime: creationTime
                );

            return(expectedItem);
        }
        private static (RetrievedItem <Item> expectedItem, Item itemForUpdate) GetExpectedItemAndItemForUpdate()
        {
            const string lastUpdateTime = "2018-10-17";
            const string id             = "00000000-0000-0000-0000-000000000006";
            const string text           = "text";

            var itemForUpdate = ItemsCreator.CreateItem(id: id, text: text);

            var expectedItem = ItemsCreator
                               .CreateItemAndRetrievedItem(id: id, text: text, lastUpdateTime: lastUpdateTime)
                               .retrievedItem;

            return(expectedItem, itemForUpdate);
        }
Exemplo n.º 7
0
        internal AdditionalCalculator(ItemsCreator temperatureCreator, ItemsCreator pressureCreator, ItemsCreator densityCreator, ItemsCreator capacityCreator, ItemsCreator contentCreator, ItemsCreator singleTagCreator)
        {
            this.temperatureCreator = temperatureCreator as TemperatureCreator;
            this.pressureCreator    = pressureCreator as PressureCreator;
            this.densityCreator     = densityCreator as DensityCreator;
            this.capacityCreator    = capacityCreator as CapacityCreator;
            this.contentCreator     = contentCreator as ContentCreator;
            this.singleTagCreator   = singleTagCreator as SingleTagCreator;

            //Инициализируем расчет по расходу пропилена
            isInitPropyleneSuccess = InitalizePropyleneCalculations();
            isInitDeltaPSuccess    = InitalizeDeltaPCalculations();
            InitalizePOPCalculations_T03_T06();
            InitalizePOPCalculations_S13_P03();
            InitalizePOPCalculations_T06_D08();
        }
Exemplo n.º 8
0
        public CalcController(ControllerParameters controllerParameters)
        {
            this.controllerRole = controllerParameters.ControllerRole;
            timer = new Stopwatch();
            Uri url = UrlBuilder.Build(controllerParameters.OpcServerName);

            opcServer            = new OpcDaServer(url);
            opcClient            = new OpcClient(opcServer, controllerParameters.OpcServerSubstring);
            SingleTagsNamesForRW = controllerParameters.SingleTagNamesForRW;

            this.controllerParameters = controllerParameters;

            //Определение creator'ов для переменных

            //0.0. Single Tag for reading/writing to OPC
            singleTagCreator = new SingleTagCreator(opcClient, SingleTagsNamesForRW);
            //1.0. TemperatureCreator
            temperatureCreator = new TemperatureCreator(opcClient);
            //2.0. PressureCreator
            pressureCreator = new PressureCreator(opcClient);

            //
            levelCreator = new LevelCreator(opcClient);
            //3.0. CapacityCreator
            capacityCreator = new CapacityCreator(opcClient, singleTagCreator);
            //4.0. DensityCreator
            densityCreator = new DensityCreator(opcClient, singleTagCreator);
            //5.0. ContentCreator
            contentCreator = new ContentCreator(opcClient, singleTagCreator);
            //6.0. ContentCreator
            levelTankCreator = new LevelTankCreator(opcClient, singleTagCreator);



            //parameterClaculatedSucceedEvent += (o, ea) => CheckForItemInPlcForWritingToPLC(o, (CustomEventArgs)ea);

            //Запускаем процесс проверки изменения тега в PLC для определения разрешения записи данному экземпляру программы в PLC
            //Процесс непрерывно раз в 3 периода поллинга проверяет активность тега PLC
            Task.Run(() => CheckForItemInPlcForWritingToPLC());
        }