<commit_before>module.exports = {
  'Load home page': function(client) {
    client.url('http://localhost:8080?seed=150').pause(1000);
    client.expect.element('#content').to.be.present;
  },

  'Start solitaire': function(client) {
    client
      .waitForElementVisible('#solitaire_button', 1000)
      .click('#solitaire_button');
    client.expect.element('#cards').to.be.present.after(1000);
    client.expect.element('#found-so-far').to.be.present;

    [
      'one-blue-solid-diamonds',
      'three-blue-solid-diamonds',
      'one-blue-striped-squiggles',
      'two-blue-striped-ovals',
      'one-red-solid-diamonds',
      'three-green-solid-squiggles',
      'three-red-solid-ovals',
      'three-blue-solid-squiggles',
      'two-green-solid-squiggles',
      'three-blue-striped-diamonds',
      'two-red-solid-squiggles',
      'two-blue-solid-ovals'
    ].forEach((str) => {
      client.expect.element(`.card img[src*=${str}]`).to.be.present;
    });
    client.end();
  }
}<commit_msg>test selecting three cards that make a set<commit_after>module.exports = {
  'Load home page': function(client) {
    client.url('http://localhost:8080?seed=150').pause(1000);
    client.expect.element('#content').to.be.present;
  },

  'Start solitaire': function(client) {
    client
      .waitForElementVisible('#solitaire_button', 1000)
      .click('#solitaire_button');
    client.expect.element('#cards').to.be.present.after(1000);
    client.expect.element('#found-so-far').to.be.present;

    [
      'one-blue-solid-diamonds',
      'three-blue-solid-diamonds',
      'one-blue-striped-squiggles',
      'two-blue-striped-ovals',
      'one-red-solid-diamonds',
      'three-green-solid-squiggles',
      'three-red-solid-ovals',
      'three-blue-solid-squiggles',
      'two-green-solid-squiggles',
      'three-blue-striped-diamonds',
      'two-red-solid-squiggles',
      'two-blue-solid-ovals'
    ].forEach((str) => {
      client.expect.element(`.card img[src*=${str}]`).to.be.present;
    });
  },

  'Choose three cards that make a set': function(client) {
    client.useXpath();

    client.click('//*[@id="cards"]/ul/li/div/img[contains(@src, "one-blue-striped-squiggles")]');
    client.expect.element('//*[@id="cards"]/ul/li/div/img[contains(@src, "one-blue-striped-squiggles")]/..')
      .to.have.attribute('class').which.contains('selected');

    client.click('//*[@id="cards"]/ul/li/div/img[contains(@src, "two-blue-striped-ovals")]');
    client.expect.element('//*[@id="cards"]/ul/li/div/img[contains(@src, "two-blue-striped-ovals")]/..')
      .to.have.attribute('class').which.contains('selected');

    client
      .click('//*[@id="cards"]/ul/li/div/img[contains(@src, "three-blue-striped-diamonds")]')
      .waitForElementVisible('//*[@id="found-so-far"]/ul[1]', 1000);

    client.expect.element('//*[@id="found-so-far"]/ul[1]/li/div/img[contains(@src, "one-blue-striped-squiggles")]')
      .to.be.visible;
    client.expect.element('//*[@id="found-so-far"]/ul[1]/li/div/img[contains(@src, "two-blue-striped-ovals")]')
      .to.be.visible;
    client.expect.element('//*[@id="found-so-far"]/ul[1]/li/div/img[contains(@src, "three-blue-striped-diamonds")]')
      .to.be.visible;

    client.end();
  }
}
{'fraction_non_alphanumeric': 0.22085512150107658, 'fraction_numerical': 0.014149492463857275, 'mean_word_length': 3.3475935828877006, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 5, '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': '3261915', 'n_tokens_mistral': 1226, 'n_tokens_neox': 1172, 'n_words': 104}