1. 13 Jul, 2018 3 commits
  2. 04 Jun, 2018 2 commits
  3. 18 May, 2018 1 commit
  4. 14 Feb, 2018 2 commits
  5. 13 Feb, 2018 2 commits
  6. 11 Feb, 2018 2 commits
  7. 10 Feb, 2018 3 commits
  8. 08 Feb, 2017 1 commit
    • Edward Fauchon-Jones's avatar
      Add optional attribute to specification fields · b077ca02
      Edward Fauchon-Jones authored
      - `auxiliary-info` is specified as an optional field.
      
      - `lvcnrcheck` gives a return code of `0` if the only failing fields are
        option and missing.
      
        However if fields are present and fail for other reasons (for example
        wrong type such as `str` when it should be `int`) then the return code
        will be `1`.
      b077ca02
  9. 10 Dec, 2016 3 commits
    • Edward Fauchon-Jones's avatar
      Remove anti-pattern of classmethods · 4c054494
      Edward Fauchon-Jones authored
      The `Spec` class family were originally set up to work using class
      methods. This was natural because each `Spec` derivative only
      represented a single field.
      
      With the addition of the `Amplm` and `Phaselm` specs, this was no longer
      true, with each of these specs required to represent a collection of
      fields. While initially attempted to use instances for these `Specs` and
      classes+classmethods for the remaining specs, to much off the logic
      required casing on the `Spec` being an instance of class, it was decided
      to only use classes and classmethods.
      
      In the end this resulting in a massive anti-pattern, defining a class
      factory in place of instance initialisers in the `Amplm` and `Phaselm`
      classes, and a general bad logic. It made sense to use classmethods
      before, but in no longer did.
      
      This commit refactors most classmethods as instance methods (with a
      couple left as classmethods because theydo not reference the parent
      object, and could infact be staic methods). While a couple of
      expressions required additional `()` to instance `Specs`, overall the
      logic has been greatly simplified and actually demonstrated that the
      classmethod paradigm previously used had significantly little benifit.
      4c054494
    • Edward Fauchon-Jones's avatar
      Add error for out of range strain mode order · 63de1fb9
      Edward Fauchon-Jones authored
      Add error to handle case when absolute value of the mode's order
      exceeds its degree.
      63de1fb9
    • Edward Fauchon-Jones's avatar
      Add strain modes (specs, creation, lvcnrcheck) · 41e31138
      Edward Fauchon-Jones authored
      - Specs have been added that represent phase and amplitude modes.
      - 5 degrees with everyone order of phase and amp modes fields are now
        created by `createValidSim`
      - `lvcnrcheck` looks for and validates phase and amp modes.
      41e31138
  10. 09 Dec, 2016 3 commits
    • Edward Fauchon-Jones's avatar
      Update ROMSpline to correctley test subfields · c6b221fc
      Edward Fauchon-Jones authored
      Identifiers were modified from ~component to ~subfield to make
      identifiers consitent.
      c6b221fc
    • Edward Fauchon-Jones's avatar
      Move field creation logic under Spec's · a3464d72
      Edward Fauchon-Jones authored
      Each `Spec` derived class is now responsible for creating a valid field
      that it represents in a supplied `Sim` instance.
      
      Towards this, logic for creating valid fields was removed from the test
      helper.
      a3464d72
    • Edward Fauchon-Jones's avatar
      Refactor errors to dedicated module · 4b12b9da
      Edward Fauchon-Jones authored
      `Specs.valid` now return `Error` objects and the logic of generating
      errors and associated messages have been refactor to their own dedicated
      module.
      
      Much error message logic has now been removed from `lvcnrcheck` with
      only specific cases handled as nessesary, right now only a `Missing`
      `Error` needs to be cased.
      4b12b9da
  11. 06 Dec, 2016 1 commit
    • Edward Fauchon-Jones's avatar
      Fix format spec dict key revision->modification · 86b778e9
      Edward Fauchon-Jones authored
      The dictionary keys are currently never actually used directly in the
      package. Loops go over the `k, v` of the dictionary `format1` however
      references to field names are only ever made through the `.name`
      attribute of `Spec` objects.
      
      Also fix docstrings in `Spec` classes to reference the correct format
      field.
      86b778e9
  12. 05 Dec, 2016 4 commits
  13. 25 Nov, 2016 1 commit
  14. 21 Nov, 2016 1 commit