Тогда можно попробовать. Пойдем от простого к сложному. Каким образом?
для начала этот метод подменяет геттер. это никуда не годится. далее. метод меняет поток с компаниями. надо сделать чтобы companies был результирующим потоком из входных компаний, и потока selected Что-то вроде selectedCompanies = combineLatest(companies, selected).pipe(combineFunction)
что касается тестирования потоков, то не обязательно marbles, зачастую просто достаточно сформировать входные потоки, подписаться на результат и проверить что получили. Тем более что всякие комбинации еще и синхронно сработают.
для начала этот метод подменяет геттер. это никуда не годится. далее. метод меняет поток с компаниями. надо сделать чтобы companies был результирующим потоком из входных компаний, и потока selected Что-то вроде selectedCompanies = combineLatest(companies, selected).pipe(combineFunction)
Не очень понял про подмену геттера. Каким образом он геттер подменяет?
для начала этот метод подменяет геттер. это никуда не годится. далее. метод меняет поток с компаниями. надо сделать чтобы companies был результирующим потоком из входных компаний, и потока selected Что-то вроде selectedCompanies = combineLatest(companies, selected).pipe(combineFunction)
И я не очень понял про companies. Я подписываюсь на selected$ и unselected$. Будет удобнее, если я сброшу ссылку на stackblitz?