def test_is_soft(stc):
    ctor = CScriptableCreator()
    project = CStcSystem.Instance().GetObject("project")
    port = ctor.Create("port", project)

    # one hard and one soft streamblock
    streamblocks = [ctor.Create("streamblock", port),
                    ctor.Create("streamblock", port)]
    streamblocks[1].Set("EnableHighSpeedResultAnalysis", False)

    # HARD_ONLY
    assert not tsc.is_soft('HARD_ONLY', streamblocks[0])
    assert not tsc.is_soft('HARD_ONLY', streamblocks[1])

    # if a port supports both it supports both
    assert not tsc.is_soft('SOFT_AND_HARD', streamblocks[0])
    assert tsc.is_soft('SOFT_AND_HARD', streamblocks[1])

    # virtual/STCA ports are soft only
    assert tsc.is_soft('SOFT_ONLY', streamblocks[0])
    assert tsc.is_soft('SOFT_ONLY', streamblocks[1])