class TestSuite

class TestSuite

lib/unittest/test_suite.tya:2

TestSuite provides the unittest/TestSuite standard library API.

Source
# TestSuite provides the unittest/TestSuite standard library API.
class TestSuite
  # TestSuite.tests stores instance state.
  # @type Array
  tests: []

  # TestSuite.initialize provides the unittest/TestSuite standard library operation.
  # @return Self the initialized object.
  initialize: ->
    self.tests = []

  # TestSuite.add provides the unittest/TestSuite standard library operation.
  # @param test Any test value.
  # @return Any the resulting value.
  add: test ->
    self.tests.push(test)
    self

  # TestSuite.add_all provides the unittest/TestSuite standard library operation.
  # @param tests Any tests value.
  # @return Any the resulting value.
  add_all: tests ->
    for test in tests
      self.add(test)
    self

  # TestSuite.count provides the unittest/TestSuite standard library operation.
  # @return Int the resulting value.
  count: ->
    total = 0
    for test in self.tests
      is_suite = false
      try
        is_suite = test.class == TestSuite
      catch _
        is_suite = false
      if is_suite
        total = total + test.count()
      else
        total = total + self.test_methods_for(test).len()
    total

  # TestSuite.discover provides the unittest/TestSuite standard library operation.
  # @param cases Any cases value.
  # @return Any the resulting value.
  discover: cases ->
    found = TestSuite()
    for c in cases
      names = c.keys()
      for name in names
        value = c[name]
        methods = self.test_methods_for(value)
        if methods.len() > 0
          found.add(value)
    found

  # TestSuite.test_methods_for provides the unittest/TestSuite standard library operation.
  # @param test Any test value.
  # @return Any the resulting value.
  test_methods_for: test ->
    methods = []
    try
      methods = test.unittest_test_methods
    catch _
      methods = test.class.unittest_test_methods
    methods

Instance Variables

tests

TestSuite.tests

lib/unittest/test_suite.tya:5

TestSuite.tests stores instance state.

Source
  # TestSuite.tests stores instance state.
  # @type Array
  tests: []

Methods

add

TestSuite.add(test)

lib/unittest/test_suite.tya:15

TestSuite.add provides the unittest/TestSuite standard library operation.

Source
  # TestSuite.add provides the unittest/TestSuite standard library operation.
  # @param test Any test value.
  # @return Any the resulting value.
  add: test ->
    self.tests.push(test)
    self

add_all

TestSuite.add_all(tests)

lib/unittest/test_suite.tya:22

TestSuite.add_all provides the unittest/TestSuite standard library operation.

Source
  # TestSuite.add_all provides the unittest/TestSuite standard library operation.
  # @param tests Any tests value.
  # @return Any the resulting value.
  add_all: tests ->
    for test in tests
      self.add(test)
    self

count

TestSuite.count()

lib/unittest/test_suite.tya:29

TestSuite.count provides the unittest/TestSuite standard library operation.

Source
  # TestSuite.count provides the unittest/TestSuite standard library operation.
  # @return Int the resulting value.
  count: ->
    total = 0
    for test in self.tests
      is_suite = false
      try
        is_suite = test.class == TestSuite
      catch _
        is_suite = false
      if is_suite
        total = total + test.count()
      else
        total = total + self.test_methods_for(test).len()
    total

discover

TestSuite.discover(cases)

lib/unittest/test_suite.tya:46

TestSuite.discover provides the unittest/TestSuite standard library operation.

Source
  # TestSuite.discover provides the unittest/TestSuite standard library operation.
  # @param cases Any cases value.
  # @return Any the resulting value.
  discover: cases ->
    found = TestSuite()
    for c in cases
      names = c.keys()
      for name in names
        value = c[name]
        methods = self.test_methods_for(value)
        if methods.len() > 0
          found.add(value)
    found

initialize

TestSuite.initialize()

lib/unittest/test_suite.tya:9

TestSuite.initialize provides the unittest/TestSuite standard library operation.

Source
  # TestSuite.initialize provides the unittest/TestSuite standard library operation.
  # @return Self the initialized object.
  initialize: ->
    self.tests = []

test_methods_for

TestSuite.test_methods_for(test)

lib/unittest/test_suite.tya:60

TestSuite.test_methods_for provides the unittest/TestSuite standard library operation.

Source
  # TestSuite.test_methods_for provides the unittest/TestSuite standard library operation.
  # @param test Any test value.
  # @return Any the resulting value.
  test_methods_for: test ->
    methods = []
    try
      methods = test.unittest_test_methods
    catch _
      methods = test.class.unittest_test_methods
    methods