You are an expert in writing code in many different languages. Your goal is to perform code completion for the following code, keeping in mind the rest of the code and the file meta data.
    Metadata details:
    filename: pspm_split_sessions_test.m
    path of file: ./repos/PsPM/test
    
    the code of the file until where you have to start completion: classdef pspm_split_sessions_test < matlab.unittest.TestCase
  % ● Description
  % unittest class for the pspm_split_sessions function
  % ● Authorship
  % (C) 2013 Linus Rüttimann (University of Zurich)
  properties
    expected_number_of_files = 3;
    fn_data = 'split_sessions_datafile';
    fn_missing = 'split_sessions_missing';
  end
  properties (TestParameter)
    nsessions = {2,5}
    prefix = {-1,-5,-15}
    suffix = {3,9,12}
    splitpoints = {[2 5 7 9 11],[10 20 33 35 60 80 90 100 111 114 116 120],[]}
    splitpoints_for_missing = {[2, 6]}
  end
  methods (Test)
    function test_missing(this, splitpoints_for_missing)
      n_sess = 10;
      sess_dist = 10;
      fn = pspm_find_free_fn(this.fn_data, '.mat');
      channels{1}.chantype = 'scr';
      channels{2}.chantype = 'hb';
      channels{3}.chantype = 'marker';
      channels{3}.sessions = n_sess;
      channels{3}
    
function invalid_input(this)
      this.verifyWarning(@()pspm_split_sessions(), 'ID:invalid_input');
      this.verifyWarning(@()pspm_split_sessions(2), 'ID:invalid_input');
      this.verifyWarning(@()pspm_split_sessions('fn', 'foo'), 'ID:invalid_input');
    end
    function one_datafile(this)
      fn = [this.fn_data,'.mat'];
      channels{1}.chantype = 'scr';
      channels{2}.chantype = 'hb';
      channels{3}.chantype = 'marker';
      datastruct = pspm_testdata_gen(channels, 100);
      datastruct.data{3}.data = [1 4 9 12 30 31 34 41 43 59 65 72 74 80 89 96]';
      % with default values MAXSN=10 & BRK2NORM=3 the datafile should be split into 3 files
      datastruct.options = struct();
      pspm_load_data(fn, datastruct); %save datafile
      %datafile.data{3}.data = [0 1]';
      %save(fn, '-struct', 'datafile');
      newdatafile = pspm_split_sessions(fn, 0, struct());
      this.verifyTrue(numel(newdatafile) == this.expected_number_of_files, ...
        sprintf('the testdatafile %s has been split into %i files and not like expected into %i files', ...
        fn, numel(newdatafile), this.expected_number_of_files));
      for k = 1:numel(newdatafile)
        [sts, ~, data] = pspm_load_data(newdatafile{k});
        this.verifyTrue(sts == 1, sprintf('couldn''t load file %s with pspm_load_data', newdatafile{k}));
        this.verifyTrue(numel(data) == numel(channels), ...
          sprintf('number of channels doesn''t match in file %s', newdatafile{k}));
        delete(newdatafile{k});
      end