diff options
Diffstat (limited to 'test')
| -rw-r--r-- | test/eventsdstest.cc | 54 | 
1 files changed, 50 insertions, 4 deletions
| diff --git a/test/eventsdstest.cc b/test/eventsdstest.cc index 2616053..c884e4f 100644 --- a/test/eventsdstest.cc +++ b/test/eventsdstest.cc @@ -34,14 +34,60 @@ class EventsDSTest  public:  	EventsDSTest()  	{ -		DGUNIT_TEST(EventsDSTest::todo); +		DGUNIT_TEST(EventsDSTest::test_all);  	}  public: -	void todo() +	void test_all()  	{ -		// TODO: Add some tests here -		DGUNIT_ASSERT(false); +		EventsDS events_ds; + +		// group 1 +		events_ds.startAddingNewGroup(42); +		events_ds.emplace<SampleEvent>(13, 13, 1.0, nullptr, "a", 42); +		events_ds.emplace<SampleEvent>(13, 13, 1.0, nullptr, "b", 42); +		events_ds.emplace<SampleEvent>(13, 13, 1.0, nullptr, "c", 42); + +		DGUNIT_ASSERT(events_ds.getSampleEventGroupIDsOf(13).empty()); +		DGUNIT_ASSERT(events_ds.getSampleEventGroupIDsOf(42).size() == 1); +		auto group_id = events_ds.getSampleEventGroupIDsOf(42).back(); + +		auto const& event_ids = events_ds.getEventIDsOf(group_id); +		DGUNIT_ASSERT(event_ids.size() == 3); + +		// group 2 +		events_ds.startAddingNewGroup(42); +		events_ds.emplace<SampleEvent>(13, 13, 1.0, nullptr, "d", 42); + +		DGUNIT_ASSERT(events_ds.getSampleEventGroupIDsOf(42).size() == 2); + +		// group 3 +		events_ds.startAddingNewGroup(23); +		events_ds.emplace<SampleEvent>(7, 7, 1.0, nullptr, "foo", 23); +		events_ds.emplace<SampleEvent>(7, 7, 1.0, nullptr, "bar", 23); + +		DGUNIT_ASSERT(events_ds.getSampleEventGroupIDsOf(42).size() == 2); +		DGUNIT_ASSERT(events_ds.numberOfEvents(13) == 4); +		DGUNIT_ASSERT(events_ds.numberOfEvents(7) == 2); + +		// iterate over +		std::string group_concat = ""; +		for (auto const& sample_event: events_ds.iterateOver<SampleEvent>(13)) { +			group_concat.append(sample_event.group); +		} +		DGUNIT_ASSERT(group_concat == "abcd"); + +		// remove +		auto event_id = events_ds.getEventIDsOf(events_ds.getSampleEventGroupIDsOf(42).back()).back(); +		events_ds.remove(event_id); +		DGUNIT_ASSERT(events_ds.getSampleEventGroupIDsOf(42).size() == 1); + +		event_id = events_ds.getEventIDsOf(events_ds.getSampleEventGroupIDsOf(23).back()).back(); +		events_ds.remove(event_id); +		DGUNIT_ASSERT(!events_ds.getSampleEventGroupIDsOf(23).empty()); +		event_id = events_ds.getEventIDsOf(events_ds.getSampleEventGroupIDsOf(23).back()).back(); +		events_ds.remove(event_id); +		DGUNIT_ASSERT(events_ds.getSampleEventGroupIDsOf(23).empty());  	}  }; | 
