using System.Collections;
using System.Collections.Generic;
public class ObjectAttributesAndInstancesTest
public void SaveObjectAttributeTest()
DBManager dbManager = new DBManager();
IDBHandler dbHandler = dbManager.PersistenceType("file");
ObjectType objectType = new ObjectType();
ObjectAttribute dataContext = new ObjectAttribute();
objectType.ObjectTypeName = "Laptop";
Dictionary<string, string> dictattributes = new Dictionary<string, string>();
dictattributes.Add("model no", "string");
dictattributes.Add("Sl No", "string");
dictattributes.Add("RAM", "integer");
dictattributes.Add("Mfd date", "date");
objectType.ObjectTypeAttributes = dictattributes;
dataContext.SaveObjectType(objectType, dbHandler);
objectType.ObjectTypeName = "Mobile";
Dictionary<string, string> dictattributes1 = new Dictionary<string, string>();
dictattributes1.Add("model no", "string");
dictattributes1.Add("Sl No", "string");
dictattributes1.Add("RAM", "integer");
dictattributes1.Add("Mfd date", "date");
objectType.ObjectTypeAttributes = dictattributes1;
dataContext.SaveObjectType(objectType, dbHandler);
Assert.AreEqual(2, dataContext.GetObjectTypeCount() );
public void SaveObjectInstanceTest()
DBManager dbManager = new DBManager();
IDBHandler dbHandler = dbManager.PersistenceType("file");
ObjectInstanceType objectInstanceType = new ObjectInstanceType();
ObjectInstance dataContext = new ObjectInstance();
objectInstanceType.ObjectTypeName = "Laptop";
Dictionary<string, string> dictattributes = new Dictionary<string, string>();
dictattributes.Add("model no", "HP");
dictattributes.Add("Sl No", "1CLFHFHF");
dictattributes.Add("RAM", "64");
dictattributes.Add("Mfd date", "12-02-2021");
objectInstanceType.ObjectTypeInstanceAttributes = dictattributes;
dataContext.SaveObjectInstance(objectInstanceType, dbHandler);
objectInstanceType.ObjectTypeName = "Laptop";
Dictionary<string, string> dictattributes1 = new Dictionary<string, string>();
dictattributes1.Add("model no", "Lenovo");
dictattributes1.Add("Sl No", "X89G4");
dictattributes1.Add("RAM", "128");
dictattributes1.Add("Mfd date", "12-06-2021");
objectInstanceType.ObjectTypeInstanceAttributes = dictattributes1;
dataContext.SaveObjectInstance(objectInstanceType, dbHandler);
Assert.AreEqual(1, dataContext.GetObjectInstanceCount("Laptop") );
public void SaveObjectAttributeUnitTest()
ObjectType objectType = new ObjectType();
ObjectAttribute dataContext = new ObjectAttribute();
objectType.ObjectTypeName = "Mobile";
Dictionary<string, string> dictattributes = new Dictionary<string, string>();
dictattributes.Add("model no", "string");
dictattributes.Add("Sl No", "string");
dictattributes.Add("RAM", "integer");
dictattributes.Add("Mfd date", "date");
objectType.ObjectTypeAttributes = dictattributes;
var dbHandler = new Mock<IDBHandler>();
dataContext.SaveObjectType(objectType, dbHandler.Object);
dbHandler.Verify( x => x.SaveObjectType(objectType), Times.Once());
public class ObjectAttribute
DBManager dbManager = new DBManager();
private IDBHandler dbHandler;
public void SaveObjectType(ObjectType objectType, IDBHandler _dbHandler)
dbHandler.SaveObjectType(objectType);
public int GetObjectTypeCount()
IDBHandler dbHandler = dbManager.PersistenceType("file");
int objectCount = dbHandler.GetObjectTypeCount();
public class ObjectInstance
DBManager dbManager = new DBManager();
private IDBHandler dbHandler;
public void SaveObjectInstance(ObjectInstanceType objectInstanceType, IDBHandler _dbHandler)
dbHandler.SaveObjectInstance(objectInstanceType);
public int GetObjectInstanceCount(string objectTypeName)
IDBHandler dbHandler = dbManager.PersistenceType("file");
int objectCount = dbHandler.GetObjectInstanceCount(objectTypeName);
public interface IDBHandler
public void SaveObjectType(ObjectType objectType);
public int GetObjectTypeCount();
public void SaveObjectInstance(ObjectInstanceType objectType);
public int GetObjectInstanceCount(string objectTypeName);
public class FilePersist : IDBHandler
private static List<ObjectType> objectTypes = new List<ObjectType>();
private static List<ObjectInstanceType> objectInstanceTypes = new List<ObjectInstanceType>();
public void SaveObjectType(ObjectType objectType)
Console.WriteLine("File");
objectTypes.Add(objectType);
public void SaveObjectInstance(ObjectInstanceType objectInstanceType)
Console.WriteLine("File");
objectInstanceTypes.Add(objectInstanceType);
public int GetObjectTypeCount()
return objectTypes.Count;
public int GetObjectInstanceCount(string objectTypeName)
return objectInstanceTypes.Count;
public IDBHandler PersistenceType(string persistenceType)
return new FilePersist();
public string ObjectTypeName;
public Dictionary<string, string> ObjectTypeAttributes;
public class ObjectInstanceType
public string ObjectTypeName;
public string ObjectInstanceName;
public Dictionary<string, string> ObjectTypeInstanceAttributes;
public static void Main()
var x = new NUnitLite.AutoRun().Execute(new string[]{"--test:ObjectAttributesAndInstancesTest", "--noc"});
Console.WriteLine("----------------------------------------------");
Console.WriteLine(x==0?"All Test Passed... :¬)": string.Format("{0} tests failed... :¬(", x));
Console.WriteLine("----------------------------------------------");