From 070ce923574dcc57435cb3fb2dfe86b6a38cd249 Mon Sep 17 00:00:00 2001 From: MDBijman Date: Tue, 24 Jan 2017 12:15:26 +0100 Subject: Initial code commit with organized dependencies --- Testing/include/modeling/DatacenterTest.h | 35 +++++++++++++++++++++++++++ Testing/include/modeling/EntityTest.h | 10 ++++++++ Testing/include/modeling/MachineTest.h | 39 +++++++++++++++++++++++++++++++ Testing/include/modeling/RackTest.h | 21 +++++++++++++++++ Testing/include/modeling/RoomTest.h | 24 +++++++++++++++++++ Testing/include/modeling/TypeIndexTest.h | 28 ++++++++++++++++++++++ 6 files changed, 157 insertions(+) create mode 100644 Testing/include/modeling/DatacenterTest.h create mode 100644 Testing/include/modeling/EntityTest.h create mode 100644 Testing/include/modeling/MachineTest.h create mode 100644 Testing/include/modeling/RackTest.h create mode 100644 Testing/include/modeling/RoomTest.h create mode 100644 Testing/include/modeling/TypeIndexTest.h (limited to 'Testing/include/modeling') diff --git a/Testing/include/modeling/DatacenterTest.h b/Testing/include/modeling/DatacenterTest.h new file mode 100644 index 00000000..0b64c88a --- /dev/null +++ b/Testing/include/modeling/DatacenterTest.h @@ -0,0 +1,35 @@ +#pragma once +#include "modeling\Datacenter.h" +#include "simulation\workloads\SimpleScheduler.h" + +#include + +TEST(DatacenterTest, GetAddRoomOfType) +{ + Simulation::Scheduler* scheduler = new Simulation::SimpleScheduler(); + Modeling::Datacenter datacenter(scheduler); + + int first = 4, second = 1; + datacenter.addRoomOfType(first); + datacenter.addRoomOfType(second); + double third = 3.0; + datacenter.addRoomOfType(third); + + ASSERT_EQ(datacenter.getRoomsOfType().at(0), 4); + ASSERT_EQ(datacenter.getRoomsOfType().at(1), 1); + ASSERT_EQ(datacenter.getRoomsOfType().at(0), 3.0); +} + +TEST(DatacenterTest, GetSetScheduler) +{ + Simulation::Scheduler* scheduler = new Simulation::SimpleScheduler(); + Simulation::Scheduler* secondScheduler = new Simulation::SimpleScheduler(); + + Modeling::Datacenter datacenter(scheduler); + + ASSERT_EQ(datacenter.getScheduler().get(), scheduler); + + datacenter.setScheduler(secondScheduler); + + ASSERT_EQ(datacenter.getScheduler().get(), secondScheduler); +} \ No newline at end of file diff --git a/Testing/include/modeling/EntityTest.h b/Testing/include/modeling/EntityTest.h new file mode 100644 index 00000000..ff7293ff --- /dev/null +++ b/Testing/include/modeling/EntityTest.h @@ -0,0 +1,10 @@ +#pragma once +#include "modeling\Entity.h" + +#include + +TEST(EntityTest, Constructor) +{ + Modeling::Entity e(10); + ASSERT_EQ(e.id, 10); +} \ No newline at end of file diff --git a/Testing/include/modeling/MachineTest.h b/Testing/include/modeling/MachineTest.h new file mode 100644 index 00000000..6bba9d0d --- /dev/null +++ b/Testing/include/modeling/MachineTest.h @@ -0,0 +1,39 @@ +#pragma once +#include "modeling\Machine.h" + +#include + +TEST(MachineTest, GetSpeed) +{ + Modeling::Machine m(100); + + ASSERT_EQ(m.getSpeed(), 100); +} + +TEST(MachineTest, IsBusy) +{ + Modeling::Machine m(100); + std::shared_ptr shrdWorkload = std::make_shared(150, 1, 1, 1); + ASSERT_FALSE(m.isBusy()); + + m.giveTask(std::weak_ptr(shrdWorkload)); + + ASSERT_TRUE(m.isBusy()); +} + +TEST(MachineTest, Tick) +{ + Modeling::Machine m(100); + std::shared_ptr shrdWorkload = std::make_shared(150, 1, 1, 1); + m.giveTask(std::weak_ptr(shrdWorkload)); + + ASSERT_TRUE(m.isBusy()); + + m.tick(); + + ASSERT_TRUE(m.isBusy()); + + m.tick(); + + ASSERT_FALSE(m.isBusy()); +} \ No newline at end of file diff --git a/Testing/include/modeling/RackTest.h b/Testing/include/modeling/RackTest.h new file mode 100644 index 00000000..cd568e14 --- /dev/null +++ b/Testing/include/modeling/RackTest.h @@ -0,0 +1,21 @@ +#pragma once +#include "modeling\Rack.h" + +#include + +TEST(RackTest, ConstructorTest) +{ + Modeling::Rack rack(10, 100); + ASSERT_EQ(rack.id, 10); +} + +TEST(RackTest, GetSetMachines) +{ + Modeling::Rack rack(10, 100); + + Modeling::Machine machine(100); + rack.setMachine(machine, 10); + + ASSERT_EQ(rack.getMachines().size(), 1); + ASSERT_EQ(rack.getMachines().at(0).get().getSpeed(), 100); +} diff --git a/Testing/include/modeling/RoomTest.h b/Testing/include/modeling/RoomTest.h new file mode 100644 index 00000000..6d482e73 --- /dev/null +++ b/Testing/include/modeling/RoomTest.h @@ -0,0 +1,24 @@ +#pragma once +#include "modeling\Room.h" + +#include + +TEST(RoomTest, ConstructorTest) +{ + Modeling::Room room(10); + ASSERT_EQ(room.id, 10); +} + +TEST(RoomTest, GetSetEntities) +{ + Modeling::Room room(10); + + int first = 3; + room.addEntity(first); + + double second = 4.0; + room.addEntity(second); + + ASSERT_EQ(room.getEntitiesOfType().at(0), 3); + ASSERT_EQ(room.getEntitiesOfType().at(0), 4.0); +} diff --git a/Testing/include/modeling/TypeIndexTest.h b/Testing/include/modeling/TypeIndexTest.h new file mode 100644 index 00000000..0a0d6d54 --- /dev/null +++ b/Testing/include/modeling/TypeIndexTest.h @@ -0,0 +1,28 @@ +#pragma once +#include "modeling\TypeIndex.h" + +#include + +TEST(TypeIndexTest, SingleType) +{ + size_t index = indexOfType(); + ASSERT_EQ(index, 0); +} + +TEST(TypeIndexTest, MultipleTypesFirst) +{ + size_t index = indexOfType(); + ASSERT_EQ(index, 0); +} + +TEST(TypeIndexTest, MultipleTypesMiddle) +{ + size_t index = indexOfType(); + ASSERT_EQ(index, 1); +} + +TEST(TypeIndexTest, MultipleTypesLast) +{ + size_t index = indexOfType(); + ASSERT_EQ(index, 2); +} \ No newline at end of file -- cgit v1.2.3