Example #1
0
    def test_batch_load(self):
        clusters =((Cluster(16,[16]), "data/training_clustering_1.bin"),
                   (Cluster(4,[4,5,6,7,8]), "data/training_clustering_2.bin"),
                   (Cluster(0,[0,1,2,3]), "data/training_clustering_3.bin"),
                   (Cluster(9,[9,10,11,12,13,14,15]), "data/training_clustering_4.bin"))
        
        # Creates 4 clusterings of 1 cluster
        filenames = []
        for cluster, filename in clusters:
            Clustering([cluster]).save_to_disk(filename)
            filenames.append(filename)
        
        # Then loads them and extracts its elements
        elements = []
        for filename in filenames:
            elements.extend(Clustering.load_from_disk(filename).get_all_clustered_elements())
        
        elements_batch = []
        clusterings_batch = Clustering.load_all_from_directory("data/")
        for clustering, filename in clusterings_batch:
            elements_batch.extend(clustering.get_all_clustered_elements())

        # And cleans the house
        for filename in filenames:
            os.system("rm "+filename)
            
        numpy.testing.assert_equal(sorted(elements), range(17))
        numpy.testing.assert_equal(sorted(elements_batch), range(17))
Example #2
0
 def test_load_and_save_to_disk(self):
     clusters =(Cluster(16,[16]),
                Cluster(4,[4,5,6,7,8]),
                Cluster(0,[0,1,2,3]),
                Cluster(9,[9,10,11,12,13,14,15]))
     
     clustering = Clustering(clusters)
     before_saving_elements = clustering.get_all_clustered_elements()
     clustering.save_to_disk("data/saved_clustering_for_test")
     loaded_clustering = Clustering.load_from_disk("data/saved_clustering_for_test")
     after_saving_elements = loaded_clustering.get_all_clustered_elements()
     self.assertItemsEqual(before_saving_elements, after_saving_elements)
     os.system("rm data/saved_clustering_for_test")
Example #3
0
    def test_load_and_save_to_disk(self):
        clusters = (Cluster(16, [16]), Cluster(4, [4, 5, 6, 7, 8]),
                    Cluster(0, [0, 1, 2, 3]),
                    Cluster(9, [9, 10, 11, 12, 13, 14, 15]))

        clustering = Clustering(clusters)
        before_saving_elements = clustering.get_all_clustered_elements()
        clustering.save_to_disk(
            os.path.join(test_data.__path__[0], "saved_clustering_for_test"))
        loaded_clustering = Clustering.load_from_disk(
            os.path.join(test_data.__path__[0], "saved_clustering_for_test"))
        after_saving_elements = loaded_clustering.get_all_clustered_elements()
        self.assertItemsEqual(before_saving_elements, after_saving_elements)
        os.system("rm data/saved_clustering_for_test")
Example #4
0
    def test_batch_load(self):
        clusters = ((Cluster(16, [16]),
                     os.path.join(test_data.__path__[0],
                                  "training_clustering_1.bin")),
                    (Cluster(4, [4, 5, 6, 7, 8]),
                     os.path.join(test_data.__path__[0],
                                  "training_clustering_2.bin")),
                    (Cluster(0, [0, 1, 2, 3]),
                     os.path.join(test_data.__path__[0],
                                  "training_clustering_3.bin")),
                    (Cluster(9, [9, 10, 11, 12, 13, 14, 15]),
                     os.path.join(test_data.__path__[0],
                                  "training_clustering_4.bin")))

        # Creates 4 clusterings of 1 cluster
        filenames = []
        for cluster, filename in clusters:
            Clustering([cluster]).save_to_disk(filename)
            filenames.append(filename)

        # Then loads them and extracts its elements
        elements = []
        for filename in filenames:
            elements.extend(
                Clustering.load_from_disk(
                    filename).get_all_clustered_elements())

        elements_batch = []
        clusterings_batch = Clustering.load_all_from_directory("data/")
        for clustering, filename in clusterings_batch:
            elements_batch.extend(clustering.get_all_clustered_elements())

        # And cleans the house
        for filename in filenames:
            os.system("rm " + filename)

        numpy.testing.assert_equal(sorted(elements), range(17))
        numpy.testing.assert_equal(sorted(elements_batch), range(17))