The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
// Copyright 2008 Google Inc. All Rights Reserved.
// Author: dsites@google.com (Dick Sites)
/*
#include "testing/base/public/gunit.h"
#include "testing/lib/strings/overrun_sensitive_memory_block.h"
#include "cld/encodings/compact_lang_det/subsetsequence.h"

// This always passes. It is just scaffolidng to exercise the subsequence
// facility, which is likely to get abandoned soon. dsites 2008.11.17
//
TEST(SubsetSequence, foo) {
  uint8 dst[120];

  // Create 120-element vector
  printf("Creating %d items:\n", 120);
  SubsetSequence ss;
  for (int i = 0; i < 120; ++i) {
    ss.Add(i);
  }

  // Extract various lengths
  for (int n = 120; n >= 0; --n) {
    ss.Extract(n, dst);
    printf("[%d] ", n);
    for (int i = 0; i < n; ++i) {
      printf("%d ", dst[i]);
    }
    printf("\n");
  }

  printf("\n");
  printf("\n");

  // Create 120-element vector of 7 items each
  printf("Creating %d items:\n", 120);
  ss.Init();
  for (int i = 0; i < 120; ++i) {
    ss.Add(i / 7);
  }

  // Extract various lengths
  for (int n = 120; n >= 0; --n) {
    ss.Extract(n, dst);
    printf("[%d] ", n);
    for (int i = 0; i < n; ++i) {
      printf("%d ", dst[i]);
    }
    printf("\n");
  }

  printf("\n");
  printf("\n");


  // Create 400 element vector of patterns
  int nn1 = 400;
  int divisor = (nn1 + 239) / 240;  // Max inserted value = 240
  printf("Creating %d items:\n", nn1);
  ss.Init();
  for (int i = 0; i < nn1; ++i) {
    ss.Add(i / divisor);
  }

  // Extract 12-item summary lengths
  int n1 = 12;
  ss.Extract(n1, dst);
  printf("[%d] ", n1);
  for (int i = 0; i < n1; ++i) {
    printf("%d ", dst[i]);
  }
  printf("\n");

  printf("\n");
  printf("\n");

  // Create 10**n element vector of patterns
  int pow_10 = 1;
  for (int nn = 0; nn < 9; ++nn) {
    printf("Creating %d items:\n", pow_10);
    int divisor = (pow_10 + 239) / 240;  // Max inserted value = 240
    ss.Init();
    for (int i = 0; i < pow_10; ++i) {
      ss.Add(i / divisor);
    }

    // Extract 12-item summary lengths
    int n = 12;
    ss.Extract(n, dst);
    printf("[%d] ", n);
    for (int i = 0; i < n; ++i) {
      printf("%d ", dst[i]);
    }
    printf("\n");

    pow_10 *= 10;
  }

}
*/