def should_use_existing_sources(self):
        expt2 = self.ctx.insertProject("project2","project2",DateTime()).insertExperiment("purpose", DateTime())
        protocol2 = self.ctx.insertProtocol("protocol", "description")

        import_csv(self.ctx,
                   container_uri=expt2.getURI().toString(),
                   protocol_uri=protocol2.getURI().toString(),
                   files=[EXAMPLE_FIELD_DATA_CSV])

        expected_source_names = np.unique(self.df.Site)

        sources = self.ctx.getTopLevelSources()

        assert_equals(len(expected_source_names), len(list(iterable(sources))))
    def should_use_existing_site_epoch_when_present(self):
        expt2 = self.ctx.insertProject("project2","project2",DateTime()).insertExperiment("purpose", DateTime())
        protocol2 = self.ctx.insertProtocol("protocol", "description")

        import_csv(self.ctx,
                   container_uri=expt2.getURI().toString(),
                   protocol_uri=protocol2.getURI().toString(),
                   files=[EXAMPLE_FIELD_DATA_CSV])

        import_csv(self.ctx,
                   container_uri=expt2.getURI().toString(),
                   protocol_uri=protocol2.getURI().toString(),
                   files=[EXAMPLE_FIELD_DATA_CSV])

        self.check_epoch_per_site(expt2)
    def should_call_via_main(self):
        expt2 = self.ctx.insertProject("project2","project2",DateTime()).insertExperiment("purpose", DateTime())
        protocol2 = self.ctx.insertProtocol("protocol", "description")

        number_of_days = np.unique(np.asarray(self.df.index)).size

        args = ['--timezone=America/New_York',
                '--container={}'.format(str(expt2.getURI().toString())),
                '--protocol={}'.format(str(protocol2.getURI().toString())),
                EXAMPLE_FIELD_DATA_CSV,
                ]

        main(args, dsc=self.dsc)

        assert_equals(number_of_days, len(list(iterable(expt2.getEpochGroups()))))
 def make_experiment_fixture(cls):
     ctx = cls.dsc.getContext()
     project = ctx.insertProject("name", "description", DateTime())
     expt = project.insertExperiment("purpose", DateTime())
     protocol = ctx.insertProtocol("protocol", "description")
     return ctx, expt, protocol
Exemplo n.º 5
0
def _make_day_ends(python_datetime, tzone):
    """Makes a midnight,end-of-day DateTime pair from Python datetime and timezone ID"""

    d = DateTime(python_datetime.isoformat(), DateTimeZone.forID(tzone))
    return (d.toDateMidnight().toDateTime(), d.plusDays(1).minusSeconds(1))