<commit_before>\literate[list-set-test]

	\begin{abstract}
	Tests for set operations on lists
	\end{abstract}

\begin{code}
module list-set-test
imports list-set sunit

strategies 

  main = 
    test-suite(!"list-set-test",
	test1;  
	test2;  
	test3;  
	test4;  
	test5;
	test6;
	test7;
	test8;
	test9;
	test10
     )

  test1 = 
    apply-test(!"test1"
	, union
	, !(["a","b"],["c","d"])
	, !["a","b","c","d"]
	)

  test2 =
    apply-test(!"test2"
	, union
	, !(["a","b"],["b","d"])
	, !["a","b","d"]
	)

  test3 = 
    apply-test(!"test3"
	, diff
	, !(["a","b"],["c","d"])
	, !["a","b"]
	)

  test4 =
    apply-test(!"test4a"
	, diff
	, !(["a","b"],["b","d"])
	, !["a"]
	);
    apply-test(!"test4b"
	, isect
	, !(["a","b"],["b","d"])
	, !["b"]
	)

signature
  constructors
    F : A * A -> A
    G : A * A -> A
    H : A * A -> A
    I : A -> A<commit_msg>added tests for new set operations and empty list cases<commit_after>\literate[list-set-test]

	\begin{abstract}
	Tests for set operations on lists
	\end{abstract}

\begin{code}
module list-set-test
imports list-set sunit

strategies 

 main = 
    test-suite(!"list-set-test",
	test1a;
	test1b;  
	test1c;
	test1d;
	test1e;

	test2a;
	test2b;  
	test2c;
	test2d;
	test2e;

	test3a;
	test3b;  
	test3c;
	test3d;
	test3e;

	test4a;
	test4b;  
	test4c;
	test4d;
	test4e;
  
	test5;
	test6;
	test7;
	test8;
	test9;
	test10
     )

/**
 * union
 */ 
  test1a = 
    apply-test(!"test1a"
	, union
	, !(["a","b"],["c","d"])
	, !["a","b","c","d"]
	)

  test1b =
    apply-test(!"test1b"
	, union
	, !(["a","b"],["b","d"])
	, !["a","b","d"]
	)

  test1c = 
    apply-test(!"test1c"
	, union
	, !([],["c","d"])
	, !["c","d"]
	)

  test1d =
    apply-test(!"test1d"
	, union
	, !(["a","b"],[])
	, !["a","b"]
	)

  test1e =
    apply-test(!"test1e"
	, union
	, !([],[])
	, ![]
	)

/**
 * isect
 */ 
  test2a = 
    apply-test(!"test2a"
	, isect
	, !(["a","b"],["c","d"])
	, ![]
	)

  test2b =
    apply-test(!"test2b"
	, isect
	, !(["a","b"],["b","d"])
	, !["b"]
	)

  test2c = 
    apply-test(!"test2c"
	, isect
	, !([],["c","d"])
	, ![]
	)

  test2d =
    apply-test(!"test2d"
	, isect
	, !(["a","b"],[])
	, ![]
	)

  test2e =
    apply-test(!"test2e"
	, isect
	, !([],[])
	, ![]
	)

/**
 * diff
 */ 
  test3a = 
    apply-test(!"test3a"
	, diff
	, !(["a","b"],["c","d"])
	, !["a", "b"]
	)

  test3b =
    apply-test(!"test3b"
	, diff
	, !(["a","b"],["b","d"])
	, !["a"]
	)

  test3c = 
    apply-test(!"test3c"
	, diff
	, !([],["c","d"])
	, ![]
	)

  test3d =
    apply-test(!"test3d"
	, diff
	, !(["a","b"],[])
	, !["a", "b"]
	)

  test3e =
    apply-test(!"test3e"
	, diff
	, !([],[])
	, ![]
	)

/**
 * sym-diff
 */ 
  test4a = 
    apply-test(!"test4a"
	, sym-diff
	, !(["a","b"],["c","d"])
	, !["a","b", "c","d"]
	)

  test4b =
    apply-test(!"test4b"
	, sym-diff
	, !(["a","b"],["b","d"])
	, !["a", "d"]
	)

  test4c = 
    apply-test(!"test4c"
	, sym-diff
	, !([],["c","d"])
	, !["c", "d"]
	)

  test4d =
    apply-test(!"test4d"
	, sym-diff
	, !(["a","b"],[])
	, !["a", "b"]
	)

  test4e =
    apply-test(!"test4e"
	, sym-diff
	, !([],[])
	, ![]
	)

signature
  constructors
    F : A * A -> A
    G : A * A -> A
    H : A * A -> A
    I : A -> A
{'fraction_non_alphanumeric': 0.29507174048658763, 'fraction_numerical': 0.027136618839675608, 'mean_word_length': 2.524175824175824, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 11, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '5491458', 'n_tokens_mistral': 1657, 'n_tokens_neox': 1626, 'n_words': 236}